// Code generated by protoc-gen-go-pulsar. DO NOT EDIT.
package emissionsv2

import (
	fmt "fmt"
	_ "github.com/cosmos/cosmos-proto"
	runtime "github.com/cosmos/cosmos-proto/runtime"
	_ "github.com/cosmos/cosmos-sdk/types/msgservice"
	_ "github.com/cosmos/cosmos-sdk/types/tx/amino"
	_ "github.com/cosmos/gogoproto/gogoproto"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoiface "google.golang.org/protobuf/runtime/protoiface"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	io "io"
	reflect "reflect"
	sync "sync"
)

var _ protoreflect.List = (*_OptionalParams_1_list)(nil)

type _OptionalParams_1_list struct {
	list *[]string
}

func (x *_OptionalParams_1_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_1_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfString((*x.list)[i])
}

func (x *_OptionalParams_1_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_1_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_1_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field Version as it is not of Message kind"))
}

func (x *_OptionalParams_1_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_1_list) NewElement() protoreflect.Value {
	v := ""
	return protoreflect.ValueOfString(v)
}

func (x *_OptionalParams_1_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_2_list)(nil)

type _OptionalParams_2_list struct {
	list *[]int64
}

func (x *_OptionalParams_2_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_2_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfInt64((*x.list)[i])
}

func (x *_OptionalParams_2_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.Int()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_2_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.Int()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_2_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field MaxSerializedMsgLength as it is not of Message kind"))
}

func (x *_OptionalParams_2_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_2_list) NewElement() protoreflect.Value {
	v := int64(0)
	return protoreflect.ValueOfInt64(v)
}

func (x *_OptionalParams_2_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_3_list)(nil)

type _OptionalParams_3_list struct {
	list *[]string
}

func (x *_OptionalParams_3_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_3_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfString((*x.list)[i])
}

func (x *_OptionalParams_3_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_3_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_3_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field MinTopicWeight as it is not of Message kind"))
}

func (x *_OptionalParams_3_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_3_list) NewElement() protoreflect.Value {
	v := ""
	return protoreflect.ValueOfString(v)
}

func (x *_OptionalParams_3_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_4_list)(nil)

type _OptionalParams_4_list struct {
	list *[]uint64
}

func (x *_OptionalParams_4_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_4_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfUint64((*x.list)[i])
}

func (x *_OptionalParams_4_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.Uint()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_4_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.Uint()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_4_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field MaxTopicsPerBlock as it is not of Message kind"))
}

func (x *_OptionalParams_4_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_4_list) NewElement() protoreflect.Value {
	v := uint64(0)
	return protoreflect.ValueOfUint64(v)
}

func (x *_OptionalParams_4_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_5_list)(nil)

type _OptionalParams_5_list struct {
	list *[]string
}

func (x *_OptionalParams_5_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_5_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfString((*x.list)[i])
}

func (x *_OptionalParams_5_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_5_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_5_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field RequiredMinimumStake as it is not of Message kind"))
}

func (x *_OptionalParams_5_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_5_list) NewElement() protoreflect.Value {
	v := ""
	return protoreflect.ValueOfString(v)
}

func (x *_OptionalParams_5_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_6_list)(nil)

type _OptionalParams_6_list struct {
	list *[]int64
}

func (x *_OptionalParams_6_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_6_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfInt64((*x.list)[i])
}

func (x *_OptionalParams_6_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.Int()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_6_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.Int()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_6_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field RemoveStakeDelayWindow as it is not of Message kind"))
}

func (x *_OptionalParams_6_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_6_list) NewElement() protoreflect.Value {
	v := int64(0)
	return protoreflect.ValueOfInt64(v)
}

func (x *_OptionalParams_6_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_7_list)(nil)

type _OptionalParams_7_list struct {
	list *[]int64
}

func (x *_OptionalParams_7_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_7_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfInt64((*x.list)[i])
}

func (x *_OptionalParams_7_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.Int()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_7_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.Int()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_7_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field MinEpochLength as it is not of Message kind"))
}

func (x *_OptionalParams_7_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_7_list) NewElement() protoreflect.Value {
	v := int64(0)
	return protoreflect.ValueOfInt64(v)
}

func (x *_OptionalParams_7_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_8_list)(nil)

type _OptionalParams_8_list struct {
	list *[]string
}

func (x *_OptionalParams_8_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_8_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfString((*x.list)[i])
}

func (x *_OptionalParams_8_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_8_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_8_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field BetaEntropy as it is not of Message kind"))
}

func (x *_OptionalParams_8_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_8_list) NewElement() protoreflect.Value {
	v := ""
	return protoreflect.ValueOfString(v)
}

func (x *_OptionalParams_8_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_9_list)(nil)

type _OptionalParams_9_list struct {
	list *[]string
}

func (x *_OptionalParams_9_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_9_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfString((*x.list)[i])
}

func (x *_OptionalParams_9_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_9_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_9_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field LearningRate as it is not of Message kind"))
}

func (x *_OptionalParams_9_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_9_list) NewElement() protoreflect.Value {
	v := ""
	return protoreflect.ValueOfString(v)
}

func (x *_OptionalParams_9_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_10_list)(nil)

type _OptionalParams_10_list struct {
	list *[]string
}

func (x *_OptionalParams_10_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_10_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfString((*x.list)[i])
}

func (x *_OptionalParams_10_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_10_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_10_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field MaxGradientThreshold as it is not of Message kind"))
}

func (x *_OptionalParams_10_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_10_list) NewElement() protoreflect.Value {
	v := ""
	return protoreflect.ValueOfString(v)
}

func (x *_OptionalParams_10_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_11_list)(nil)

type _OptionalParams_11_list struct {
	list *[]string
}

func (x *_OptionalParams_11_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_11_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfString((*x.list)[i])
}

func (x *_OptionalParams_11_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_11_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_11_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field MinStakeFraction as it is not of Message kind"))
}

func (x *_OptionalParams_11_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_11_list) NewElement() protoreflect.Value {
	v := ""
	return protoreflect.ValueOfString(v)
}

func (x *_OptionalParams_11_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_13_list)(nil)

type _OptionalParams_13_list struct {
	list *[]uint64
}

func (x *_OptionalParams_13_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_13_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfUint64((*x.list)[i])
}

func (x *_OptionalParams_13_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.Uint()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_13_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.Uint()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_13_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field MaxUnfulfilledWorkerRequests as it is not of Message kind"))
}

func (x *_OptionalParams_13_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_13_list) NewElement() protoreflect.Value {
	v := uint64(0)
	return protoreflect.ValueOfUint64(v)
}

func (x *_OptionalParams_13_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_14_list)(nil)

type _OptionalParams_14_list struct {
	list *[]uint64
}

func (x *_OptionalParams_14_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_14_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfUint64((*x.list)[i])
}

func (x *_OptionalParams_14_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.Uint()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_14_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.Uint()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_14_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field MaxUnfulfilledReputerRequests as it is not of Message kind"))
}

func (x *_OptionalParams_14_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_14_list) NewElement() protoreflect.Value {
	v := uint64(0)
	return protoreflect.ValueOfUint64(v)
}

func (x *_OptionalParams_14_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_15_list)(nil)

type _OptionalParams_15_list struct {
	list *[]string
}

func (x *_OptionalParams_15_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_15_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfString((*x.list)[i])
}

func (x *_OptionalParams_15_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_15_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_15_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field TopicRewardStakeImportance as it is not of Message kind"))
}

func (x *_OptionalParams_15_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_15_list) NewElement() protoreflect.Value {
	v := ""
	return protoreflect.ValueOfString(v)
}

func (x *_OptionalParams_15_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_16_list)(nil)

type _OptionalParams_16_list struct {
	list *[]string
}

func (x *_OptionalParams_16_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_16_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfString((*x.list)[i])
}

func (x *_OptionalParams_16_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_16_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_16_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field TopicRewardFeeRevenueImportance as it is not of Message kind"))
}

func (x *_OptionalParams_16_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_16_list) NewElement() protoreflect.Value {
	v := ""
	return protoreflect.ValueOfString(v)
}

func (x *_OptionalParams_16_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_17_list)(nil)

type _OptionalParams_17_list struct {
	list *[]string
}

func (x *_OptionalParams_17_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_17_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfString((*x.list)[i])
}

func (x *_OptionalParams_17_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_17_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_17_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field TopicRewardAlpha as it is not of Message kind"))
}

func (x *_OptionalParams_17_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_17_list) NewElement() protoreflect.Value {
	v := ""
	return protoreflect.ValueOfString(v)
}

func (x *_OptionalParams_17_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_18_list)(nil)

type _OptionalParams_18_list struct {
	list *[]string
}

func (x *_OptionalParams_18_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_18_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfString((*x.list)[i])
}

func (x *_OptionalParams_18_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_18_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_18_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field TaskRewardAlpha as it is not of Message kind"))
}

func (x *_OptionalParams_18_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_18_list) NewElement() protoreflect.Value {
	v := ""
	return protoreflect.ValueOfString(v)
}

func (x *_OptionalParams_18_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_19_list)(nil)

type _OptionalParams_19_list struct {
	list *[]string
}

func (x *_OptionalParams_19_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_19_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfString((*x.list)[i])
}

func (x *_OptionalParams_19_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_19_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_19_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field ValidatorsVsAlloraPercentReward as it is not of Message kind"))
}

func (x *_OptionalParams_19_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_19_list) NewElement() protoreflect.Value {
	v := ""
	return protoreflect.ValueOfString(v)
}

func (x *_OptionalParams_19_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_20_list)(nil)

type _OptionalParams_20_list struct {
	list *[]uint64
}

func (x *_OptionalParams_20_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_20_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfUint64((*x.list)[i])
}

func (x *_OptionalParams_20_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.Uint()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_20_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.Uint()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_20_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field MaxSamplesToScaleScores as it is not of Message kind"))
}

func (x *_OptionalParams_20_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_20_list) NewElement() protoreflect.Value {
	v := uint64(0)
	return protoreflect.ValueOfUint64(v)
}

func (x *_OptionalParams_20_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_21_list)(nil)

type _OptionalParams_21_list struct {
	list *[]uint64
}

func (x *_OptionalParams_21_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_21_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfUint64((*x.list)[i])
}

func (x *_OptionalParams_21_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.Uint()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_21_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.Uint()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_21_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field MaxTopInferersToReward as it is not of Message kind"))
}

func (x *_OptionalParams_21_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_21_list) NewElement() protoreflect.Value {
	v := uint64(0)
	return protoreflect.ValueOfUint64(v)
}

func (x *_OptionalParams_21_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_22_list)(nil)

type _OptionalParams_22_list struct {
	list *[]uint64
}

func (x *_OptionalParams_22_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_22_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfUint64((*x.list)[i])
}

func (x *_OptionalParams_22_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.Uint()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_22_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.Uint()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_22_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field MaxTopForecastersToReward as it is not of Message kind"))
}

func (x *_OptionalParams_22_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_22_list) NewElement() protoreflect.Value {
	v := uint64(0)
	return protoreflect.ValueOfUint64(v)
}

func (x *_OptionalParams_22_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_23_list)(nil)

type _OptionalParams_23_list struct {
	list *[]uint64
}

func (x *_OptionalParams_23_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_23_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfUint64((*x.list)[i])
}

func (x *_OptionalParams_23_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.Uint()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_23_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.Uint()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_23_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field MaxTopReputersToReward as it is not of Message kind"))
}

func (x *_OptionalParams_23_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_23_list) NewElement() protoreflect.Value {
	v := uint64(0)
	return protoreflect.ValueOfUint64(v)
}

func (x *_OptionalParams_23_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_24_list)(nil)

type _OptionalParams_24_list struct {
	list *[]string
}

func (x *_OptionalParams_24_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_24_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfString((*x.list)[i])
}

func (x *_OptionalParams_24_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_24_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_24_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field CreateTopicFee as it is not of Message kind"))
}

func (x *_OptionalParams_24_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_24_list) NewElement() protoreflect.Value {
	v := ""
	return protoreflect.ValueOfString(v)
}

func (x *_OptionalParams_24_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_25_list)(nil)

type _OptionalParams_25_list struct {
	list *[]uint64
}

func (x *_OptionalParams_25_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_25_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfUint64((*x.list)[i])
}

func (x *_OptionalParams_25_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.Uint()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_25_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.Uint()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_25_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field GradientDescentMaxIters as it is not of Message kind"))
}

func (x *_OptionalParams_25_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_25_list) NewElement() protoreflect.Value {
	v := uint64(0)
	return protoreflect.ValueOfUint64(v)
}

func (x *_OptionalParams_25_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_26_list)(nil)

type _OptionalParams_26_list struct {
	list *[]int64
}

func (x *_OptionalParams_26_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_26_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfInt64((*x.list)[i])
}

func (x *_OptionalParams_26_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.Int()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_26_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.Int()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_26_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field MaxRetriesToFulfilNoncesWorker as it is not of Message kind"))
}

func (x *_OptionalParams_26_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_26_list) NewElement() protoreflect.Value {
	v := int64(0)
	return protoreflect.ValueOfInt64(v)
}

func (x *_OptionalParams_26_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_27_list)(nil)

type _OptionalParams_27_list struct {
	list *[]int64
}

func (x *_OptionalParams_27_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_27_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfInt64((*x.list)[i])
}

func (x *_OptionalParams_27_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.Int()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_27_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.Int()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_27_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field MaxRetriesToFulfilNoncesReputer as it is not of Message kind"))
}

func (x *_OptionalParams_27_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_27_list) NewElement() protoreflect.Value {
	v := int64(0)
	return protoreflect.ValueOfInt64(v)
}

func (x *_OptionalParams_27_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_28_list)(nil)

type _OptionalParams_28_list struct {
	list *[]string
}

func (x *_OptionalParams_28_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_28_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfString((*x.list)[i])
}

func (x *_OptionalParams_28_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_28_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_28_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field RegistrationFee as it is not of Message kind"))
}

func (x *_OptionalParams_28_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_28_list) NewElement() protoreflect.Value {
	v := ""
	return protoreflect.ValueOfString(v)
}

func (x *_OptionalParams_28_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_29_list)(nil)

type _OptionalParams_29_list struct {
	list *[]uint64
}

func (x *_OptionalParams_29_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_29_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfUint64((*x.list)[i])
}

func (x *_OptionalParams_29_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.Uint()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_29_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.Uint()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_29_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field DefaultPageLimit as it is not of Message kind"))
}

func (x *_OptionalParams_29_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_29_list) NewElement() protoreflect.Value {
	v := uint64(0)
	return protoreflect.ValueOfUint64(v)
}

func (x *_OptionalParams_29_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_30_list)(nil)

type _OptionalParams_30_list struct {
	list *[]uint64
}

func (x *_OptionalParams_30_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_30_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfUint64((*x.list)[i])
}

func (x *_OptionalParams_30_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.Uint()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_30_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.Uint()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_30_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field MaxPageLimit as it is not of Message kind"))
}

func (x *_OptionalParams_30_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_30_list) NewElement() protoreflect.Value {
	v := uint64(0)
	return protoreflect.ValueOfUint64(v)
}

func (x *_OptionalParams_30_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_31_list)(nil)

type _OptionalParams_31_list struct {
	list *[]int64
}

func (x *_OptionalParams_31_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_31_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfInt64((*x.list)[i])
}

func (x *_OptionalParams_31_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.Int()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_31_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.Int()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_31_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field MinEpochLengthRecordLimit as it is not of Message kind"))
}

func (x *_OptionalParams_31_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_31_list) NewElement() protoreflect.Value {
	v := int64(0)
	return protoreflect.ValueOfInt64(v)
}

func (x *_OptionalParams_31_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_32_list)(nil)

type _OptionalParams_32_list struct {
	list *[]uint64
}

func (x *_OptionalParams_32_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_32_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfUint64((*x.list)[i])
}

func (x *_OptionalParams_32_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.Uint()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_32_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.Uint()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_32_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field BlocksPerMonth as it is not of Message kind"))
}

func (x *_OptionalParams_32_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_32_list) NewElement() protoreflect.Value {
	v := uint64(0)
	return protoreflect.ValueOfUint64(v)
}

func (x *_OptionalParams_32_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_33_list)(nil)

type _OptionalParams_33_list struct {
	list *[]string
}

func (x *_OptionalParams_33_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_33_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfString((*x.list)[i])
}

func (x *_OptionalParams_33_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_33_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_33_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field PRewardInference as it is not of Message kind"))
}

func (x *_OptionalParams_33_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_33_list) NewElement() protoreflect.Value {
	v := ""
	return protoreflect.ValueOfString(v)
}

func (x *_OptionalParams_33_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_34_list)(nil)

type _OptionalParams_34_list struct {
	list *[]string
}

func (x *_OptionalParams_34_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_34_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfString((*x.list)[i])
}

func (x *_OptionalParams_34_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_34_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_34_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field PRewardForecast as it is not of Message kind"))
}

func (x *_OptionalParams_34_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_34_list) NewElement() protoreflect.Value {
	v := ""
	return protoreflect.ValueOfString(v)
}

func (x *_OptionalParams_34_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_35_list)(nil)

type _OptionalParams_35_list struct {
	list *[]string
}

func (x *_OptionalParams_35_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_35_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfString((*x.list)[i])
}

func (x *_OptionalParams_35_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_35_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_35_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field PRewardReputer as it is not of Message kind"))
}

func (x *_OptionalParams_35_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_35_list) NewElement() protoreflect.Value {
	v := ""
	return protoreflect.ValueOfString(v)
}

func (x *_OptionalParams_35_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_36_list)(nil)

type _OptionalParams_36_list struct {
	list *[]string
}

func (x *_OptionalParams_36_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_36_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfString((*x.list)[i])
}

func (x *_OptionalParams_36_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_36_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_36_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field CRewardInference as it is not of Message kind"))
}

func (x *_OptionalParams_36_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_36_list) NewElement() protoreflect.Value {
	v := ""
	return protoreflect.ValueOfString(v)
}

func (x *_OptionalParams_36_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_37_list)(nil)

type _OptionalParams_37_list struct {
	list *[]string
}

func (x *_OptionalParams_37_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_37_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfString((*x.list)[i])
}

func (x *_OptionalParams_37_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_37_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_37_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field CRewardForecast as it is not of Message kind"))
}

func (x *_OptionalParams_37_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_37_list) NewElement() protoreflect.Value {
	v := ""
	return protoreflect.ValueOfString(v)
}

func (x *_OptionalParams_37_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_38_list)(nil)

type _OptionalParams_38_list struct {
	list *[]string
}

func (x *_OptionalParams_38_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_38_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfString((*x.list)[i])
}

func (x *_OptionalParams_38_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_38_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_38_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field CNorm as it is not of Message kind"))
}

func (x *_OptionalParams_38_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_38_list) NewElement() protoreflect.Value {
	v := ""
	return protoreflect.ValueOfString(v)
}

func (x *_OptionalParams_38_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_39_list)(nil)

type _OptionalParams_39_list struct {
	list *[]string
}

func (x *_OptionalParams_39_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_39_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfString((*x.list)[i])
}

func (x *_OptionalParams_39_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_39_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_39_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field TopicFeeRevenueDecayRate as it is not of Message kind"))
}

func (x *_OptionalParams_39_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_39_list) NewElement() protoreflect.Value {
	v := ""
	return protoreflect.ValueOfString(v)
}

func (x *_OptionalParams_39_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_40_list)(nil)

type _OptionalParams_40_list struct {
	list *[]string
}

func (x *_OptionalParams_40_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_40_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfString((*x.list)[i])
}

func (x *_OptionalParams_40_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_40_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_40_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field EpsilonReputer as it is not of Message kind"))
}

func (x *_OptionalParams_40_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_40_list) NewElement() protoreflect.Value {
	v := ""
	return protoreflect.ValueOfString(v)
}

func (x *_OptionalParams_40_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_41_list)(nil)

type _OptionalParams_41_list struct {
	list *[]string
}

func (x *_OptionalParams_41_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_41_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfString((*x.list)[i])
}

func (x *_OptionalParams_41_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_41_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_41_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field MinEffectiveTopicRevenue as it is not of Message kind"))
}

func (x *_OptionalParams_41_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_41_list) NewElement() protoreflect.Value {
	v := ""
	return protoreflect.ValueOfString(v)
}

func (x *_OptionalParams_41_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_42_list)(nil)

type _OptionalParams_42_list struct {
	list *[]uint64
}

func (x *_OptionalParams_42_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_42_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfUint64((*x.list)[i])
}

func (x *_OptionalParams_42_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.Uint()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_42_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.Uint()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_42_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field HalfMaxProcessStakeRemovalsEndBlock as it is not of Message kind"))
}

func (x *_OptionalParams_42_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_42_list) NewElement() protoreflect.Value {
	v := uint64(0)
	return protoreflect.ValueOfUint64(v)
}

func (x *_OptionalParams_42_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_43_list)(nil)

type _OptionalParams_43_list struct {
	list *[]string
}

func (x *_OptionalParams_43_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_43_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfString((*x.list)[i])
}

func (x *_OptionalParams_43_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_43_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_43_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field DataSendingFee as it is not of Message kind"))
}

func (x *_OptionalParams_43_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_43_list) NewElement() protoreflect.Value {
	v := ""
	return protoreflect.ValueOfString(v)
}

func (x *_OptionalParams_43_list) IsValid() bool {
	return x.list != nil
}

var _ protoreflect.List = (*_OptionalParams_44_list)(nil)

type _OptionalParams_44_list struct {
	list *[]string
}

func (x *_OptionalParams_44_list) Len() int {
	if x.list == nil {
		return 0
	}
	return len(*x.list)
}

func (x *_OptionalParams_44_list) Get(i int) protoreflect.Value {
	return protoreflect.ValueOfString((*x.list)[i])
}

func (x *_OptionalParams_44_list) Set(i int, value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	(*x.list)[i] = concreteValue
}

func (x *_OptionalParams_44_list) Append(value protoreflect.Value) {
	valueUnwrapped := value.String()
	concreteValue := valueUnwrapped
	*x.list = append(*x.list, concreteValue)
}

func (x *_OptionalParams_44_list) AppendMutable() protoreflect.Value {
	panic(fmt.Errorf("AppendMutable can not be called on message OptionalParams at list field EpsilonSafeDiv as it is not of Message kind"))
}

func (x *_OptionalParams_44_list) Truncate(n int) {
	*x.list = (*x.list)[:n]
}

func (x *_OptionalParams_44_list) NewElement() protoreflect.Value {
	v := ""
	return protoreflect.ValueOfString(v)
}

func (x *_OptionalParams_44_list) IsValid() bool {
	return x.list != nil
}

var (
	md_OptionalParams                                           protoreflect.MessageDescriptor
	fd_OptionalParams_version                                   protoreflect.FieldDescriptor
	fd_OptionalParams_max_serialized_msg_length                 protoreflect.FieldDescriptor
	fd_OptionalParams_min_topic_weight                          protoreflect.FieldDescriptor
	fd_OptionalParams_max_topics_per_block                      protoreflect.FieldDescriptor
	fd_OptionalParams_required_minimum_stake                    protoreflect.FieldDescriptor
	fd_OptionalParams_remove_stake_delay_window                 protoreflect.FieldDescriptor
	fd_OptionalParams_min_epoch_length                          protoreflect.FieldDescriptor
	fd_OptionalParams_beta_entropy                              protoreflect.FieldDescriptor
	fd_OptionalParams_learning_rate                             protoreflect.FieldDescriptor
	fd_OptionalParams_max_gradient_threshold                    protoreflect.FieldDescriptor
	fd_OptionalParams_min_stake_fraction                        protoreflect.FieldDescriptor
	fd_OptionalParams_max_unfulfilled_worker_requests           protoreflect.FieldDescriptor
	fd_OptionalParams_max_unfulfilled_reputer_requests          protoreflect.FieldDescriptor
	fd_OptionalParams_topic_reward_stake_importance             protoreflect.FieldDescriptor
	fd_OptionalParams_topic_reward_fee_revenue_importance       protoreflect.FieldDescriptor
	fd_OptionalParams_topic_reward_alpha                        protoreflect.FieldDescriptor
	fd_OptionalParams_task_reward_alpha                         protoreflect.FieldDescriptor
	fd_OptionalParams_validators_vs_allora_percent_reward       protoreflect.FieldDescriptor
	fd_OptionalParams_max_samples_to_scale_scores               protoreflect.FieldDescriptor
	fd_OptionalParams_max_top_inferers_to_reward                protoreflect.FieldDescriptor
	fd_OptionalParams_max_top_forecasters_to_reward             protoreflect.FieldDescriptor
	fd_OptionalParams_max_top_reputers_to_reward                protoreflect.FieldDescriptor
	fd_OptionalParams_create_topic_fee                          protoreflect.FieldDescriptor
	fd_OptionalParams_gradient_descent_max_iters                protoreflect.FieldDescriptor
	fd_OptionalParams_max_retries_to_fulfil_nonces_worker       protoreflect.FieldDescriptor
	fd_OptionalParams_max_retries_to_fulfil_nonces_reputer      protoreflect.FieldDescriptor
	fd_OptionalParams_registration_fee                          protoreflect.FieldDescriptor
	fd_OptionalParams_default_page_limit                        protoreflect.FieldDescriptor
	fd_OptionalParams_max_page_limit                            protoreflect.FieldDescriptor
	fd_OptionalParams_min_epoch_length_record_limit             protoreflect.FieldDescriptor
	fd_OptionalParams_blocks_per_month                          protoreflect.FieldDescriptor
	fd_OptionalParams_p_reward_inference                        protoreflect.FieldDescriptor
	fd_OptionalParams_p_reward_forecast                         protoreflect.FieldDescriptor
	fd_OptionalParams_p_reward_reputer                          protoreflect.FieldDescriptor
	fd_OptionalParams_c_reward_inference                        protoreflect.FieldDescriptor
	fd_OptionalParams_c_reward_forecast                         protoreflect.FieldDescriptor
	fd_OptionalParams_c_norm                                    protoreflect.FieldDescriptor
	fd_OptionalParams_topic_fee_revenue_decay_rate              protoreflect.FieldDescriptor
	fd_OptionalParams_epsilon_reputer                           protoreflect.FieldDescriptor
	fd_OptionalParams_min_effective_topic_revenue               protoreflect.FieldDescriptor
	fd_OptionalParams_half_max_process_stake_removals_end_block protoreflect.FieldDescriptor
	fd_OptionalParams_data_sending_fee                          protoreflect.FieldDescriptor
	fd_OptionalParams_epsilon_safe_div                          protoreflect.FieldDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_OptionalParams = File_emissions_v2_tx_proto.Messages().ByName("OptionalParams")
	fd_OptionalParams_version = md_OptionalParams.Fields().ByName("version")
	fd_OptionalParams_max_serialized_msg_length = md_OptionalParams.Fields().ByName("max_serialized_msg_length")
	fd_OptionalParams_min_topic_weight = md_OptionalParams.Fields().ByName("min_topic_weight")
	fd_OptionalParams_max_topics_per_block = md_OptionalParams.Fields().ByName("max_topics_per_block")
	fd_OptionalParams_required_minimum_stake = md_OptionalParams.Fields().ByName("required_minimum_stake")
	fd_OptionalParams_remove_stake_delay_window = md_OptionalParams.Fields().ByName("remove_stake_delay_window")
	fd_OptionalParams_min_epoch_length = md_OptionalParams.Fields().ByName("min_epoch_length")
	fd_OptionalParams_beta_entropy = md_OptionalParams.Fields().ByName("beta_entropy")
	fd_OptionalParams_learning_rate = md_OptionalParams.Fields().ByName("learning_rate")
	fd_OptionalParams_max_gradient_threshold = md_OptionalParams.Fields().ByName("max_gradient_threshold")
	fd_OptionalParams_min_stake_fraction = md_OptionalParams.Fields().ByName("min_stake_fraction")
	fd_OptionalParams_max_unfulfilled_worker_requests = md_OptionalParams.Fields().ByName("max_unfulfilled_worker_requests")
	fd_OptionalParams_max_unfulfilled_reputer_requests = md_OptionalParams.Fields().ByName("max_unfulfilled_reputer_requests")
	fd_OptionalParams_topic_reward_stake_importance = md_OptionalParams.Fields().ByName("topic_reward_stake_importance")
	fd_OptionalParams_topic_reward_fee_revenue_importance = md_OptionalParams.Fields().ByName("topic_reward_fee_revenue_importance")
	fd_OptionalParams_topic_reward_alpha = md_OptionalParams.Fields().ByName("topic_reward_alpha")
	fd_OptionalParams_task_reward_alpha = md_OptionalParams.Fields().ByName("task_reward_alpha")
	fd_OptionalParams_validators_vs_allora_percent_reward = md_OptionalParams.Fields().ByName("validators_vs_allora_percent_reward")
	fd_OptionalParams_max_samples_to_scale_scores = md_OptionalParams.Fields().ByName("max_samples_to_scale_scores")
	fd_OptionalParams_max_top_inferers_to_reward = md_OptionalParams.Fields().ByName("max_top_inferers_to_reward")
	fd_OptionalParams_max_top_forecasters_to_reward = md_OptionalParams.Fields().ByName("max_top_forecasters_to_reward")
	fd_OptionalParams_max_top_reputers_to_reward = md_OptionalParams.Fields().ByName("max_top_reputers_to_reward")
	fd_OptionalParams_create_topic_fee = md_OptionalParams.Fields().ByName("create_topic_fee")
	fd_OptionalParams_gradient_descent_max_iters = md_OptionalParams.Fields().ByName("gradient_descent_max_iters")
	fd_OptionalParams_max_retries_to_fulfil_nonces_worker = md_OptionalParams.Fields().ByName("max_retries_to_fulfil_nonces_worker")
	fd_OptionalParams_max_retries_to_fulfil_nonces_reputer = md_OptionalParams.Fields().ByName("max_retries_to_fulfil_nonces_reputer")
	fd_OptionalParams_registration_fee = md_OptionalParams.Fields().ByName("registration_fee")
	fd_OptionalParams_default_page_limit = md_OptionalParams.Fields().ByName("default_page_limit")
	fd_OptionalParams_max_page_limit = md_OptionalParams.Fields().ByName("max_page_limit")
	fd_OptionalParams_min_epoch_length_record_limit = md_OptionalParams.Fields().ByName("min_epoch_length_record_limit")
	fd_OptionalParams_blocks_per_month = md_OptionalParams.Fields().ByName("blocks_per_month")
	fd_OptionalParams_p_reward_inference = md_OptionalParams.Fields().ByName("p_reward_inference")
	fd_OptionalParams_p_reward_forecast = md_OptionalParams.Fields().ByName("p_reward_forecast")
	fd_OptionalParams_p_reward_reputer = md_OptionalParams.Fields().ByName("p_reward_reputer")
	fd_OptionalParams_c_reward_inference = md_OptionalParams.Fields().ByName("c_reward_inference")
	fd_OptionalParams_c_reward_forecast = md_OptionalParams.Fields().ByName("c_reward_forecast")
	fd_OptionalParams_c_norm = md_OptionalParams.Fields().ByName("c_norm")
	fd_OptionalParams_topic_fee_revenue_decay_rate = md_OptionalParams.Fields().ByName("topic_fee_revenue_decay_rate")
	fd_OptionalParams_epsilon_reputer = md_OptionalParams.Fields().ByName("epsilon_reputer")
	fd_OptionalParams_min_effective_topic_revenue = md_OptionalParams.Fields().ByName("min_effective_topic_revenue")
	fd_OptionalParams_half_max_process_stake_removals_end_block = md_OptionalParams.Fields().ByName("half_max_process_stake_removals_end_block")
	fd_OptionalParams_data_sending_fee = md_OptionalParams.Fields().ByName("data_sending_fee")
	fd_OptionalParams_epsilon_safe_div = md_OptionalParams.Fields().ByName("epsilon_safe_div")
}

var _ protoreflect.Message = (*fastReflection_OptionalParams)(nil)

type fastReflection_OptionalParams OptionalParams

func (x *OptionalParams) ProtoReflect() protoreflect.Message {
	return (*fastReflection_OptionalParams)(x)
}

func (x *OptionalParams) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_tx_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

var _fastReflection_OptionalParams_messageType fastReflection_OptionalParams_messageType
var _ protoreflect.MessageType = fastReflection_OptionalParams_messageType{}

type fastReflection_OptionalParams_messageType struct{}

func (x fastReflection_OptionalParams_messageType) Zero() protoreflect.Message {
	return (*fastReflection_OptionalParams)(nil)
}
func (x fastReflection_OptionalParams_messageType) New() protoreflect.Message {
	return new(fastReflection_OptionalParams)
}
func (x fastReflection_OptionalParams_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_OptionalParams
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_OptionalParams) Descriptor() protoreflect.MessageDescriptor {
	return md_OptionalParams
}

// 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_OptionalParams) Type() protoreflect.MessageType {
	return _fastReflection_OptionalParams_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_OptionalParams) New() protoreflect.Message {
	return new(fastReflection_OptionalParams)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_OptionalParams) Interface() protoreflect.ProtoMessage {
	return (*OptionalParams)(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_OptionalParams) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
	if len(x.Version) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_1_list{list: &x.Version})
		if !f(fd_OptionalParams_version, value) {
			return
		}
	}
	if len(x.MaxSerializedMsgLength) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_2_list{list: &x.MaxSerializedMsgLength})
		if !f(fd_OptionalParams_max_serialized_msg_length, value) {
			return
		}
	}
	if len(x.MinTopicWeight) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_3_list{list: &x.MinTopicWeight})
		if !f(fd_OptionalParams_min_topic_weight, value) {
			return
		}
	}
	if len(x.MaxTopicsPerBlock) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_4_list{list: &x.MaxTopicsPerBlock})
		if !f(fd_OptionalParams_max_topics_per_block, value) {
			return
		}
	}
	if len(x.RequiredMinimumStake) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_5_list{list: &x.RequiredMinimumStake})
		if !f(fd_OptionalParams_required_minimum_stake, value) {
			return
		}
	}
	if len(x.RemoveStakeDelayWindow) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_6_list{list: &x.RemoveStakeDelayWindow})
		if !f(fd_OptionalParams_remove_stake_delay_window, value) {
			return
		}
	}
	if len(x.MinEpochLength) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_7_list{list: &x.MinEpochLength})
		if !f(fd_OptionalParams_min_epoch_length, value) {
			return
		}
	}
	if len(x.BetaEntropy) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_8_list{list: &x.BetaEntropy})
		if !f(fd_OptionalParams_beta_entropy, value) {
			return
		}
	}
	if len(x.LearningRate) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_9_list{list: &x.LearningRate})
		if !f(fd_OptionalParams_learning_rate, value) {
			return
		}
	}
	if len(x.MaxGradientThreshold) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_10_list{list: &x.MaxGradientThreshold})
		if !f(fd_OptionalParams_max_gradient_threshold, value) {
			return
		}
	}
	if len(x.MinStakeFraction) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_11_list{list: &x.MinStakeFraction})
		if !f(fd_OptionalParams_min_stake_fraction, value) {
			return
		}
	}
	if len(x.MaxUnfulfilledWorkerRequests) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_13_list{list: &x.MaxUnfulfilledWorkerRequests})
		if !f(fd_OptionalParams_max_unfulfilled_worker_requests, value) {
			return
		}
	}
	if len(x.MaxUnfulfilledReputerRequests) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_14_list{list: &x.MaxUnfulfilledReputerRequests})
		if !f(fd_OptionalParams_max_unfulfilled_reputer_requests, value) {
			return
		}
	}
	if len(x.TopicRewardStakeImportance) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_15_list{list: &x.TopicRewardStakeImportance})
		if !f(fd_OptionalParams_topic_reward_stake_importance, value) {
			return
		}
	}
	if len(x.TopicRewardFeeRevenueImportance) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_16_list{list: &x.TopicRewardFeeRevenueImportance})
		if !f(fd_OptionalParams_topic_reward_fee_revenue_importance, value) {
			return
		}
	}
	if len(x.TopicRewardAlpha) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_17_list{list: &x.TopicRewardAlpha})
		if !f(fd_OptionalParams_topic_reward_alpha, value) {
			return
		}
	}
	if len(x.TaskRewardAlpha) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_18_list{list: &x.TaskRewardAlpha})
		if !f(fd_OptionalParams_task_reward_alpha, value) {
			return
		}
	}
	if len(x.ValidatorsVsAlloraPercentReward) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_19_list{list: &x.ValidatorsVsAlloraPercentReward})
		if !f(fd_OptionalParams_validators_vs_allora_percent_reward, value) {
			return
		}
	}
	if len(x.MaxSamplesToScaleScores) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_20_list{list: &x.MaxSamplesToScaleScores})
		if !f(fd_OptionalParams_max_samples_to_scale_scores, value) {
			return
		}
	}
	if len(x.MaxTopInferersToReward) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_21_list{list: &x.MaxTopInferersToReward})
		if !f(fd_OptionalParams_max_top_inferers_to_reward, value) {
			return
		}
	}
	if len(x.MaxTopForecastersToReward) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_22_list{list: &x.MaxTopForecastersToReward})
		if !f(fd_OptionalParams_max_top_forecasters_to_reward, value) {
			return
		}
	}
	if len(x.MaxTopReputersToReward) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_23_list{list: &x.MaxTopReputersToReward})
		if !f(fd_OptionalParams_max_top_reputers_to_reward, value) {
			return
		}
	}
	if len(x.CreateTopicFee) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_24_list{list: &x.CreateTopicFee})
		if !f(fd_OptionalParams_create_topic_fee, value) {
			return
		}
	}
	if len(x.GradientDescentMaxIters) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_25_list{list: &x.GradientDescentMaxIters})
		if !f(fd_OptionalParams_gradient_descent_max_iters, value) {
			return
		}
	}
	if len(x.MaxRetriesToFulfilNoncesWorker) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_26_list{list: &x.MaxRetriesToFulfilNoncesWorker})
		if !f(fd_OptionalParams_max_retries_to_fulfil_nonces_worker, value) {
			return
		}
	}
	if len(x.MaxRetriesToFulfilNoncesReputer) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_27_list{list: &x.MaxRetriesToFulfilNoncesReputer})
		if !f(fd_OptionalParams_max_retries_to_fulfil_nonces_reputer, value) {
			return
		}
	}
	if len(x.RegistrationFee) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_28_list{list: &x.RegistrationFee})
		if !f(fd_OptionalParams_registration_fee, value) {
			return
		}
	}
	if len(x.DefaultPageLimit) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_29_list{list: &x.DefaultPageLimit})
		if !f(fd_OptionalParams_default_page_limit, value) {
			return
		}
	}
	if len(x.MaxPageLimit) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_30_list{list: &x.MaxPageLimit})
		if !f(fd_OptionalParams_max_page_limit, value) {
			return
		}
	}
	if len(x.MinEpochLengthRecordLimit) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_31_list{list: &x.MinEpochLengthRecordLimit})
		if !f(fd_OptionalParams_min_epoch_length_record_limit, value) {
			return
		}
	}
	if len(x.BlocksPerMonth) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_32_list{list: &x.BlocksPerMonth})
		if !f(fd_OptionalParams_blocks_per_month, value) {
			return
		}
	}
	if len(x.PRewardInference) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_33_list{list: &x.PRewardInference})
		if !f(fd_OptionalParams_p_reward_inference, value) {
			return
		}
	}
	if len(x.PRewardForecast) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_34_list{list: &x.PRewardForecast})
		if !f(fd_OptionalParams_p_reward_forecast, value) {
			return
		}
	}
	if len(x.PRewardReputer) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_35_list{list: &x.PRewardReputer})
		if !f(fd_OptionalParams_p_reward_reputer, value) {
			return
		}
	}
	if len(x.CRewardInference) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_36_list{list: &x.CRewardInference})
		if !f(fd_OptionalParams_c_reward_inference, value) {
			return
		}
	}
	if len(x.CRewardForecast) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_37_list{list: &x.CRewardForecast})
		if !f(fd_OptionalParams_c_reward_forecast, value) {
			return
		}
	}
	if len(x.CNorm) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_38_list{list: &x.CNorm})
		if !f(fd_OptionalParams_c_norm, value) {
			return
		}
	}
	if len(x.TopicFeeRevenueDecayRate) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_39_list{list: &x.TopicFeeRevenueDecayRate})
		if !f(fd_OptionalParams_topic_fee_revenue_decay_rate, value) {
			return
		}
	}
	if len(x.EpsilonReputer) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_40_list{list: &x.EpsilonReputer})
		if !f(fd_OptionalParams_epsilon_reputer, value) {
			return
		}
	}
	if len(x.MinEffectiveTopicRevenue) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_41_list{list: &x.MinEffectiveTopicRevenue})
		if !f(fd_OptionalParams_min_effective_topic_revenue, value) {
			return
		}
	}
	if len(x.HalfMaxProcessStakeRemovalsEndBlock) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_42_list{list: &x.HalfMaxProcessStakeRemovalsEndBlock})
		if !f(fd_OptionalParams_half_max_process_stake_removals_end_block, value) {
			return
		}
	}
	if len(x.DataSendingFee) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_43_list{list: &x.DataSendingFee})
		if !f(fd_OptionalParams_data_sending_fee, value) {
			return
		}
	}
	if len(x.EpsilonSafeDiv) != 0 {
		value := protoreflect.ValueOfList(&_OptionalParams_44_list{list: &x.EpsilonSafeDiv})
		if !f(fd_OptionalParams_epsilon_safe_div, 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_OptionalParams) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	case "emissions.v2.OptionalParams.version":
		return len(x.Version) != 0
	case "emissions.v2.OptionalParams.max_serialized_msg_length":
		return len(x.MaxSerializedMsgLength) != 0
	case "emissions.v2.OptionalParams.min_topic_weight":
		return len(x.MinTopicWeight) != 0
	case "emissions.v2.OptionalParams.max_topics_per_block":
		return len(x.MaxTopicsPerBlock) != 0
	case "emissions.v2.OptionalParams.required_minimum_stake":
		return len(x.RequiredMinimumStake) != 0
	case "emissions.v2.OptionalParams.remove_stake_delay_window":
		return len(x.RemoveStakeDelayWindow) != 0
	case "emissions.v2.OptionalParams.min_epoch_length":
		return len(x.MinEpochLength) != 0
	case "emissions.v2.OptionalParams.beta_entropy":
		return len(x.BetaEntropy) != 0
	case "emissions.v2.OptionalParams.learning_rate":
		return len(x.LearningRate) != 0
	case "emissions.v2.OptionalParams.max_gradient_threshold":
		return len(x.MaxGradientThreshold) != 0
	case "emissions.v2.OptionalParams.min_stake_fraction":
		return len(x.MinStakeFraction) != 0
	case "emissions.v2.OptionalParams.max_unfulfilled_worker_requests":
		return len(x.MaxUnfulfilledWorkerRequests) != 0
	case "emissions.v2.OptionalParams.max_unfulfilled_reputer_requests":
		return len(x.MaxUnfulfilledReputerRequests) != 0
	case "emissions.v2.OptionalParams.topic_reward_stake_importance":
		return len(x.TopicRewardStakeImportance) != 0
	case "emissions.v2.OptionalParams.topic_reward_fee_revenue_importance":
		return len(x.TopicRewardFeeRevenueImportance) != 0
	case "emissions.v2.OptionalParams.topic_reward_alpha":
		return len(x.TopicRewardAlpha) != 0
	case "emissions.v2.OptionalParams.task_reward_alpha":
		return len(x.TaskRewardAlpha) != 0
	case "emissions.v2.OptionalParams.validators_vs_allora_percent_reward":
		return len(x.ValidatorsVsAlloraPercentReward) != 0
	case "emissions.v2.OptionalParams.max_samples_to_scale_scores":
		return len(x.MaxSamplesToScaleScores) != 0
	case "emissions.v2.OptionalParams.max_top_inferers_to_reward":
		return len(x.MaxTopInferersToReward) != 0
	case "emissions.v2.OptionalParams.max_top_forecasters_to_reward":
		return len(x.MaxTopForecastersToReward) != 0
	case "emissions.v2.OptionalParams.max_top_reputers_to_reward":
		return len(x.MaxTopReputersToReward) != 0
	case "emissions.v2.OptionalParams.create_topic_fee":
		return len(x.CreateTopicFee) != 0
	case "emissions.v2.OptionalParams.gradient_descent_max_iters":
		return len(x.GradientDescentMaxIters) != 0
	case "emissions.v2.OptionalParams.max_retries_to_fulfil_nonces_worker":
		return len(x.MaxRetriesToFulfilNoncesWorker) != 0
	case "emissions.v2.OptionalParams.max_retries_to_fulfil_nonces_reputer":
		return len(x.MaxRetriesToFulfilNoncesReputer) != 0
	case "emissions.v2.OptionalParams.registration_fee":
		return len(x.RegistrationFee) != 0
	case "emissions.v2.OptionalParams.default_page_limit":
		return len(x.DefaultPageLimit) != 0
	case "emissions.v2.OptionalParams.max_page_limit":
		return len(x.MaxPageLimit) != 0
	case "emissions.v2.OptionalParams.min_epoch_length_record_limit":
		return len(x.MinEpochLengthRecordLimit) != 0
	case "emissions.v2.OptionalParams.blocks_per_month":
		return len(x.BlocksPerMonth) != 0
	case "emissions.v2.OptionalParams.p_reward_inference":
		return len(x.PRewardInference) != 0
	case "emissions.v2.OptionalParams.p_reward_forecast":
		return len(x.PRewardForecast) != 0
	case "emissions.v2.OptionalParams.p_reward_reputer":
		return len(x.PRewardReputer) != 0
	case "emissions.v2.OptionalParams.c_reward_inference":
		return len(x.CRewardInference) != 0
	case "emissions.v2.OptionalParams.c_reward_forecast":
		return len(x.CRewardForecast) != 0
	case "emissions.v2.OptionalParams.c_norm":
		return len(x.CNorm) != 0
	case "emissions.v2.OptionalParams.topic_fee_revenue_decay_rate":
		return len(x.TopicFeeRevenueDecayRate) != 0
	case "emissions.v2.OptionalParams.epsilon_reputer":
		return len(x.EpsilonReputer) != 0
	case "emissions.v2.OptionalParams.min_effective_topic_revenue":
		return len(x.MinEffectiveTopicRevenue) != 0
	case "emissions.v2.OptionalParams.half_max_process_stake_removals_end_block":
		return len(x.HalfMaxProcessStakeRemovalsEndBlock) != 0
	case "emissions.v2.OptionalParams.data_sending_fee":
		return len(x.DataSendingFee) != 0
	case "emissions.v2.OptionalParams.epsilon_safe_div":
		return len(x.EpsilonSafeDiv) != 0
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.OptionalParams"))
		}
		panic(fmt.Errorf("message emissions.v2.OptionalParams 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_OptionalParams) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	case "emissions.v2.OptionalParams.version":
		x.Version = nil
	case "emissions.v2.OptionalParams.max_serialized_msg_length":
		x.MaxSerializedMsgLength = nil
	case "emissions.v2.OptionalParams.min_topic_weight":
		x.MinTopicWeight = nil
	case "emissions.v2.OptionalParams.max_topics_per_block":
		x.MaxTopicsPerBlock = nil
	case "emissions.v2.OptionalParams.required_minimum_stake":
		x.RequiredMinimumStake = nil
	case "emissions.v2.OptionalParams.remove_stake_delay_window":
		x.RemoveStakeDelayWindow = nil
	case "emissions.v2.OptionalParams.min_epoch_length":
		x.MinEpochLength = nil
	case "emissions.v2.OptionalParams.beta_entropy":
		x.BetaEntropy = nil
	case "emissions.v2.OptionalParams.learning_rate":
		x.LearningRate = nil
	case "emissions.v2.OptionalParams.max_gradient_threshold":
		x.MaxGradientThreshold = nil
	case "emissions.v2.OptionalParams.min_stake_fraction":
		x.MinStakeFraction = nil
	case "emissions.v2.OptionalParams.max_unfulfilled_worker_requests":
		x.MaxUnfulfilledWorkerRequests = nil
	case "emissions.v2.OptionalParams.max_unfulfilled_reputer_requests":
		x.MaxUnfulfilledReputerRequests = nil
	case "emissions.v2.OptionalParams.topic_reward_stake_importance":
		x.TopicRewardStakeImportance = nil
	case "emissions.v2.OptionalParams.topic_reward_fee_revenue_importance":
		x.TopicRewardFeeRevenueImportance = nil
	case "emissions.v2.OptionalParams.topic_reward_alpha":
		x.TopicRewardAlpha = nil
	case "emissions.v2.OptionalParams.task_reward_alpha":
		x.TaskRewardAlpha = nil
	case "emissions.v2.OptionalParams.validators_vs_allora_percent_reward":
		x.ValidatorsVsAlloraPercentReward = nil
	case "emissions.v2.OptionalParams.max_samples_to_scale_scores":
		x.MaxSamplesToScaleScores = nil
	case "emissions.v2.OptionalParams.max_top_inferers_to_reward":
		x.MaxTopInferersToReward = nil
	case "emissions.v2.OptionalParams.max_top_forecasters_to_reward":
		x.MaxTopForecastersToReward = nil
	case "emissions.v2.OptionalParams.max_top_reputers_to_reward":
		x.MaxTopReputersToReward = nil
	case "emissions.v2.OptionalParams.create_topic_fee":
		x.CreateTopicFee = nil
	case "emissions.v2.OptionalParams.gradient_descent_max_iters":
		x.GradientDescentMaxIters = nil
	case "emissions.v2.OptionalParams.max_retries_to_fulfil_nonces_worker":
		x.MaxRetriesToFulfilNoncesWorker = nil
	case "emissions.v2.OptionalParams.max_retries_to_fulfil_nonces_reputer":
		x.MaxRetriesToFulfilNoncesReputer = nil
	case "emissions.v2.OptionalParams.registration_fee":
		x.RegistrationFee = nil
	case "emissions.v2.OptionalParams.default_page_limit":
		x.DefaultPageLimit = nil
	case "emissions.v2.OptionalParams.max_page_limit":
		x.MaxPageLimit = nil
	case "emissions.v2.OptionalParams.min_epoch_length_record_limit":
		x.MinEpochLengthRecordLimit = nil
	case "emissions.v2.OptionalParams.blocks_per_month":
		x.BlocksPerMonth = nil
	case "emissions.v2.OptionalParams.p_reward_inference":
		x.PRewardInference = nil
	case "emissions.v2.OptionalParams.p_reward_forecast":
		x.PRewardForecast = nil
	case "emissions.v2.OptionalParams.p_reward_reputer":
		x.PRewardReputer = nil
	case "emissions.v2.OptionalParams.c_reward_inference":
		x.CRewardInference = nil
	case "emissions.v2.OptionalParams.c_reward_forecast":
		x.CRewardForecast = nil
	case "emissions.v2.OptionalParams.c_norm":
		x.CNorm = nil
	case "emissions.v2.OptionalParams.topic_fee_revenue_decay_rate":
		x.TopicFeeRevenueDecayRate = nil
	case "emissions.v2.OptionalParams.epsilon_reputer":
		x.EpsilonReputer = nil
	case "emissions.v2.OptionalParams.min_effective_topic_revenue":
		x.MinEffectiveTopicRevenue = nil
	case "emissions.v2.OptionalParams.half_max_process_stake_removals_end_block":
		x.HalfMaxProcessStakeRemovalsEndBlock = nil
	case "emissions.v2.OptionalParams.data_sending_fee":
		x.DataSendingFee = nil
	case "emissions.v2.OptionalParams.epsilon_safe_div":
		x.EpsilonSafeDiv = nil
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.OptionalParams"))
		}
		panic(fmt.Errorf("message emissions.v2.OptionalParams 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_OptionalParams) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	case "emissions.v2.OptionalParams.version":
		if len(x.Version) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_1_list{})
		}
		listValue := &_OptionalParams_1_list{list: &x.Version}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.max_serialized_msg_length":
		if len(x.MaxSerializedMsgLength) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_2_list{})
		}
		listValue := &_OptionalParams_2_list{list: &x.MaxSerializedMsgLength}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.min_topic_weight":
		if len(x.MinTopicWeight) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_3_list{})
		}
		listValue := &_OptionalParams_3_list{list: &x.MinTopicWeight}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.max_topics_per_block":
		if len(x.MaxTopicsPerBlock) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_4_list{})
		}
		listValue := &_OptionalParams_4_list{list: &x.MaxTopicsPerBlock}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.required_minimum_stake":
		if len(x.RequiredMinimumStake) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_5_list{})
		}
		listValue := &_OptionalParams_5_list{list: &x.RequiredMinimumStake}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.remove_stake_delay_window":
		if len(x.RemoveStakeDelayWindow) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_6_list{})
		}
		listValue := &_OptionalParams_6_list{list: &x.RemoveStakeDelayWindow}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.min_epoch_length":
		if len(x.MinEpochLength) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_7_list{})
		}
		listValue := &_OptionalParams_7_list{list: &x.MinEpochLength}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.beta_entropy":
		if len(x.BetaEntropy) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_8_list{})
		}
		listValue := &_OptionalParams_8_list{list: &x.BetaEntropy}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.learning_rate":
		if len(x.LearningRate) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_9_list{})
		}
		listValue := &_OptionalParams_9_list{list: &x.LearningRate}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.max_gradient_threshold":
		if len(x.MaxGradientThreshold) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_10_list{})
		}
		listValue := &_OptionalParams_10_list{list: &x.MaxGradientThreshold}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.min_stake_fraction":
		if len(x.MinStakeFraction) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_11_list{})
		}
		listValue := &_OptionalParams_11_list{list: &x.MinStakeFraction}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.max_unfulfilled_worker_requests":
		if len(x.MaxUnfulfilledWorkerRequests) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_13_list{})
		}
		listValue := &_OptionalParams_13_list{list: &x.MaxUnfulfilledWorkerRequests}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.max_unfulfilled_reputer_requests":
		if len(x.MaxUnfulfilledReputerRequests) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_14_list{})
		}
		listValue := &_OptionalParams_14_list{list: &x.MaxUnfulfilledReputerRequests}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.topic_reward_stake_importance":
		if len(x.TopicRewardStakeImportance) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_15_list{})
		}
		listValue := &_OptionalParams_15_list{list: &x.TopicRewardStakeImportance}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.topic_reward_fee_revenue_importance":
		if len(x.TopicRewardFeeRevenueImportance) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_16_list{})
		}
		listValue := &_OptionalParams_16_list{list: &x.TopicRewardFeeRevenueImportance}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.topic_reward_alpha":
		if len(x.TopicRewardAlpha) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_17_list{})
		}
		listValue := &_OptionalParams_17_list{list: &x.TopicRewardAlpha}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.task_reward_alpha":
		if len(x.TaskRewardAlpha) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_18_list{})
		}
		listValue := &_OptionalParams_18_list{list: &x.TaskRewardAlpha}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.validators_vs_allora_percent_reward":
		if len(x.ValidatorsVsAlloraPercentReward) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_19_list{})
		}
		listValue := &_OptionalParams_19_list{list: &x.ValidatorsVsAlloraPercentReward}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.max_samples_to_scale_scores":
		if len(x.MaxSamplesToScaleScores) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_20_list{})
		}
		listValue := &_OptionalParams_20_list{list: &x.MaxSamplesToScaleScores}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.max_top_inferers_to_reward":
		if len(x.MaxTopInferersToReward) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_21_list{})
		}
		listValue := &_OptionalParams_21_list{list: &x.MaxTopInferersToReward}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.max_top_forecasters_to_reward":
		if len(x.MaxTopForecastersToReward) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_22_list{})
		}
		listValue := &_OptionalParams_22_list{list: &x.MaxTopForecastersToReward}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.max_top_reputers_to_reward":
		if len(x.MaxTopReputersToReward) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_23_list{})
		}
		listValue := &_OptionalParams_23_list{list: &x.MaxTopReputersToReward}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.create_topic_fee":
		if len(x.CreateTopicFee) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_24_list{})
		}
		listValue := &_OptionalParams_24_list{list: &x.CreateTopicFee}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.gradient_descent_max_iters":
		if len(x.GradientDescentMaxIters) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_25_list{})
		}
		listValue := &_OptionalParams_25_list{list: &x.GradientDescentMaxIters}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.max_retries_to_fulfil_nonces_worker":
		if len(x.MaxRetriesToFulfilNoncesWorker) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_26_list{})
		}
		listValue := &_OptionalParams_26_list{list: &x.MaxRetriesToFulfilNoncesWorker}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.max_retries_to_fulfil_nonces_reputer":
		if len(x.MaxRetriesToFulfilNoncesReputer) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_27_list{})
		}
		listValue := &_OptionalParams_27_list{list: &x.MaxRetriesToFulfilNoncesReputer}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.registration_fee":
		if len(x.RegistrationFee) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_28_list{})
		}
		listValue := &_OptionalParams_28_list{list: &x.RegistrationFee}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.default_page_limit":
		if len(x.DefaultPageLimit) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_29_list{})
		}
		listValue := &_OptionalParams_29_list{list: &x.DefaultPageLimit}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.max_page_limit":
		if len(x.MaxPageLimit) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_30_list{})
		}
		listValue := &_OptionalParams_30_list{list: &x.MaxPageLimit}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.min_epoch_length_record_limit":
		if len(x.MinEpochLengthRecordLimit) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_31_list{})
		}
		listValue := &_OptionalParams_31_list{list: &x.MinEpochLengthRecordLimit}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.blocks_per_month":
		if len(x.BlocksPerMonth) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_32_list{})
		}
		listValue := &_OptionalParams_32_list{list: &x.BlocksPerMonth}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.p_reward_inference":
		if len(x.PRewardInference) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_33_list{})
		}
		listValue := &_OptionalParams_33_list{list: &x.PRewardInference}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.p_reward_forecast":
		if len(x.PRewardForecast) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_34_list{})
		}
		listValue := &_OptionalParams_34_list{list: &x.PRewardForecast}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.p_reward_reputer":
		if len(x.PRewardReputer) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_35_list{})
		}
		listValue := &_OptionalParams_35_list{list: &x.PRewardReputer}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.c_reward_inference":
		if len(x.CRewardInference) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_36_list{})
		}
		listValue := &_OptionalParams_36_list{list: &x.CRewardInference}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.c_reward_forecast":
		if len(x.CRewardForecast) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_37_list{})
		}
		listValue := &_OptionalParams_37_list{list: &x.CRewardForecast}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.c_norm":
		if len(x.CNorm) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_38_list{})
		}
		listValue := &_OptionalParams_38_list{list: &x.CNorm}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.topic_fee_revenue_decay_rate":
		if len(x.TopicFeeRevenueDecayRate) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_39_list{})
		}
		listValue := &_OptionalParams_39_list{list: &x.TopicFeeRevenueDecayRate}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.epsilon_reputer":
		if len(x.EpsilonReputer) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_40_list{})
		}
		listValue := &_OptionalParams_40_list{list: &x.EpsilonReputer}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.min_effective_topic_revenue":
		if len(x.MinEffectiveTopicRevenue) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_41_list{})
		}
		listValue := &_OptionalParams_41_list{list: &x.MinEffectiveTopicRevenue}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.half_max_process_stake_removals_end_block":
		if len(x.HalfMaxProcessStakeRemovalsEndBlock) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_42_list{})
		}
		listValue := &_OptionalParams_42_list{list: &x.HalfMaxProcessStakeRemovalsEndBlock}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.data_sending_fee":
		if len(x.DataSendingFee) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_43_list{})
		}
		listValue := &_OptionalParams_43_list{list: &x.DataSendingFee}
		return protoreflect.ValueOfList(listValue)
	case "emissions.v2.OptionalParams.epsilon_safe_div":
		if len(x.EpsilonSafeDiv) == 0 {
			return protoreflect.ValueOfList(&_OptionalParams_44_list{})
		}
		listValue := &_OptionalParams_44_list{list: &x.EpsilonSafeDiv}
		return protoreflect.ValueOfList(listValue)
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.OptionalParams"))
		}
		panic(fmt.Errorf("message emissions.v2.OptionalParams 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_OptionalParams) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	case "emissions.v2.OptionalParams.version":
		lv := value.List()
		clv := lv.(*_OptionalParams_1_list)
		x.Version = *clv.list
	case "emissions.v2.OptionalParams.max_serialized_msg_length":
		lv := value.List()
		clv := lv.(*_OptionalParams_2_list)
		x.MaxSerializedMsgLength = *clv.list
	case "emissions.v2.OptionalParams.min_topic_weight":
		lv := value.List()
		clv := lv.(*_OptionalParams_3_list)
		x.MinTopicWeight = *clv.list
	case "emissions.v2.OptionalParams.max_topics_per_block":
		lv := value.List()
		clv := lv.(*_OptionalParams_4_list)
		x.MaxTopicsPerBlock = *clv.list
	case "emissions.v2.OptionalParams.required_minimum_stake":
		lv := value.List()
		clv := lv.(*_OptionalParams_5_list)
		x.RequiredMinimumStake = *clv.list
	case "emissions.v2.OptionalParams.remove_stake_delay_window":
		lv := value.List()
		clv := lv.(*_OptionalParams_6_list)
		x.RemoveStakeDelayWindow = *clv.list
	case "emissions.v2.OptionalParams.min_epoch_length":
		lv := value.List()
		clv := lv.(*_OptionalParams_7_list)
		x.MinEpochLength = *clv.list
	case "emissions.v2.OptionalParams.beta_entropy":
		lv := value.List()
		clv := lv.(*_OptionalParams_8_list)
		x.BetaEntropy = *clv.list
	case "emissions.v2.OptionalParams.learning_rate":
		lv := value.List()
		clv := lv.(*_OptionalParams_9_list)
		x.LearningRate = *clv.list
	case "emissions.v2.OptionalParams.max_gradient_threshold":
		lv := value.List()
		clv := lv.(*_OptionalParams_10_list)
		x.MaxGradientThreshold = *clv.list
	case "emissions.v2.OptionalParams.min_stake_fraction":
		lv := value.List()
		clv := lv.(*_OptionalParams_11_list)
		x.MinStakeFraction = *clv.list
	case "emissions.v2.OptionalParams.max_unfulfilled_worker_requests":
		lv := value.List()
		clv := lv.(*_OptionalParams_13_list)
		x.MaxUnfulfilledWorkerRequests = *clv.list
	case "emissions.v2.OptionalParams.max_unfulfilled_reputer_requests":
		lv := value.List()
		clv := lv.(*_OptionalParams_14_list)
		x.MaxUnfulfilledReputerRequests = *clv.list
	case "emissions.v2.OptionalParams.topic_reward_stake_importance":
		lv := value.List()
		clv := lv.(*_OptionalParams_15_list)
		x.TopicRewardStakeImportance = *clv.list
	case "emissions.v2.OptionalParams.topic_reward_fee_revenue_importance":
		lv := value.List()
		clv := lv.(*_OptionalParams_16_list)
		x.TopicRewardFeeRevenueImportance = *clv.list
	case "emissions.v2.OptionalParams.topic_reward_alpha":
		lv := value.List()
		clv := lv.(*_OptionalParams_17_list)
		x.TopicRewardAlpha = *clv.list
	case "emissions.v2.OptionalParams.task_reward_alpha":
		lv := value.List()
		clv := lv.(*_OptionalParams_18_list)
		x.TaskRewardAlpha = *clv.list
	case "emissions.v2.OptionalParams.validators_vs_allora_percent_reward":
		lv := value.List()
		clv := lv.(*_OptionalParams_19_list)
		x.ValidatorsVsAlloraPercentReward = *clv.list
	case "emissions.v2.OptionalParams.max_samples_to_scale_scores":
		lv := value.List()
		clv := lv.(*_OptionalParams_20_list)
		x.MaxSamplesToScaleScores = *clv.list
	case "emissions.v2.OptionalParams.max_top_inferers_to_reward":
		lv := value.List()
		clv := lv.(*_OptionalParams_21_list)
		x.MaxTopInferersToReward = *clv.list
	case "emissions.v2.OptionalParams.max_top_forecasters_to_reward":
		lv := value.List()
		clv := lv.(*_OptionalParams_22_list)
		x.MaxTopForecastersToReward = *clv.list
	case "emissions.v2.OptionalParams.max_top_reputers_to_reward":
		lv := value.List()
		clv := lv.(*_OptionalParams_23_list)
		x.MaxTopReputersToReward = *clv.list
	case "emissions.v2.OptionalParams.create_topic_fee":
		lv := value.List()
		clv := lv.(*_OptionalParams_24_list)
		x.CreateTopicFee = *clv.list
	case "emissions.v2.OptionalParams.gradient_descent_max_iters":
		lv := value.List()
		clv := lv.(*_OptionalParams_25_list)
		x.GradientDescentMaxIters = *clv.list
	case "emissions.v2.OptionalParams.max_retries_to_fulfil_nonces_worker":
		lv := value.List()
		clv := lv.(*_OptionalParams_26_list)
		x.MaxRetriesToFulfilNoncesWorker = *clv.list
	case "emissions.v2.OptionalParams.max_retries_to_fulfil_nonces_reputer":
		lv := value.List()
		clv := lv.(*_OptionalParams_27_list)
		x.MaxRetriesToFulfilNoncesReputer = *clv.list
	case "emissions.v2.OptionalParams.registration_fee":
		lv := value.List()
		clv := lv.(*_OptionalParams_28_list)
		x.RegistrationFee = *clv.list
	case "emissions.v2.OptionalParams.default_page_limit":
		lv := value.List()
		clv := lv.(*_OptionalParams_29_list)
		x.DefaultPageLimit = *clv.list
	case "emissions.v2.OptionalParams.max_page_limit":
		lv := value.List()
		clv := lv.(*_OptionalParams_30_list)
		x.MaxPageLimit = *clv.list
	case "emissions.v2.OptionalParams.min_epoch_length_record_limit":
		lv := value.List()
		clv := lv.(*_OptionalParams_31_list)
		x.MinEpochLengthRecordLimit = *clv.list
	case "emissions.v2.OptionalParams.blocks_per_month":
		lv := value.List()
		clv := lv.(*_OptionalParams_32_list)
		x.BlocksPerMonth = *clv.list
	case "emissions.v2.OptionalParams.p_reward_inference":
		lv := value.List()
		clv := lv.(*_OptionalParams_33_list)
		x.PRewardInference = *clv.list
	case "emissions.v2.OptionalParams.p_reward_forecast":
		lv := value.List()
		clv := lv.(*_OptionalParams_34_list)
		x.PRewardForecast = *clv.list
	case "emissions.v2.OptionalParams.p_reward_reputer":
		lv := value.List()
		clv := lv.(*_OptionalParams_35_list)
		x.PRewardReputer = *clv.list
	case "emissions.v2.OptionalParams.c_reward_inference":
		lv := value.List()
		clv := lv.(*_OptionalParams_36_list)
		x.CRewardInference = *clv.list
	case "emissions.v2.OptionalParams.c_reward_forecast":
		lv := value.List()
		clv := lv.(*_OptionalParams_37_list)
		x.CRewardForecast = *clv.list
	case "emissions.v2.OptionalParams.c_norm":
		lv := value.List()
		clv := lv.(*_OptionalParams_38_list)
		x.CNorm = *clv.list
	case "emissions.v2.OptionalParams.topic_fee_revenue_decay_rate":
		lv := value.List()
		clv := lv.(*_OptionalParams_39_list)
		x.TopicFeeRevenueDecayRate = *clv.list
	case "emissions.v2.OptionalParams.epsilon_reputer":
		lv := value.List()
		clv := lv.(*_OptionalParams_40_list)
		x.EpsilonReputer = *clv.list
	case "emissions.v2.OptionalParams.min_effective_topic_revenue":
		lv := value.List()
		clv := lv.(*_OptionalParams_41_list)
		x.MinEffectiveTopicRevenue = *clv.list
	case "emissions.v2.OptionalParams.half_max_process_stake_removals_end_block":
		lv := value.List()
		clv := lv.(*_OptionalParams_42_list)
		x.HalfMaxProcessStakeRemovalsEndBlock = *clv.list
	case "emissions.v2.OptionalParams.data_sending_fee":
		lv := value.List()
		clv := lv.(*_OptionalParams_43_list)
		x.DataSendingFee = *clv.list
	case "emissions.v2.OptionalParams.epsilon_safe_div":
		lv := value.List()
		clv := lv.(*_OptionalParams_44_list)
		x.EpsilonSafeDiv = *clv.list
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.OptionalParams"))
		}
		panic(fmt.Errorf("message emissions.v2.OptionalParams 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_OptionalParams) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.OptionalParams.version":
		if x.Version == nil {
			x.Version = []string{}
		}
		value := &_OptionalParams_1_list{list: &x.Version}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.max_serialized_msg_length":
		if x.MaxSerializedMsgLength == nil {
			x.MaxSerializedMsgLength = []int64{}
		}
		value := &_OptionalParams_2_list{list: &x.MaxSerializedMsgLength}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.min_topic_weight":
		if x.MinTopicWeight == nil {
			x.MinTopicWeight = []string{}
		}
		value := &_OptionalParams_3_list{list: &x.MinTopicWeight}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.max_topics_per_block":
		if x.MaxTopicsPerBlock == nil {
			x.MaxTopicsPerBlock = []uint64{}
		}
		value := &_OptionalParams_4_list{list: &x.MaxTopicsPerBlock}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.required_minimum_stake":
		if x.RequiredMinimumStake == nil {
			x.RequiredMinimumStake = []string{}
		}
		value := &_OptionalParams_5_list{list: &x.RequiredMinimumStake}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.remove_stake_delay_window":
		if x.RemoveStakeDelayWindow == nil {
			x.RemoveStakeDelayWindow = []int64{}
		}
		value := &_OptionalParams_6_list{list: &x.RemoveStakeDelayWindow}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.min_epoch_length":
		if x.MinEpochLength == nil {
			x.MinEpochLength = []int64{}
		}
		value := &_OptionalParams_7_list{list: &x.MinEpochLength}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.beta_entropy":
		if x.BetaEntropy == nil {
			x.BetaEntropy = []string{}
		}
		value := &_OptionalParams_8_list{list: &x.BetaEntropy}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.learning_rate":
		if x.LearningRate == nil {
			x.LearningRate = []string{}
		}
		value := &_OptionalParams_9_list{list: &x.LearningRate}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.max_gradient_threshold":
		if x.MaxGradientThreshold == nil {
			x.MaxGradientThreshold = []string{}
		}
		value := &_OptionalParams_10_list{list: &x.MaxGradientThreshold}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.min_stake_fraction":
		if x.MinStakeFraction == nil {
			x.MinStakeFraction = []string{}
		}
		value := &_OptionalParams_11_list{list: &x.MinStakeFraction}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.max_unfulfilled_worker_requests":
		if x.MaxUnfulfilledWorkerRequests == nil {
			x.MaxUnfulfilledWorkerRequests = []uint64{}
		}
		value := &_OptionalParams_13_list{list: &x.MaxUnfulfilledWorkerRequests}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.max_unfulfilled_reputer_requests":
		if x.MaxUnfulfilledReputerRequests == nil {
			x.MaxUnfulfilledReputerRequests = []uint64{}
		}
		value := &_OptionalParams_14_list{list: &x.MaxUnfulfilledReputerRequests}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.topic_reward_stake_importance":
		if x.TopicRewardStakeImportance == nil {
			x.TopicRewardStakeImportance = []string{}
		}
		value := &_OptionalParams_15_list{list: &x.TopicRewardStakeImportance}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.topic_reward_fee_revenue_importance":
		if x.TopicRewardFeeRevenueImportance == nil {
			x.TopicRewardFeeRevenueImportance = []string{}
		}
		value := &_OptionalParams_16_list{list: &x.TopicRewardFeeRevenueImportance}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.topic_reward_alpha":
		if x.TopicRewardAlpha == nil {
			x.TopicRewardAlpha = []string{}
		}
		value := &_OptionalParams_17_list{list: &x.TopicRewardAlpha}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.task_reward_alpha":
		if x.TaskRewardAlpha == nil {
			x.TaskRewardAlpha = []string{}
		}
		value := &_OptionalParams_18_list{list: &x.TaskRewardAlpha}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.validators_vs_allora_percent_reward":
		if x.ValidatorsVsAlloraPercentReward == nil {
			x.ValidatorsVsAlloraPercentReward = []string{}
		}
		value := &_OptionalParams_19_list{list: &x.ValidatorsVsAlloraPercentReward}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.max_samples_to_scale_scores":
		if x.MaxSamplesToScaleScores == nil {
			x.MaxSamplesToScaleScores = []uint64{}
		}
		value := &_OptionalParams_20_list{list: &x.MaxSamplesToScaleScores}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.max_top_inferers_to_reward":
		if x.MaxTopInferersToReward == nil {
			x.MaxTopInferersToReward = []uint64{}
		}
		value := &_OptionalParams_21_list{list: &x.MaxTopInferersToReward}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.max_top_forecasters_to_reward":
		if x.MaxTopForecastersToReward == nil {
			x.MaxTopForecastersToReward = []uint64{}
		}
		value := &_OptionalParams_22_list{list: &x.MaxTopForecastersToReward}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.max_top_reputers_to_reward":
		if x.MaxTopReputersToReward == nil {
			x.MaxTopReputersToReward = []uint64{}
		}
		value := &_OptionalParams_23_list{list: &x.MaxTopReputersToReward}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.create_topic_fee":
		if x.CreateTopicFee == nil {
			x.CreateTopicFee = []string{}
		}
		value := &_OptionalParams_24_list{list: &x.CreateTopicFee}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.gradient_descent_max_iters":
		if x.GradientDescentMaxIters == nil {
			x.GradientDescentMaxIters = []uint64{}
		}
		value := &_OptionalParams_25_list{list: &x.GradientDescentMaxIters}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.max_retries_to_fulfil_nonces_worker":
		if x.MaxRetriesToFulfilNoncesWorker == nil {
			x.MaxRetriesToFulfilNoncesWorker = []int64{}
		}
		value := &_OptionalParams_26_list{list: &x.MaxRetriesToFulfilNoncesWorker}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.max_retries_to_fulfil_nonces_reputer":
		if x.MaxRetriesToFulfilNoncesReputer == nil {
			x.MaxRetriesToFulfilNoncesReputer = []int64{}
		}
		value := &_OptionalParams_27_list{list: &x.MaxRetriesToFulfilNoncesReputer}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.registration_fee":
		if x.RegistrationFee == nil {
			x.RegistrationFee = []string{}
		}
		value := &_OptionalParams_28_list{list: &x.RegistrationFee}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.default_page_limit":
		if x.DefaultPageLimit == nil {
			x.DefaultPageLimit = []uint64{}
		}
		value := &_OptionalParams_29_list{list: &x.DefaultPageLimit}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.max_page_limit":
		if x.MaxPageLimit == nil {
			x.MaxPageLimit = []uint64{}
		}
		value := &_OptionalParams_30_list{list: &x.MaxPageLimit}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.min_epoch_length_record_limit":
		if x.MinEpochLengthRecordLimit == nil {
			x.MinEpochLengthRecordLimit = []int64{}
		}
		value := &_OptionalParams_31_list{list: &x.MinEpochLengthRecordLimit}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.blocks_per_month":
		if x.BlocksPerMonth == nil {
			x.BlocksPerMonth = []uint64{}
		}
		value := &_OptionalParams_32_list{list: &x.BlocksPerMonth}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.p_reward_inference":
		if x.PRewardInference == nil {
			x.PRewardInference = []string{}
		}
		value := &_OptionalParams_33_list{list: &x.PRewardInference}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.p_reward_forecast":
		if x.PRewardForecast == nil {
			x.PRewardForecast = []string{}
		}
		value := &_OptionalParams_34_list{list: &x.PRewardForecast}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.p_reward_reputer":
		if x.PRewardReputer == nil {
			x.PRewardReputer = []string{}
		}
		value := &_OptionalParams_35_list{list: &x.PRewardReputer}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.c_reward_inference":
		if x.CRewardInference == nil {
			x.CRewardInference = []string{}
		}
		value := &_OptionalParams_36_list{list: &x.CRewardInference}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.c_reward_forecast":
		if x.CRewardForecast == nil {
			x.CRewardForecast = []string{}
		}
		value := &_OptionalParams_37_list{list: &x.CRewardForecast}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.c_norm":
		if x.CNorm == nil {
			x.CNorm = []string{}
		}
		value := &_OptionalParams_38_list{list: &x.CNorm}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.topic_fee_revenue_decay_rate":
		if x.TopicFeeRevenueDecayRate == nil {
			x.TopicFeeRevenueDecayRate = []string{}
		}
		value := &_OptionalParams_39_list{list: &x.TopicFeeRevenueDecayRate}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.epsilon_reputer":
		if x.EpsilonReputer == nil {
			x.EpsilonReputer = []string{}
		}
		value := &_OptionalParams_40_list{list: &x.EpsilonReputer}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.min_effective_topic_revenue":
		if x.MinEffectiveTopicRevenue == nil {
			x.MinEffectiveTopicRevenue = []string{}
		}
		value := &_OptionalParams_41_list{list: &x.MinEffectiveTopicRevenue}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.half_max_process_stake_removals_end_block":
		if x.HalfMaxProcessStakeRemovalsEndBlock == nil {
			x.HalfMaxProcessStakeRemovalsEndBlock = []uint64{}
		}
		value := &_OptionalParams_42_list{list: &x.HalfMaxProcessStakeRemovalsEndBlock}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.data_sending_fee":
		if x.DataSendingFee == nil {
			x.DataSendingFee = []string{}
		}
		value := &_OptionalParams_43_list{list: &x.DataSendingFee}
		return protoreflect.ValueOfList(value)
	case "emissions.v2.OptionalParams.epsilon_safe_div":
		if x.EpsilonSafeDiv == nil {
			x.EpsilonSafeDiv = []string{}
		}
		value := &_OptionalParams_44_list{list: &x.EpsilonSafeDiv}
		return protoreflect.ValueOfList(value)
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.OptionalParams"))
		}
		panic(fmt.Errorf("message emissions.v2.OptionalParams 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_OptionalParams) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.OptionalParams.version":
		list := []string{}
		return protoreflect.ValueOfList(&_OptionalParams_1_list{list: &list})
	case "emissions.v2.OptionalParams.max_serialized_msg_length":
		list := []int64{}
		return protoreflect.ValueOfList(&_OptionalParams_2_list{list: &list})
	case "emissions.v2.OptionalParams.min_topic_weight":
		list := []string{}
		return protoreflect.ValueOfList(&_OptionalParams_3_list{list: &list})
	case "emissions.v2.OptionalParams.max_topics_per_block":
		list := []uint64{}
		return protoreflect.ValueOfList(&_OptionalParams_4_list{list: &list})
	case "emissions.v2.OptionalParams.required_minimum_stake":
		list := []string{}
		return protoreflect.ValueOfList(&_OptionalParams_5_list{list: &list})
	case "emissions.v2.OptionalParams.remove_stake_delay_window":
		list := []int64{}
		return protoreflect.ValueOfList(&_OptionalParams_6_list{list: &list})
	case "emissions.v2.OptionalParams.min_epoch_length":
		list := []int64{}
		return protoreflect.ValueOfList(&_OptionalParams_7_list{list: &list})
	case "emissions.v2.OptionalParams.beta_entropy":
		list := []string{}
		return protoreflect.ValueOfList(&_OptionalParams_8_list{list: &list})
	case "emissions.v2.OptionalParams.learning_rate":
		list := []string{}
		return protoreflect.ValueOfList(&_OptionalParams_9_list{list: &list})
	case "emissions.v2.OptionalParams.max_gradient_threshold":
		list := []string{}
		return protoreflect.ValueOfList(&_OptionalParams_10_list{list: &list})
	case "emissions.v2.OptionalParams.min_stake_fraction":
		list := []string{}
		return protoreflect.ValueOfList(&_OptionalParams_11_list{list: &list})
	case "emissions.v2.OptionalParams.max_unfulfilled_worker_requests":
		list := []uint64{}
		return protoreflect.ValueOfList(&_OptionalParams_13_list{list: &list})
	case "emissions.v2.OptionalParams.max_unfulfilled_reputer_requests":
		list := []uint64{}
		return protoreflect.ValueOfList(&_OptionalParams_14_list{list: &list})
	case "emissions.v2.OptionalParams.topic_reward_stake_importance":
		list := []string{}
		return protoreflect.ValueOfList(&_OptionalParams_15_list{list: &list})
	case "emissions.v2.OptionalParams.topic_reward_fee_revenue_importance":
		list := []string{}
		return protoreflect.ValueOfList(&_OptionalParams_16_list{list: &list})
	case "emissions.v2.OptionalParams.topic_reward_alpha":
		list := []string{}
		return protoreflect.ValueOfList(&_OptionalParams_17_list{list: &list})
	case "emissions.v2.OptionalParams.task_reward_alpha":
		list := []string{}
		return protoreflect.ValueOfList(&_OptionalParams_18_list{list: &list})
	case "emissions.v2.OptionalParams.validators_vs_allora_percent_reward":
		list := []string{}
		return protoreflect.ValueOfList(&_OptionalParams_19_list{list: &list})
	case "emissions.v2.OptionalParams.max_samples_to_scale_scores":
		list := []uint64{}
		return protoreflect.ValueOfList(&_OptionalParams_20_list{list: &list})
	case "emissions.v2.OptionalParams.max_top_inferers_to_reward":
		list := []uint64{}
		return protoreflect.ValueOfList(&_OptionalParams_21_list{list: &list})
	case "emissions.v2.OptionalParams.max_top_forecasters_to_reward":
		list := []uint64{}
		return protoreflect.ValueOfList(&_OptionalParams_22_list{list: &list})
	case "emissions.v2.OptionalParams.max_top_reputers_to_reward":
		list := []uint64{}
		return protoreflect.ValueOfList(&_OptionalParams_23_list{list: &list})
	case "emissions.v2.OptionalParams.create_topic_fee":
		list := []string{}
		return protoreflect.ValueOfList(&_OptionalParams_24_list{list: &list})
	case "emissions.v2.OptionalParams.gradient_descent_max_iters":
		list := []uint64{}
		return protoreflect.ValueOfList(&_OptionalParams_25_list{list: &list})
	case "emissions.v2.OptionalParams.max_retries_to_fulfil_nonces_worker":
		list := []int64{}
		return protoreflect.ValueOfList(&_OptionalParams_26_list{list: &list})
	case "emissions.v2.OptionalParams.max_retries_to_fulfil_nonces_reputer":
		list := []int64{}
		return protoreflect.ValueOfList(&_OptionalParams_27_list{list: &list})
	case "emissions.v2.OptionalParams.registration_fee":
		list := []string{}
		return protoreflect.ValueOfList(&_OptionalParams_28_list{list: &list})
	case "emissions.v2.OptionalParams.default_page_limit":
		list := []uint64{}
		return protoreflect.ValueOfList(&_OptionalParams_29_list{list: &list})
	case "emissions.v2.OptionalParams.max_page_limit":
		list := []uint64{}
		return protoreflect.ValueOfList(&_OptionalParams_30_list{list: &list})
	case "emissions.v2.OptionalParams.min_epoch_length_record_limit":
		list := []int64{}
		return protoreflect.ValueOfList(&_OptionalParams_31_list{list: &list})
	case "emissions.v2.OptionalParams.blocks_per_month":
		list := []uint64{}
		return protoreflect.ValueOfList(&_OptionalParams_32_list{list: &list})
	case "emissions.v2.OptionalParams.p_reward_inference":
		list := []string{}
		return protoreflect.ValueOfList(&_OptionalParams_33_list{list: &list})
	case "emissions.v2.OptionalParams.p_reward_forecast":
		list := []string{}
		return protoreflect.ValueOfList(&_OptionalParams_34_list{list: &list})
	case "emissions.v2.OptionalParams.p_reward_reputer":
		list := []string{}
		return protoreflect.ValueOfList(&_OptionalParams_35_list{list: &list})
	case "emissions.v2.OptionalParams.c_reward_inference":
		list := []string{}
		return protoreflect.ValueOfList(&_OptionalParams_36_list{list: &list})
	case "emissions.v2.OptionalParams.c_reward_forecast":
		list := []string{}
		return protoreflect.ValueOfList(&_OptionalParams_37_list{list: &list})
	case "emissions.v2.OptionalParams.c_norm":
		list := []string{}
		return protoreflect.ValueOfList(&_OptionalParams_38_list{list: &list})
	case "emissions.v2.OptionalParams.topic_fee_revenue_decay_rate":
		list := []string{}
		return protoreflect.ValueOfList(&_OptionalParams_39_list{list: &list})
	case "emissions.v2.OptionalParams.epsilon_reputer":
		list := []string{}
		return protoreflect.ValueOfList(&_OptionalParams_40_list{list: &list})
	case "emissions.v2.OptionalParams.min_effective_topic_revenue":
		list := []string{}
		return protoreflect.ValueOfList(&_OptionalParams_41_list{list: &list})
	case "emissions.v2.OptionalParams.half_max_process_stake_removals_end_block":
		list := []uint64{}
		return protoreflect.ValueOfList(&_OptionalParams_42_list{list: &list})
	case "emissions.v2.OptionalParams.data_sending_fee":
		list := []string{}
		return protoreflect.ValueOfList(&_OptionalParams_43_list{list: &list})
	case "emissions.v2.OptionalParams.epsilon_safe_div":
		list := []string{}
		return protoreflect.ValueOfList(&_OptionalParams_44_list{list: &list})
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.OptionalParams"))
		}
		panic(fmt.Errorf("message emissions.v2.OptionalParams 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_OptionalParams) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.OptionalParams", 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_OptionalParams) 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_OptionalParams) 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_OptionalParams) 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_OptionalParams) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*OptionalParams)
		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.Version) > 0 {
			for _, s := range x.Version {
				l = len(s)
				n += 1 + l + runtime.Sov(uint64(l))
			}
		}
		if len(x.MaxSerializedMsgLength) > 0 {
			l = 0
			for _, e := range x.MaxSerializedMsgLength {
				l += runtime.Sov(uint64(e))
			}
			n += 1 + runtime.Sov(uint64(l)) + l
		}
		if len(x.MinTopicWeight) > 0 {
			for _, s := range x.MinTopicWeight {
				l = len(s)
				n += 1 + l + runtime.Sov(uint64(l))
			}
		}
		if len(x.MaxTopicsPerBlock) > 0 {
			l = 0
			for _, e := range x.MaxTopicsPerBlock {
				l += runtime.Sov(uint64(e))
			}
			n += 1 + runtime.Sov(uint64(l)) + l
		}
		if len(x.RequiredMinimumStake) > 0 {
			for _, s := range x.RequiredMinimumStake {
				l = len(s)
				n += 1 + l + runtime.Sov(uint64(l))
			}
		}
		if len(x.RemoveStakeDelayWindow) > 0 {
			l = 0
			for _, e := range x.RemoveStakeDelayWindow {
				l += runtime.Sov(uint64(e))
			}
			n += 1 + runtime.Sov(uint64(l)) + l
		}
		if len(x.MinEpochLength) > 0 {
			l = 0
			for _, e := range x.MinEpochLength {
				l += runtime.Sov(uint64(e))
			}
			n += 1 + runtime.Sov(uint64(l)) + l
		}
		if len(x.BetaEntropy) > 0 {
			for _, s := range x.BetaEntropy {
				l = len(s)
				n += 1 + l + runtime.Sov(uint64(l))
			}
		}
		if len(x.LearningRate) > 0 {
			for _, s := range x.LearningRate {
				l = len(s)
				n += 1 + l + runtime.Sov(uint64(l))
			}
		}
		if len(x.MaxGradientThreshold) > 0 {
			for _, s := range x.MaxGradientThreshold {
				l = len(s)
				n += 1 + l + runtime.Sov(uint64(l))
			}
		}
		if len(x.MinStakeFraction) > 0 {
			for _, s := range x.MinStakeFraction {
				l = len(s)
				n += 1 + l + runtime.Sov(uint64(l))
			}
		}
		if len(x.MaxUnfulfilledWorkerRequests) > 0 {
			l = 0
			for _, e := range x.MaxUnfulfilledWorkerRequests {
				l += runtime.Sov(uint64(e))
			}
			n += 1 + runtime.Sov(uint64(l)) + l
		}
		if len(x.MaxUnfulfilledReputerRequests) > 0 {
			l = 0
			for _, e := range x.MaxUnfulfilledReputerRequests {
				l += runtime.Sov(uint64(e))
			}
			n += 1 + runtime.Sov(uint64(l)) + l
		}
		if len(x.TopicRewardStakeImportance) > 0 {
			for _, s := range x.TopicRewardStakeImportance {
				l = len(s)
				n += 1 + l + runtime.Sov(uint64(l))
			}
		}
		if len(x.TopicRewardFeeRevenueImportance) > 0 {
			for _, s := range x.TopicRewardFeeRevenueImportance {
				l = len(s)
				n += 2 + l + runtime.Sov(uint64(l))
			}
		}
		if len(x.TopicRewardAlpha) > 0 {
			for _, s := range x.TopicRewardAlpha {
				l = len(s)
				n += 2 + l + runtime.Sov(uint64(l))
			}
		}
		if len(x.TaskRewardAlpha) > 0 {
			for _, s := range x.TaskRewardAlpha {
				l = len(s)
				n += 2 + l + runtime.Sov(uint64(l))
			}
		}
		if len(x.ValidatorsVsAlloraPercentReward) > 0 {
			for _, s := range x.ValidatorsVsAlloraPercentReward {
				l = len(s)
				n += 2 + l + runtime.Sov(uint64(l))
			}
		}
		if len(x.MaxSamplesToScaleScores) > 0 {
			l = 0
			for _, e := range x.MaxSamplesToScaleScores {
				l += runtime.Sov(uint64(e))
			}
			n += 2 + runtime.Sov(uint64(l)) + l
		}
		if len(x.MaxTopInferersToReward) > 0 {
			l = 0
			for _, e := range x.MaxTopInferersToReward {
				l += runtime.Sov(uint64(e))
			}
			n += 2 + runtime.Sov(uint64(l)) + l
		}
		if len(x.MaxTopForecastersToReward) > 0 {
			l = 0
			for _, e := range x.MaxTopForecastersToReward {
				l += runtime.Sov(uint64(e))
			}
			n += 2 + runtime.Sov(uint64(l)) + l
		}
		if len(x.MaxTopReputersToReward) > 0 {
			l = 0
			for _, e := range x.MaxTopReputersToReward {
				l += runtime.Sov(uint64(e))
			}
			n += 2 + runtime.Sov(uint64(l)) + l
		}
		if len(x.CreateTopicFee) > 0 {
			for _, s := range x.CreateTopicFee {
				l = len(s)
				n += 2 + l + runtime.Sov(uint64(l))
			}
		}
		if len(x.GradientDescentMaxIters) > 0 {
			l = 0
			for _, e := range x.GradientDescentMaxIters {
				l += runtime.Sov(uint64(e))
			}
			n += 2 + runtime.Sov(uint64(l)) + l
		}
		if len(x.MaxRetriesToFulfilNoncesWorker) > 0 {
			l = 0
			for _, e := range x.MaxRetriesToFulfilNoncesWorker {
				l += runtime.Sov(uint64(e))
			}
			n += 2 + runtime.Sov(uint64(l)) + l
		}
		if len(x.MaxRetriesToFulfilNoncesReputer) > 0 {
			l = 0
			for _, e := range x.MaxRetriesToFulfilNoncesReputer {
				l += runtime.Sov(uint64(e))
			}
			n += 2 + runtime.Sov(uint64(l)) + l
		}
		if len(x.RegistrationFee) > 0 {
			for _, s := range x.RegistrationFee {
				l = len(s)
				n += 2 + l + runtime.Sov(uint64(l))
			}
		}
		if len(x.DefaultPageLimit) > 0 {
			l = 0
			for _, e := range x.DefaultPageLimit {
				l += runtime.Sov(uint64(e))
			}
			n += 2 + runtime.Sov(uint64(l)) + l
		}
		if len(x.MaxPageLimit) > 0 {
			l = 0
			for _, e := range x.MaxPageLimit {
				l += runtime.Sov(uint64(e))
			}
			n += 2 + runtime.Sov(uint64(l)) + l
		}
		if len(x.MinEpochLengthRecordLimit) > 0 {
			l = 0
			for _, e := range x.MinEpochLengthRecordLimit {
				l += runtime.Sov(uint64(e))
			}
			n += 2 + runtime.Sov(uint64(l)) + l
		}
		if len(x.BlocksPerMonth) > 0 {
			l = 0
			for _, e := range x.BlocksPerMonth {
				l += runtime.Sov(uint64(e))
			}
			n += 2 + runtime.Sov(uint64(l)) + l
		}
		if len(x.PRewardInference) > 0 {
			for _, s := range x.PRewardInference {
				l = len(s)
				n += 2 + l + runtime.Sov(uint64(l))
			}
		}
		if len(x.PRewardForecast) > 0 {
			for _, s := range x.PRewardForecast {
				l = len(s)
				n += 2 + l + runtime.Sov(uint64(l))
			}
		}
		if len(x.PRewardReputer) > 0 {
			for _, s := range x.PRewardReputer {
				l = len(s)
				n += 2 + l + runtime.Sov(uint64(l))
			}
		}
		if len(x.CRewardInference) > 0 {
			for _, s := range x.CRewardInference {
				l = len(s)
				n += 2 + l + runtime.Sov(uint64(l))
			}
		}
		if len(x.CRewardForecast) > 0 {
			for _, s := range x.CRewardForecast {
				l = len(s)
				n += 2 + l + runtime.Sov(uint64(l))
			}
		}
		if len(x.CNorm) > 0 {
			for _, s := range x.CNorm {
				l = len(s)
				n += 2 + l + runtime.Sov(uint64(l))
			}
		}
		if len(x.TopicFeeRevenueDecayRate) > 0 {
			for _, s := range x.TopicFeeRevenueDecayRate {
				l = len(s)
				n += 2 + l + runtime.Sov(uint64(l))
			}
		}
		if len(x.EpsilonReputer) > 0 {
			for _, s := range x.EpsilonReputer {
				l = len(s)
				n += 2 + l + runtime.Sov(uint64(l))
			}
		}
		if len(x.MinEffectiveTopicRevenue) > 0 {
			for _, s := range x.MinEffectiveTopicRevenue {
				l = len(s)
				n += 2 + l + runtime.Sov(uint64(l))
			}
		}
		if len(x.HalfMaxProcessStakeRemovalsEndBlock) > 0 {
			l = 0
			for _, e := range x.HalfMaxProcessStakeRemovalsEndBlock {
				l += runtime.Sov(uint64(e))
			}
			n += 2 + runtime.Sov(uint64(l)) + l
		}
		if len(x.DataSendingFee) > 0 {
			for _, s := range x.DataSendingFee {
				l = len(s)
				n += 2 + l + runtime.Sov(uint64(l))
			}
		}
		if len(x.EpsilonSafeDiv) > 0 {
			for _, s := range x.EpsilonSafeDiv {
				l = len(s)
				n += 2 + 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().(*OptionalParams)
		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.EpsilonSafeDiv) > 0 {
			for iNdEx := len(x.EpsilonSafeDiv) - 1; iNdEx >= 0; iNdEx-- {
				i -= len(x.EpsilonSafeDiv[iNdEx])
				copy(dAtA[i:], x.EpsilonSafeDiv[iNdEx])
				i = runtime.EncodeVarint(dAtA, i, uint64(len(x.EpsilonSafeDiv[iNdEx])))
				i--
				dAtA[i] = 0x2
				i--
				dAtA[i] = 0xe2
			}
		}
		if len(x.DataSendingFee) > 0 {
			for iNdEx := len(x.DataSendingFee) - 1; iNdEx >= 0; iNdEx-- {
				i -= len(x.DataSendingFee[iNdEx])
				copy(dAtA[i:], x.DataSendingFee[iNdEx])
				i = runtime.EncodeVarint(dAtA, i, uint64(len(x.DataSendingFee[iNdEx])))
				i--
				dAtA[i] = 0x2
				i--
				dAtA[i] = 0xda
			}
		}
		if len(x.HalfMaxProcessStakeRemovalsEndBlock) > 0 {
			var pksize2 int
			for _, num := range x.HalfMaxProcessStakeRemovalsEndBlock {
				pksize2 += runtime.Sov(uint64(num))
			}
			i -= pksize2
			j1 := i
			for _, num := range x.HalfMaxProcessStakeRemovalsEndBlock {
				for num >= 1<<7 {
					dAtA[j1] = uint8(uint64(num)&0x7f | 0x80)
					num >>= 7
					j1++
				}
				dAtA[j1] = uint8(num)
				j1++
			}
			i = runtime.EncodeVarint(dAtA, i, uint64(pksize2))
			i--
			dAtA[i] = 0x2
			i--
			dAtA[i] = 0xd2
		}
		if len(x.MinEffectiveTopicRevenue) > 0 {
			for iNdEx := len(x.MinEffectiveTopicRevenue) - 1; iNdEx >= 0; iNdEx-- {
				i -= len(x.MinEffectiveTopicRevenue[iNdEx])
				copy(dAtA[i:], x.MinEffectiveTopicRevenue[iNdEx])
				i = runtime.EncodeVarint(dAtA, i, uint64(len(x.MinEffectiveTopicRevenue[iNdEx])))
				i--
				dAtA[i] = 0x2
				i--
				dAtA[i] = 0xca
			}
		}
		if len(x.EpsilonReputer) > 0 {
			for iNdEx := len(x.EpsilonReputer) - 1; iNdEx >= 0; iNdEx-- {
				i -= len(x.EpsilonReputer[iNdEx])
				copy(dAtA[i:], x.EpsilonReputer[iNdEx])
				i = runtime.EncodeVarint(dAtA, i, uint64(len(x.EpsilonReputer[iNdEx])))
				i--
				dAtA[i] = 0x2
				i--
				dAtA[i] = 0xc2
			}
		}
		if len(x.TopicFeeRevenueDecayRate) > 0 {
			for iNdEx := len(x.TopicFeeRevenueDecayRate) - 1; iNdEx >= 0; iNdEx-- {
				i -= len(x.TopicFeeRevenueDecayRate[iNdEx])
				copy(dAtA[i:], x.TopicFeeRevenueDecayRate[iNdEx])
				i = runtime.EncodeVarint(dAtA, i, uint64(len(x.TopicFeeRevenueDecayRate[iNdEx])))
				i--
				dAtA[i] = 0x2
				i--
				dAtA[i] = 0xba
			}
		}
		if len(x.CNorm) > 0 {
			for iNdEx := len(x.CNorm) - 1; iNdEx >= 0; iNdEx-- {
				i -= len(x.CNorm[iNdEx])
				copy(dAtA[i:], x.CNorm[iNdEx])
				i = runtime.EncodeVarint(dAtA, i, uint64(len(x.CNorm[iNdEx])))
				i--
				dAtA[i] = 0x2
				i--
				dAtA[i] = 0xb2
			}
		}
		if len(x.CRewardForecast) > 0 {
			for iNdEx := len(x.CRewardForecast) - 1; iNdEx >= 0; iNdEx-- {
				i -= len(x.CRewardForecast[iNdEx])
				copy(dAtA[i:], x.CRewardForecast[iNdEx])
				i = runtime.EncodeVarint(dAtA, i, uint64(len(x.CRewardForecast[iNdEx])))
				i--
				dAtA[i] = 0x2
				i--
				dAtA[i] = 0xaa
			}
		}
		if len(x.CRewardInference) > 0 {
			for iNdEx := len(x.CRewardInference) - 1; iNdEx >= 0; iNdEx-- {
				i -= len(x.CRewardInference[iNdEx])
				copy(dAtA[i:], x.CRewardInference[iNdEx])
				i = runtime.EncodeVarint(dAtA, i, uint64(len(x.CRewardInference[iNdEx])))
				i--
				dAtA[i] = 0x2
				i--
				dAtA[i] = 0xa2
			}
		}
		if len(x.PRewardReputer) > 0 {
			for iNdEx := len(x.PRewardReputer) - 1; iNdEx >= 0; iNdEx-- {
				i -= len(x.PRewardReputer[iNdEx])
				copy(dAtA[i:], x.PRewardReputer[iNdEx])
				i = runtime.EncodeVarint(dAtA, i, uint64(len(x.PRewardReputer[iNdEx])))
				i--
				dAtA[i] = 0x2
				i--
				dAtA[i] = 0x9a
			}
		}
		if len(x.PRewardForecast) > 0 {
			for iNdEx := len(x.PRewardForecast) - 1; iNdEx >= 0; iNdEx-- {
				i -= len(x.PRewardForecast[iNdEx])
				copy(dAtA[i:], x.PRewardForecast[iNdEx])
				i = runtime.EncodeVarint(dAtA, i, uint64(len(x.PRewardForecast[iNdEx])))
				i--
				dAtA[i] = 0x2
				i--
				dAtA[i] = 0x92
			}
		}
		if len(x.PRewardInference) > 0 {
			for iNdEx := len(x.PRewardInference) - 1; iNdEx >= 0; iNdEx-- {
				i -= len(x.PRewardInference[iNdEx])
				copy(dAtA[i:], x.PRewardInference[iNdEx])
				i = runtime.EncodeVarint(dAtA, i, uint64(len(x.PRewardInference[iNdEx])))
				i--
				dAtA[i] = 0x2
				i--
				dAtA[i] = 0x8a
			}
		}
		if len(x.BlocksPerMonth) > 0 {
			var pksize4 int
			for _, num := range x.BlocksPerMonth {
				pksize4 += runtime.Sov(uint64(num))
			}
			i -= pksize4
			j3 := i
			for _, num := range x.BlocksPerMonth {
				for num >= 1<<7 {
					dAtA[j3] = uint8(uint64(num)&0x7f | 0x80)
					num >>= 7
					j3++
				}
				dAtA[j3] = uint8(num)
				j3++
			}
			i = runtime.EncodeVarint(dAtA, i, uint64(pksize4))
			i--
			dAtA[i] = 0x2
			i--
			dAtA[i] = 0x82
		}
		if len(x.MinEpochLengthRecordLimit) > 0 {
			var pksize6 int
			for _, num := range x.MinEpochLengthRecordLimit {
				pksize6 += runtime.Sov(uint64(num))
			}
			i -= pksize6
			j5 := i
			for _, num1 := range x.MinEpochLengthRecordLimit {
				num := uint64(num1)
				for num >= 1<<7 {
					dAtA[j5] = uint8(uint64(num)&0x7f | 0x80)
					num >>= 7
					j5++
				}
				dAtA[j5] = uint8(num)
				j5++
			}
			i = runtime.EncodeVarint(dAtA, i, uint64(pksize6))
			i--
			dAtA[i] = 0x1
			i--
			dAtA[i] = 0xfa
		}
		if len(x.MaxPageLimit) > 0 {
			var pksize8 int
			for _, num := range x.MaxPageLimit {
				pksize8 += runtime.Sov(uint64(num))
			}
			i -= pksize8
			j7 := i
			for _, num := range x.MaxPageLimit {
				for num >= 1<<7 {
					dAtA[j7] = uint8(uint64(num)&0x7f | 0x80)
					num >>= 7
					j7++
				}
				dAtA[j7] = uint8(num)
				j7++
			}
			i = runtime.EncodeVarint(dAtA, i, uint64(pksize8))
			i--
			dAtA[i] = 0x1
			i--
			dAtA[i] = 0xf2
		}
		if len(x.DefaultPageLimit) > 0 {
			var pksize10 int
			for _, num := range x.DefaultPageLimit {
				pksize10 += runtime.Sov(uint64(num))
			}
			i -= pksize10
			j9 := i
			for _, num := range x.DefaultPageLimit {
				for num >= 1<<7 {
					dAtA[j9] = uint8(uint64(num)&0x7f | 0x80)
					num >>= 7
					j9++
				}
				dAtA[j9] = uint8(num)
				j9++
			}
			i = runtime.EncodeVarint(dAtA, i, uint64(pksize10))
			i--
			dAtA[i] = 0x1
			i--
			dAtA[i] = 0xea
		}
		if len(x.RegistrationFee) > 0 {
			for iNdEx := len(x.RegistrationFee) - 1; iNdEx >= 0; iNdEx-- {
				i -= len(x.RegistrationFee[iNdEx])
				copy(dAtA[i:], x.RegistrationFee[iNdEx])
				i = runtime.EncodeVarint(dAtA, i, uint64(len(x.RegistrationFee[iNdEx])))
				i--
				dAtA[i] = 0x1
				i--
				dAtA[i] = 0xe2
			}
		}
		if len(x.MaxRetriesToFulfilNoncesReputer) > 0 {
			var pksize12 int
			for _, num := range x.MaxRetriesToFulfilNoncesReputer {
				pksize12 += runtime.Sov(uint64(num))
			}
			i -= pksize12
			j11 := i
			for _, num1 := range x.MaxRetriesToFulfilNoncesReputer {
				num := uint64(num1)
				for num >= 1<<7 {
					dAtA[j11] = uint8(uint64(num)&0x7f | 0x80)
					num >>= 7
					j11++
				}
				dAtA[j11] = uint8(num)
				j11++
			}
			i = runtime.EncodeVarint(dAtA, i, uint64(pksize12))
			i--
			dAtA[i] = 0x1
			i--
			dAtA[i] = 0xda
		}
		if len(x.MaxRetriesToFulfilNoncesWorker) > 0 {
			var pksize14 int
			for _, num := range x.MaxRetriesToFulfilNoncesWorker {
				pksize14 += runtime.Sov(uint64(num))
			}
			i -= pksize14
			j13 := i
			for _, num1 := range x.MaxRetriesToFulfilNoncesWorker {
				num := uint64(num1)
				for num >= 1<<7 {
					dAtA[j13] = uint8(uint64(num)&0x7f | 0x80)
					num >>= 7
					j13++
				}
				dAtA[j13] = uint8(num)
				j13++
			}
			i = runtime.EncodeVarint(dAtA, i, uint64(pksize14))
			i--
			dAtA[i] = 0x1
			i--
			dAtA[i] = 0xd2
		}
		if len(x.GradientDescentMaxIters) > 0 {
			var pksize16 int
			for _, num := range x.GradientDescentMaxIters {
				pksize16 += runtime.Sov(uint64(num))
			}
			i -= pksize16
			j15 := i
			for _, num := range x.GradientDescentMaxIters {
				for num >= 1<<7 {
					dAtA[j15] = uint8(uint64(num)&0x7f | 0x80)
					num >>= 7
					j15++
				}
				dAtA[j15] = uint8(num)
				j15++
			}
			i = runtime.EncodeVarint(dAtA, i, uint64(pksize16))
			i--
			dAtA[i] = 0x1
			i--
			dAtA[i] = 0xca
		}
		if len(x.CreateTopicFee) > 0 {
			for iNdEx := len(x.CreateTopicFee) - 1; iNdEx >= 0; iNdEx-- {
				i -= len(x.CreateTopicFee[iNdEx])
				copy(dAtA[i:], x.CreateTopicFee[iNdEx])
				i = runtime.EncodeVarint(dAtA, i, uint64(len(x.CreateTopicFee[iNdEx])))
				i--
				dAtA[i] = 0x1
				i--
				dAtA[i] = 0xc2
			}
		}
		if len(x.MaxTopReputersToReward) > 0 {
			var pksize18 int
			for _, num := range x.MaxTopReputersToReward {
				pksize18 += runtime.Sov(uint64(num))
			}
			i -= pksize18
			j17 := i
			for _, num := range x.MaxTopReputersToReward {
				for num >= 1<<7 {
					dAtA[j17] = uint8(uint64(num)&0x7f | 0x80)
					num >>= 7
					j17++
				}
				dAtA[j17] = uint8(num)
				j17++
			}
			i = runtime.EncodeVarint(dAtA, i, uint64(pksize18))
			i--
			dAtA[i] = 0x1
			i--
			dAtA[i] = 0xba
		}
		if len(x.MaxTopForecastersToReward) > 0 {
			var pksize20 int
			for _, num := range x.MaxTopForecastersToReward {
				pksize20 += runtime.Sov(uint64(num))
			}
			i -= pksize20
			j19 := i
			for _, num := range x.MaxTopForecastersToReward {
				for num >= 1<<7 {
					dAtA[j19] = uint8(uint64(num)&0x7f | 0x80)
					num >>= 7
					j19++
				}
				dAtA[j19] = uint8(num)
				j19++
			}
			i = runtime.EncodeVarint(dAtA, i, uint64(pksize20))
			i--
			dAtA[i] = 0x1
			i--
			dAtA[i] = 0xb2
		}
		if len(x.MaxTopInferersToReward) > 0 {
			var pksize22 int
			for _, num := range x.MaxTopInferersToReward {
				pksize22 += runtime.Sov(uint64(num))
			}
			i -= pksize22
			j21 := i
			for _, num := range x.MaxTopInferersToReward {
				for num >= 1<<7 {
					dAtA[j21] = uint8(uint64(num)&0x7f | 0x80)
					num >>= 7
					j21++
				}
				dAtA[j21] = uint8(num)
				j21++
			}
			i = runtime.EncodeVarint(dAtA, i, uint64(pksize22))
			i--
			dAtA[i] = 0x1
			i--
			dAtA[i] = 0xaa
		}
		if len(x.MaxSamplesToScaleScores) > 0 {
			var pksize24 int
			for _, num := range x.MaxSamplesToScaleScores {
				pksize24 += runtime.Sov(uint64(num))
			}
			i -= pksize24
			j23 := i
			for _, num := range x.MaxSamplesToScaleScores {
				for num >= 1<<7 {
					dAtA[j23] = uint8(uint64(num)&0x7f | 0x80)
					num >>= 7
					j23++
				}
				dAtA[j23] = uint8(num)
				j23++
			}
			i = runtime.EncodeVarint(dAtA, i, uint64(pksize24))
			i--
			dAtA[i] = 0x1
			i--
			dAtA[i] = 0xa2
		}
		if len(x.ValidatorsVsAlloraPercentReward) > 0 {
			for iNdEx := len(x.ValidatorsVsAlloraPercentReward) - 1; iNdEx >= 0; iNdEx-- {
				i -= len(x.ValidatorsVsAlloraPercentReward[iNdEx])
				copy(dAtA[i:], x.ValidatorsVsAlloraPercentReward[iNdEx])
				i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ValidatorsVsAlloraPercentReward[iNdEx])))
				i--
				dAtA[i] = 0x1
				i--
				dAtA[i] = 0x9a
			}
		}
		if len(x.TaskRewardAlpha) > 0 {
			for iNdEx := len(x.TaskRewardAlpha) - 1; iNdEx >= 0; iNdEx-- {
				i -= len(x.TaskRewardAlpha[iNdEx])
				copy(dAtA[i:], x.TaskRewardAlpha[iNdEx])
				i = runtime.EncodeVarint(dAtA, i, uint64(len(x.TaskRewardAlpha[iNdEx])))
				i--
				dAtA[i] = 0x1
				i--
				dAtA[i] = 0x92
			}
		}
		if len(x.TopicRewardAlpha) > 0 {
			for iNdEx := len(x.TopicRewardAlpha) - 1; iNdEx >= 0; iNdEx-- {
				i -= len(x.TopicRewardAlpha[iNdEx])
				copy(dAtA[i:], x.TopicRewardAlpha[iNdEx])
				i = runtime.EncodeVarint(dAtA, i, uint64(len(x.TopicRewardAlpha[iNdEx])))
				i--
				dAtA[i] = 0x1
				i--
				dAtA[i] = 0x8a
			}
		}
		if len(x.TopicRewardFeeRevenueImportance) > 0 {
			for iNdEx := len(x.TopicRewardFeeRevenueImportance) - 1; iNdEx >= 0; iNdEx-- {
				i -= len(x.TopicRewardFeeRevenueImportance[iNdEx])
				copy(dAtA[i:], x.TopicRewardFeeRevenueImportance[iNdEx])
				i = runtime.EncodeVarint(dAtA, i, uint64(len(x.TopicRewardFeeRevenueImportance[iNdEx])))
				i--
				dAtA[i] = 0x1
				i--
				dAtA[i] = 0x82
			}
		}
		if len(x.TopicRewardStakeImportance) > 0 {
			for iNdEx := len(x.TopicRewardStakeImportance) - 1; iNdEx >= 0; iNdEx-- {
				i -= len(x.TopicRewardStakeImportance[iNdEx])
				copy(dAtA[i:], x.TopicRewardStakeImportance[iNdEx])
				i = runtime.EncodeVarint(dAtA, i, uint64(len(x.TopicRewardStakeImportance[iNdEx])))
				i--
				dAtA[i] = 0x7a
			}
		}
		if len(x.MaxUnfulfilledReputerRequests) > 0 {
			var pksize26 int
			for _, num := range x.MaxUnfulfilledReputerRequests {
				pksize26 += runtime.Sov(uint64(num))
			}
			i -= pksize26
			j25 := i
			for _, num := range x.MaxUnfulfilledReputerRequests {
				for num >= 1<<7 {
					dAtA[j25] = uint8(uint64(num)&0x7f | 0x80)
					num >>= 7
					j25++
				}
				dAtA[j25] = uint8(num)
				j25++
			}
			i = runtime.EncodeVarint(dAtA, i, uint64(pksize26))
			i--
			dAtA[i] = 0x72
		}
		if len(x.MaxUnfulfilledWorkerRequests) > 0 {
			var pksize28 int
			for _, num := range x.MaxUnfulfilledWorkerRequests {
				pksize28 += runtime.Sov(uint64(num))
			}
			i -= pksize28
			j27 := i
			for _, num := range x.MaxUnfulfilledWorkerRequests {
				for num >= 1<<7 {
					dAtA[j27] = uint8(uint64(num)&0x7f | 0x80)
					num >>= 7
					j27++
				}
				dAtA[j27] = uint8(num)
				j27++
			}
			i = runtime.EncodeVarint(dAtA, i, uint64(pksize28))
			i--
			dAtA[i] = 0x6a
		}
		if len(x.MinStakeFraction) > 0 {
			for iNdEx := len(x.MinStakeFraction) - 1; iNdEx >= 0; iNdEx-- {
				i -= len(x.MinStakeFraction[iNdEx])
				copy(dAtA[i:], x.MinStakeFraction[iNdEx])
				i = runtime.EncodeVarint(dAtA, i, uint64(len(x.MinStakeFraction[iNdEx])))
				i--
				dAtA[i] = 0x5a
			}
		}
		if len(x.MaxGradientThreshold) > 0 {
			for iNdEx := len(x.MaxGradientThreshold) - 1; iNdEx >= 0; iNdEx-- {
				i -= len(x.MaxGradientThreshold[iNdEx])
				copy(dAtA[i:], x.MaxGradientThreshold[iNdEx])
				i = runtime.EncodeVarint(dAtA, i, uint64(len(x.MaxGradientThreshold[iNdEx])))
				i--
				dAtA[i] = 0x52
			}
		}
		if len(x.LearningRate) > 0 {
			for iNdEx := len(x.LearningRate) - 1; iNdEx >= 0; iNdEx-- {
				i -= len(x.LearningRate[iNdEx])
				copy(dAtA[i:], x.LearningRate[iNdEx])
				i = runtime.EncodeVarint(dAtA, i, uint64(len(x.LearningRate[iNdEx])))
				i--
				dAtA[i] = 0x4a
			}
		}
		if len(x.BetaEntropy) > 0 {
			for iNdEx := len(x.BetaEntropy) - 1; iNdEx >= 0; iNdEx-- {
				i -= len(x.BetaEntropy[iNdEx])
				copy(dAtA[i:], x.BetaEntropy[iNdEx])
				i = runtime.EncodeVarint(dAtA, i, uint64(len(x.BetaEntropy[iNdEx])))
				i--
				dAtA[i] = 0x42
			}
		}
		if len(x.MinEpochLength) > 0 {
			var pksize30 int
			for _, num := range x.MinEpochLength {
				pksize30 += runtime.Sov(uint64(num))
			}
			i -= pksize30
			j29 := i
			for _, num1 := range x.MinEpochLength {
				num := uint64(num1)
				for num >= 1<<7 {
					dAtA[j29] = uint8(uint64(num)&0x7f | 0x80)
					num >>= 7
					j29++
				}
				dAtA[j29] = uint8(num)
				j29++
			}
			i = runtime.EncodeVarint(dAtA, i, uint64(pksize30))
			i--
			dAtA[i] = 0x3a
		}
		if len(x.RemoveStakeDelayWindow) > 0 {
			var pksize32 int
			for _, num := range x.RemoveStakeDelayWindow {
				pksize32 += runtime.Sov(uint64(num))
			}
			i -= pksize32
			j31 := i
			for _, num1 := range x.RemoveStakeDelayWindow {
				num := uint64(num1)
				for num >= 1<<7 {
					dAtA[j31] = uint8(uint64(num)&0x7f | 0x80)
					num >>= 7
					j31++
				}
				dAtA[j31] = uint8(num)
				j31++
			}
			i = runtime.EncodeVarint(dAtA, i, uint64(pksize32))
			i--
			dAtA[i] = 0x32
		}
		if len(x.RequiredMinimumStake) > 0 {
			for iNdEx := len(x.RequiredMinimumStake) - 1; iNdEx >= 0; iNdEx-- {
				i -= len(x.RequiredMinimumStake[iNdEx])
				copy(dAtA[i:], x.RequiredMinimumStake[iNdEx])
				i = runtime.EncodeVarint(dAtA, i, uint64(len(x.RequiredMinimumStake[iNdEx])))
				i--
				dAtA[i] = 0x2a
			}
		}
		if len(x.MaxTopicsPerBlock) > 0 {
			var pksize34 int
			for _, num := range x.MaxTopicsPerBlock {
				pksize34 += runtime.Sov(uint64(num))
			}
			i -= pksize34
			j33 := i
			for _, num := range x.MaxTopicsPerBlock {
				for num >= 1<<7 {
					dAtA[j33] = uint8(uint64(num)&0x7f | 0x80)
					num >>= 7
					j33++
				}
				dAtA[j33] = uint8(num)
				j33++
			}
			i = runtime.EncodeVarint(dAtA, i, uint64(pksize34))
			i--
			dAtA[i] = 0x22
		}
		if len(x.MinTopicWeight) > 0 {
			for iNdEx := len(x.MinTopicWeight) - 1; iNdEx >= 0; iNdEx-- {
				i -= len(x.MinTopicWeight[iNdEx])
				copy(dAtA[i:], x.MinTopicWeight[iNdEx])
				i = runtime.EncodeVarint(dAtA, i, uint64(len(x.MinTopicWeight[iNdEx])))
				i--
				dAtA[i] = 0x1a
			}
		}
		if len(x.MaxSerializedMsgLength) > 0 {
			var pksize36 int
			for _, num := range x.MaxSerializedMsgLength {
				pksize36 += runtime.Sov(uint64(num))
			}
			i -= pksize36
			j35 := i
			for _, num1 := range x.MaxSerializedMsgLength {
				num := uint64(num1)
				for num >= 1<<7 {
					dAtA[j35] = uint8(uint64(num)&0x7f | 0x80)
					num >>= 7
					j35++
				}
				dAtA[j35] = uint8(num)
				j35++
			}
			i = runtime.EncodeVarint(dAtA, i, uint64(pksize36))
			i--
			dAtA[i] = 0x12
		}
		if len(x.Version) > 0 {
			for iNdEx := len(x.Version) - 1; iNdEx >= 0; iNdEx-- {
				i -= len(x.Version[iNdEx])
				copy(dAtA[i:], x.Version[iNdEx])
				i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Version[iNdEx])))
				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().(*OptionalParams)
		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: OptionalParams: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: OptionalParams: 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 Version", 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.Version = append(x.Version, string(dAtA[iNdEx:postIndex]))
				iNdEx = postIndex
			case 2:
				if wireType == 0 {
					var v int64
					for shift := uint(0); ; shift += 7 {
						if shift >= 64 {
							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.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 |= int64(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					x.MaxSerializedMsgLength = append(x.MaxSerializedMsgLength, v)
				} else if wireType == 2 {
					var packedLen 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++
						packedLen |= int(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					if packedLen < 0 {
						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
					}
					postIndex := iNdEx + packedLen
					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
					}
					var elementCount int
					var count int
					for _, integer := range dAtA[iNdEx:postIndex] {
						if integer < 128 {
							count++
						}
					}
					elementCount = count
					if elementCount != 0 && len(x.MaxSerializedMsgLength) == 0 {
						x.MaxSerializedMsgLength = make([]int64, 0, elementCount)
					}
					for iNdEx < postIndex {
						var v int64
						for shift := uint(0); ; shift += 7 {
							if shift >= 64 {
								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.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 |= int64(b&0x7F) << shift
							if b < 0x80 {
								break
							}
						}
						x.MaxSerializedMsgLength = append(x.MaxSerializedMsgLength, v)
					}
				} else {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MaxSerializedMsgLength", wireType)
				}
			case 3:
				if wireType != 2 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MinTopicWeight", 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.MinTopicWeight = append(x.MinTopicWeight, string(dAtA[iNdEx:postIndex]))
				iNdEx = postIndex
			case 4:
				if wireType == 0 {
					var v uint64
					for shift := uint(0); ; shift += 7 {
						if shift >= 64 {
							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
						}
						if iNdEx >= l {
							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
						}
						b := dAtA[iNdEx]
						iNdEx++
						v |= uint64(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					x.MaxTopicsPerBlock = append(x.MaxTopicsPerBlock, v)
				} else if wireType == 2 {
					var packedLen 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++
						packedLen |= int(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					if packedLen < 0 {
						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
					}
					postIndex := iNdEx + packedLen
					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
					}
					var elementCount int
					var count int
					for _, integer := range dAtA[iNdEx:postIndex] {
						if integer < 128 {
							count++
						}
					}
					elementCount = count
					if elementCount != 0 && len(x.MaxTopicsPerBlock) == 0 {
						x.MaxTopicsPerBlock = make([]uint64, 0, elementCount)
					}
					for iNdEx < postIndex {
						var v uint64
						for shift := uint(0); ; shift += 7 {
							if shift >= 64 {
								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
							}
							if iNdEx >= l {
								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
							}
							b := dAtA[iNdEx]
							iNdEx++
							v |= uint64(b&0x7F) << shift
							if b < 0x80 {
								break
							}
						}
						x.MaxTopicsPerBlock = append(x.MaxTopicsPerBlock, v)
					}
				} else {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MaxTopicsPerBlock", wireType)
				}
			case 5:
				if wireType != 2 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RequiredMinimumStake", 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.RequiredMinimumStake = append(x.RequiredMinimumStake, string(dAtA[iNdEx:postIndex]))
				iNdEx = postIndex
			case 6:
				if wireType == 0 {
					var v int64
					for shift := uint(0); ; shift += 7 {
						if shift >= 64 {
							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.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 |= int64(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					x.RemoveStakeDelayWindow = append(x.RemoveStakeDelayWindow, v)
				} else if wireType == 2 {
					var packedLen 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++
						packedLen |= int(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					if packedLen < 0 {
						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
					}
					postIndex := iNdEx + packedLen
					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
					}
					var elementCount int
					var count int
					for _, integer := range dAtA[iNdEx:postIndex] {
						if integer < 128 {
							count++
						}
					}
					elementCount = count
					if elementCount != 0 && len(x.RemoveStakeDelayWindow) == 0 {
						x.RemoveStakeDelayWindow = make([]int64, 0, elementCount)
					}
					for iNdEx < postIndex {
						var v int64
						for shift := uint(0); ; shift += 7 {
							if shift >= 64 {
								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.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 |= int64(b&0x7F) << shift
							if b < 0x80 {
								break
							}
						}
						x.RemoveStakeDelayWindow = append(x.RemoveStakeDelayWindow, v)
					}
				} else {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RemoveStakeDelayWindow", wireType)
				}
			case 7:
				if wireType == 0 {
					var v int64
					for shift := uint(0); ; shift += 7 {
						if shift >= 64 {
							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.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 |= int64(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					x.MinEpochLength = append(x.MinEpochLength, v)
				} else if wireType == 2 {
					var packedLen 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++
						packedLen |= int(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					if packedLen < 0 {
						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
					}
					postIndex := iNdEx + packedLen
					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
					}
					var elementCount int
					var count int
					for _, integer := range dAtA[iNdEx:postIndex] {
						if integer < 128 {
							count++
						}
					}
					elementCount = count
					if elementCount != 0 && len(x.MinEpochLength) == 0 {
						x.MinEpochLength = make([]int64, 0, elementCount)
					}
					for iNdEx < postIndex {
						var v int64
						for shift := uint(0); ; shift += 7 {
							if shift >= 64 {
								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.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 |= int64(b&0x7F) << shift
							if b < 0x80 {
								break
							}
						}
						x.MinEpochLength = append(x.MinEpochLength, v)
					}
				} else {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MinEpochLength", wireType)
				}
			case 8:
				if wireType != 2 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BetaEntropy", 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.BetaEntropy = append(x.BetaEntropy, string(dAtA[iNdEx:postIndex]))
				iNdEx = postIndex
			case 9:
				if wireType != 2 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field LearningRate", 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.LearningRate = append(x.LearningRate, string(dAtA[iNdEx:postIndex]))
				iNdEx = postIndex
			case 10:
				if wireType != 2 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MaxGradientThreshold", 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.MaxGradientThreshold = append(x.MaxGradientThreshold, string(dAtA[iNdEx:postIndex]))
				iNdEx = postIndex
			case 11:
				if wireType != 2 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MinStakeFraction", 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.MinStakeFraction = append(x.MinStakeFraction, string(dAtA[iNdEx:postIndex]))
				iNdEx = postIndex
			case 13:
				if wireType == 0 {
					var v uint64
					for shift := uint(0); ; shift += 7 {
						if shift >= 64 {
							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
						}
						if iNdEx >= l {
							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
						}
						b := dAtA[iNdEx]
						iNdEx++
						v |= uint64(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					x.MaxUnfulfilledWorkerRequests = append(x.MaxUnfulfilledWorkerRequests, v)
				} else if wireType == 2 {
					var packedLen 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++
						packedLen |= int(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					if packedLen < 0 {
						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
					}
					postIndex := iNdEx + packedLen
					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
					}
					var elementCount int
					var count int
					for _, integer := range dAtA[iNdEx:postIndex] {
						if integer < 128 {
							count++
						}
					}
					elementCount = count
					if elementCount != 0 && len(x.MaxUnfulfilledWorkerRequests) == 0 {
						x.MaxUnfulfilledWorkerRequests = make([]uint64, 0, elementCount)
					}
					for iNdEx < postIndex {
						var v uint64
						for shift := uint(0); ; shift += 7 {
							if shift >= 64 {
								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
							}
							if iNdEx >= l {
								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
							}
							b := dAtA[iNdEx]
							iNdEx++
							v |= uint64(b&0x7F) << shift
							if b < 0x80 {
								break
							}
						}
						x.MaxUnfulfilledWorkerRequests = append(x.MaxUnfulfilledWorkerRequests, v)
					}
				} else {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MaxUnfulfilledWorkerRequests", wireType)
				}
			case 14:
				if wireType == 0 {
					var v uint64
					for shift := uint(0); ; shift += 7 {
						if shift >= 64 {
							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
						}
						if iNdEx >= l {
							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
						}
						b := dAtA[iNdEx]
						iNdEx++
						v |= uint64(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					x.MaxUnfulfilledReputerRequests = append(x.MaxUnfulfilledReputerRequests, v)
				} else if wireType == 2 {
					var packedLen 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++
						packedLen |= int(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					if packedLen < 0 {
						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
					}
					postIndex := iNdEx + packedLen
					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
					}
					var elementCount int
					var count int
					for _, integer := range dAtA[iNdEx:postIndex] {
						if integer < 128 {
							count++
						}
					}
					elementCount = count
					if elementCount != 0 && len(x.MaxUnfulfilledReputerRequests) == 0 {
						x.MaxUnfulfilledReputerRequests = make([]uint64, 0, elementCount)
					}
					for iNdEx < postIndex {
						var v uint64
						for shift := uint(0); ; shift += 7 {
							if shift >= 64 {
								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
							}
							if iNdEx >= l {
								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
							}
							b := dAtA[iNdEx]
							iNdEx++
							v |= uint64(b&0x7F) << shift
							if b < 0x80 {
								break
							}
						}
						x.MaxUnfulfilledReputerRequests = append(x.MaxUnfulfilledReputerRequests, v)
					}
				} else {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MaxUnfulfilledReputerRequests", wireType)
				}
			case 15:
				if wireType != 2 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TopicRewardStakeImportance", 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.TopicRewardStakeImportance = append(x.TopicRewardStakeImportance, string(dAtA[iNdEx:postIndex]))
				iNdEx = postIndex
			case 16:
				if wireType != 2 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TopicRewardFeeRevenueImportance", 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.TopicRewardFeeRevenueImportance = append(x.TopicRewardFeeRevenueImportance, string(dAtA[iNdEx:postIndex]))
				iNdEx = postIndex
			case 17:
				if wireType != 2 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TopicRewardAlpha", 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.TopicRewardAlpha = append(x.TopicRewardAlpha, string(dAtA[iNdEx:postIndex]))
				iNdEx = postIndex
			case 18:
				if wireType != 2 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TaskRewardAlpha", 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.TaskRewardAlpha = append(x.TaskRewardAlpha, string(dAtA[iNdEx:postIndex]))
				iNdEx = postIndex
			case 19:
				if wireType != 2 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ValidatorsVsAlloraPercentReward", 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.ValidatorsVsAlloraPercentReward = append(x.ValidatorsVsAlloraPercentReward, string(dAtA[iNdEx:postIndex]))
				iNdEx = postIndex
			case 20:
				if wireType == 0 {
					var v uint64
					for shift := uint(0); ; shift += 7 {
						if shift >= 64 {
							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
						}
						if iNdEx >= l {
							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
						}
						b := dAtA[iNdEx]
						iNdEx++
						v |= uint64(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					x.MaxSamplesToScaleScores = append(x.MaxSamplesToScaleScores, v)
				} else if wireType == 2 {
					var packedLen 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++
						packedLen |= int(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					if packedLen < 0 {
						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
					}
					postIndex := iNdEx + packedLen
					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
					}
					var elementCount int
					var count int
					for _, integer := range dAtA[iNdEx:postIndex] {
						if integer < 128 {
							count++
						}
					}
					elementCount = count
					if elementCount != 0 && len(x.MaxSamplesToScaleScores) == 0 {
						x.MaxSamplesToScaleScores = make([]uint64, 0, elementCount)
					}
					for iNdEx < postIndex {
						var v uint64
						for shift := uint(0); ; shift += 7 {
							if shift >= 64 {
								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
							}
							if iNdEx >= l {
								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
							}
							b := dAtA[iNdEx]
							iNdEx++
							v |= uint64(b&0x7F) << shift
							if b < 0x80 {
								break
							}
						}
						x.MaxSamplesToScaleScores = append(x.MaxSamplesToScaleScores, v)
					}
				} else {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MaxSamplesToScaleScores", wireType)
				}
			case 21:
				if wireType == 0 {
					var v uint64
					for shift := uint(0); ; shift += 7 {
						if shift >= 64 {
							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
						}
						if iNdEx >= l {
							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
						}
						b := dAtA[iNdEx]
						iNdEx++
						v |= uint64(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					x.MaxTopInferersToReward = append(x.MaxTopInferersToReward, v)
				} else if wireType == 2 {
					var packedLen 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++
						packedLen |= int(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					if packedLen < 0 {
						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
					}
					postIndex := iNdEx + packedLen
					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
					}
					var elementCount int
					var count int
					for _, integer := range dAtA[iNdEx:postIndex] {
						if integer < 128 {
							count++
						}
					}
					elementCount = count
					if elementCount != 0 && len(x.MaxTopInferersToReward) == 0 {
						x.MaxTopInferersToReward = make([]uint64, 0, elementCount)
					}
					for iNdEx < postIndex {
						var v uint64
						for shift := uint(0); ; shift += 7 {
							if shift >= 64 {
								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
							}
							if iNdEx >= l {
								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
							}
							b := dAtA[iNdEx]
							iNdEx++
							v |= uint64(b&0x7F) << shift
							if b < 0x80 {
								break
							}
						}
						x.MaxTopInferersToReward = append(x.MaxTopInferersToReward, v)
					}
				} else {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MaxTopInferersToReward", wireType)
				}
			case 22:
				if wireType == 0 {
					var v uint64
					for shift := uint(0); ; shift += 7 {
						if shift >= 64 {
							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
						}
						if iNdEx >= l {
							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
						}
						b := dAtA[iNdEx]
						iNdEx++
						v |= uint64(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					x.MaxTopForecastersToReward = append(x.MaxTopForecastersToReward, v)
				} else if wireType == 2 {
					var packedLen 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++
						packedLen |= int(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					if packedLen < 0 {
						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
					}
					postIndex := iNdEx + packedLen
					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
					}
					var elementCount int
					var count int
					for _, integer := range dAtA[iNdEx:postIndex] {
						if integer < 128 {
							count++
						}
					}
					elementCount = count
					if elementCount != 0 && len(x.MaxTopForecastersToReward) == 0 {
						x.MaxTopForecastersToReward = make([]uint64, 0, elementCount)
					}
					for iNdEx < postIndex {
						var v uint64
						for shift := uint(0); ; shift += 7 {
							if shift >= 64 {
								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
							}
							if iNdEx >= l {
								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
							}
							b := dAtA[iNdEx]
							iNdEx++
							v |= uint64(b&0x7F) << shift
							if b < 0x80 {
								break
							}
						}
						x.MaxTopForecastersToReward = append(x.MaxTopForecastersToReward, v)
					}
				} else {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MaxTopForecastersToReward", wireType)
				}
			case 23:
				if wireType == 0 {
					var v uint64
					for shift := uint(0); ; shift += 7 {
						if shift >= 64 {
							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
						}
						if iNdEx >= l {
							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
						}
						b := dAtA[iNdEx]
						iNdEx++
						v |= uint64(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					x.MaxTopReputersToReward = append(x.MaxTopReputersToReward, v)
				} else if wireType == 2 {
					var packedLen 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++
						packedLen |= int(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					if packedLen < 0 {
						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
					}
					postIndex := iNdEx + packedLen
					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
					}
					var elementCount int
					var count int
					for _, integer := range dAtA[iNdEx:postIndex] {
						if integer < 128 {
							count++
						}
					}
					elementCount = count
					if elementCount != 0 && len(x.MaxTopReputersToReward) == 0 {
						x.MaxTopReputersToReward = make([]uint64, 0, elementCount)
					}
					for iNdEx < postIndex {
						var v uint64
						for shift := uint(0); ; shift += 7 {
							if shift >= 64 {
								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
							}
							if iNdEx >= l {
								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
							}
							b := dAtA[iNdEx]
							iNdEx++
							v |= uint64(b&0x7F) << shift
							if b < 0x80 {
								break
							}
						}
						x.MaxTopReputersToReward = append(x.MaxTopReputersToReward, v)
					}
				} else {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MaxTopReputersToReward", wireType)
				}
			case 24:
				if wireType != 2 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CreateTopicFee", 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.CreateTopicFee = append(x.CreateTopicFee, string(dAtA[iNdEx:postIndex]))
				iNdEx = postIndex
			case 25:
				if wireType == 0 {
					var v uint64
					for shift := uint(0); ; shift += 7 {
						if shift >= 64 {
							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
						}
						if iNdEx >= l {
							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
						}
						b := dAtA[iNdEx]
						iNdEx++
						v |= uint64(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					x.GradientDescentMaxIters = append(x.GradientDescentMaxIters, v)
				} else if wireType == 2 {
					var packedLen 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++
						packedLen |= int(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					if packedLen < 0 {
						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
					}
					postIndex := iNdEx + packedLen
					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
					}
					var elementCount int
					var count int
					for _, integer := range dAtA[iNdEx:postIndex] {
						if integer < 128 {
							count++
						}
					}
					elementCount = count
					if elementCount != 0 && len(x.GradientDescentMaxIters) == 0 {
						x.GradientDescentMaxIters = make([]uint64, 0, elementCount)
					}
					for iNdEx < postIndex {
						var v uint64
						for shift := uint(0); ; shift += 7 {
							if shift >= 64 {
								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
							}
							if iNdEx >= l {
								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
							}
							b := dAtA[iNdEx]
							iNdEx++
							v |= uint64(b&0x7F) << shift
							if b < 0x80 {
								break
							}
						}
						x.GradientDescentMaxIters = append(x.GradientDescentMaxIters, v)
					}
				} else {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field GradientDescentMaxIters", wireType)
				}
			case 26:
				if wireType == 0 {
					var v int64
					for shift := uint(0); ; shift += 7 {
						if shift >= 64 {
							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.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 |= int64(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					x.MaxRetriesToFulfilNoncesWorker = append(x.MaxRetriesToFulfilNoncesWorker, v)
				} else if wireType == 2 {
					var packedLen 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++
						packedLen |= int(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					if packedLen < 0 {
						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
					}
					postIndex := iNdEx + packedLen
					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
					}
					var elementCount int
					var count int
					for _, integer := range dAtA[iNdEx:postIndex] {
						if integer < 128 {
							count++
						}
					}
					elementCount = count
					if elementCount != 0 && len(x.MaxRetriesToFulfilNoncesWorker) == 0 {
						x.MaxRetriesToFulfilNoncesWorker = make([]int64, 0, elementCount)
					}
					for iNdEx < postIndex {
						var v int64
						for shift := uint(0); ; shift += 7 {
							if shift >= 64 {
								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.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 |= int64(b&0x7F) << shift
							if b < 0x80 {
								break
							}
						}
						x.MaxRetriesToFulfilNoncesWorker = append(x.MaxRetriesToFulfilNoncesWorker, v)
					}
				} else {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MaxRetriesToFulfilNoncesWorker", wireType)
				}
			case 27:
				if wireType == 0 {
					var v int64
					for shift := uint(0); ; shift += 7 {
						if shift >= 64 {
							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.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 |= int64(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					x.MaxRetriesToFulfilNoncesReputer = append(x.MaxRetriesToFulfilNoncesReputer, v)
				} else if wireType == 2 {
					var packedLen 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++
						packedLen |= int(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					if packedLen < 0 {
						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
					}
					postIndex := iNdEx + packedLen
					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
					}
					var elementCount int
					var count int
					for _, integer := range dAtA[iNdEx:postIndex] {
						if integer < 128 {
							count++
						}
					}
					elementCount = count
					if elementCount != 0 && len(x.MaxRetriesToFulfilNoncesReputer) == 0 {
						x.MaxRetriesToFulfilNoncesReputer = make([]int64, 0, elementCount)
					}
					for iNdEx < postIndex {
						var v int64
						for shift := uint(0); ; shift += 7 {
							if shift >= 64 {
								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.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 |= int64(b&0x7F) << shift
							if b < 0x80 {
								break
							}
						}
						x.MaxRetriesToFulfilNoncesReputer = append(x.MaxRetriesToFulfilNoncesReputer, v)
					}
				} else {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MaxRetriesToFulfilNoncesReputer", wireType)
				}
			case 28:
				if wireType != 2 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RegistrationFee", 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.RegistrationFee = append(x.RegistrationFee, string(dAtA[iNdEx:postIndex]))
				iNdEx = postIndex
			case 29:
				if wireType == 0 {
					var v uint64
					for shift := uint(0); ; shift += 7 {
						if shift >= 64 {
							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
						}
						if iNdEx >= l {
							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
						}
						b := dAtA[iNdEx]
						iNdEx++
						v |= uint64(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					x.DefaultPageLimit = append(x.DefaultPageLimit, v)
				} else if wireType == 2 {
					var packedLen 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++
						packedLen |= int(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					if packedLen < 0 {
						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
					}
					postIndex := iNdEx + packedLen
					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
					}
					var elementCount int
					var count int
					for _, integer := range dAtA[iNdEx:postIndex] {
						if integer < 128 {
							count++
						}
					}
					elementCount = count
					if elementCount != 0 && len(x.DefaultPageLimit) == 0 {
						x.DefaultPageLimit = make([]uint64, 0, elementCount)
					}
					for iNdEx < postIndex {
						var v uint64
						for shift := uint(0); ; shift += 7 {
							if shift >= 64 {
								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
							}
							if iNdEx >= l {
								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
							}
							b := dAtA[iNdEx]
							iNdEx++
							v |= uint64(b&0x7F) << shift
							if b < 0x80 {
								break
							}
						}
						x.DefaultPageLimit = append(x.DefaultPageLimit, v)
					}
				} else {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field DefaultPageLimit", wireType)
				}
			case 30:
				if wireType == 0 {
					var v uint64
					for shift := uint(0); ; shift += 7 {
						if shift >= 64 {
							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
						}
						if iNdEx >= l {
							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
						}
						b := dAtA[iNdEx]
						iNdEx++
						v |= uint64(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					x.MaxPageLimit = append(x.MaxPageLimit, v)
				} else if wireType == 2 {
					var packedLen 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++
						packedLen |= int(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					if packedLen < 0 {
						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
					}
					postIndex := iNdEx + packedLen
					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
					}
					var elementCount int
					var count int
					for _, integer := range dAtA[iNdEx:postIndex] {
						if integer < 128 {
							count++
						}
					}
					elementCount = count
					if elementCount != 0 && len(x.MaxPageLimit) == 0 {
						x.MaxPageLimit = make([]uint64, 0, elementCount)
					}
					for iNdEx < postIndex {
						var v uint64
						for shift := uint(0); ; shift += 7 {
							if shift >= 64 {
								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
							}
							if iNdEx >= l {
								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
							}
							b := dAtA[iNdEx]
							iNdEx++
							v |= uint64(b&0x7F) << shift
							if b < 0x80 {
								break
							}
						}
						x.MaxPageLimit = append(x.MaxPageLimit, v)
					}
				} else {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MaxPageLimit", wireType)
				}
			case 31:
				if wireType == 0 {
					var v int64
					for shift := uint(0); ; shift += 7 {
						if shift >= 64 {
							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.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 |= int64(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					x.MinEpochLengthRecordLimit = append(x.MinEpochLengthRecordLimit, v)
				} else if wireType == 2 {
					var packedLen 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++
						packedLen |= int(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					if packedLen < 0 {
						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
					}
					postIndex := iNdEx + packedLen
					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
					}
					var elementCount int
					var count int
					for _, integer := range dAtA[iNdEx:postIndex] {
						if integer < 128 {
							count++
						}
					}
					elementCount = count
					if elementCount != 0 && len(x.MinEpochLengthRecordLimit) == 0 {
						x.MinEpochLengthRecordLimit = make([]int64, 0, elementCount)
					}
					for iNdEx < postIndex {
						var v int64
						for shift := uint(0); ; shift += 7 {
							if shift >= 64 {
								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.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 |= int64(b&0x7F) << shift
							if b < 0x80 {
								break
							}
						}
						x.MinEpochLengthRecordLimit = append(x.MinEpochLengthRecordLimit, v)
					}
				} else {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MinEpochLengthRecordLimit", wireType)
				}
			case 32:
				if wireType == 0 {
					var v uint64
					for shift := uint(0); ; shift += 7 {
						if shift >= 64 {
							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
						}
						if iNdEx >= l {
							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
						}
						b := dAtA[iNdEx]
						iNdEx++
						v |= uint64(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					x.BlocksPerMonth = append(x.BlocksPerMonth, v)
				} else if wireType == 2 {
					var packedLen 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++
						packedLen |= int(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					if packedLen < 0 {
						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
					}
					postIndex := iNdEx + packedLen
					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
					}
					var elementCount int
					var count int
					for _, integer := range dAtA[iNdEx:postIndex] {
						if integer < 128 {
							count++
						}
					}
					elementCount = count
					if elementCount != 0 && len(x.BlocksPerMonth) == 0 {
						x.BlocksPerMonth = make([]uint64, 0, elementCount)
					}
					for iNdEx < postIndex {
						var v uint64
						for shift := uint(0); ; shift += 7 {
							if shift >= 64 {
								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
							}
							if iNdEx >= l {
								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
							}
							b := dAtA[iNdEx]
							iNdEx++
							v |= uint64(b&0x7F) << shift
							if b < 0x80 {
								break
							}
						}
						x.BlocksPerMonth = append(x.BlocksPerMonth, v)
					}
				} else {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BlocksPerMonth", wireType)
				}
			case 33:
				if wireType != 2 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PRewardInference", 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.PRewardInference = append(x.PRewardInference, string(dAtA[iNdEx:postIndex]))
				iNdEx = postIndex
			case 34:
				if wireType != 2 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PRewardForecast", 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.PRewardForecast = append(x.PRewardForecast, string(dAtA[iNdEx:postIndex]))
				iNdEx = postIndex
			case 35:
				if wireType != 2 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PRewardReputer", 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.PRewardReputer = append(x.PRewardReputer, string(dAtA[iNdEx:postIndex]))
				iNdEx = postIndex
			case 36:
				if wireType != 2 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CRewardInference", 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.CRewardInference = append(x.CRewardInference, string(dAtA[iNdEx:postIndex]))
				iNdEx = postIndex
			case 37:
				if wireType != 2 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CRewardForecast", 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.CRewardForecast = append(x.CRewardForecast, string(dAtA[iNdEx:postIndex]))
				iNdEx = postIndex
			case 38:
				if wireType != 2 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CNorm", 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.CNorm = append(x.CNorm, string(dAtA[iNdEx:postIndex]))
				iNdEx = postIndex
			case 39:
				if wireType != 2 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TopicFeeRevenueDecayRate", 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.TopicFeeRevenueDecayRate = append(x.TopicFeeRevenueDecayRate, string(dAtA[iNdEx:postIndex]))
				iNdEx = postIndex
			case 40:
				if wireType != 2 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field EpsilonReputer", 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.EpsilonReputer = append(x.EpsilonReputer, string(dAtA[iNdEx:postIndex]))
				iNdEx = postIndex
			case 41:
				if wireType != 2 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MinEffectiveTopicRevenue", 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.MinEffectiveTopicRevenue = append(x.MinEffectiveTopicRevenue, string(dAtA[iNdEx:postIndex]))
				iNdEx = postIndex
			case 42:
				if wireType == 0 {
					var v uint64
					for shift := uint(0); ; shift += 7 {
						if shift >= 64 {
							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
						}
						if iNdEx >= l {
							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
						}
						b := dAtA[iNdEx]
						iNdEx++
						v |= uint64(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					x.HalfMaxProcessStakeRemovalsEndBlock = append(x.HalfMaxProcessStakeRemovalsEndBlock, v)
				} else if wireType == 2 {
					var packedLen 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++
						packedLen |= int(b&0x7F) << shift
						if b < 0x80 {
							break
						}
					}
					if packedLen < 0 {
						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
					}
					postIndex := iNdEx + packedLen
					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
					}
					var elementCount int
					var count int
					for _, integer := range dAtA[iNdEx:postIndex] {
						if integer < 128 {
							count++
						}
					}
					elementCount = count
					if elementCount != 0 && len(x.HalfMaxProcessStakeRemovalsEndBlock) == 0 {
						x.HalfMaxProcessStakeRemovalsEndBlock = make([]uint64, 0, elementCount)
					}
					for iNdEx < postIndex {
						var v uint64
						for shift := uint(0); ; shift += 7 {
							if shift >= 64 {
								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
							}
							if iNdEx >= l {
								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
							}
							b := dAtA[iNdEx]
							iNdEx++
							v |= uint64(b&0x7F) << shift
							if b < 0x80 {
								break
							}
						}
						x.HalfMaxProcessStakeRemovalsEndBlock = append(x.HalfMaxProcessStakeRemovalsEndBlock, v)
					}
				} else {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field HalfMaxProcessStakeRemovalsEndBlock", wireType)
				}
			case 43:
				if wireType != 2 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field DataSendingFee", 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.DataSendingFee = append(x.DataSendingFee, string(dAtA[iNdEx:postIndex]))
				iNdEx = postIndex
			case 44:
				if wireType != 2 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field EpsilonSafeDiv", 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.EpsilonSafeDiv = append(x.EpsilonSafeDiv, 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_MsgUpdateParams        protoreflect.MessageDescriptor
	fd_MsgUpdateParams_sender protoreflect.FieldDescriptor
	fd_MsgUpdateParams_params protoreflect.FieldDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_MsgUpdateParams = File_emissions_v2_tx_proto.Messages().ByName("MsgUpdateParams")
	fd_MsgUpdateParams_sender = md_MsgUpdateParams.Fields().ByName("sender")
	fd_MsgUpdateParams_params = md_MsgUpdateParams.Fields().ByName("params")
}

var _ protoreflect.Message = (*fastReflection_MsgUpdateParams)(nil)

type fastReflection_MsgUpdateParams MsgUpdateParams

func (x *MsgUpdateParams) ProtoReflect() protoreflect.Message {
	return (*fastReflection_MsgUpdateParams)(x)
}

func (x *MsgUpdateParams) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_tx_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

var _fastReflection_MsgUpdateParams_messageType fastReflection_MsgUpdateParams_messageType
var _ protoreflect.MessageType = fastReflection_MsgUpdateParams_messageType{}

type fastReflection_MsgUpdateParams_messageType struct{}

func (x fastReflection_MsgUpdateParams_messageType) Zero() protoreflect.Message {
	return (*fastReflection_MsgUpdateParams)(nil)
}
func (x fastReflection_MsgUpdateParams_messageType) New() protoreflect.Message {
	return new(fastReflection_MsgUpdateParams)
}
func (x fastReflection_MsgUpdateParams_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgUpdateParams
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_MsgUpdateParams) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgUpdateParams
}

// 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_MsgUpdateParams) Type() protoreflect.MessageType {
	return _fastReflection_MsgUpdateParams_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_MsgUpdateParams) New() protoreflect.Message {
	return new(fastReflection_MsgUpdateParams)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_MsgUpdateParams) Interface() protoreflect.ProtoMessage {
	return (*MsgUpdateParams)(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_MsgUpdateParams) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
	if x.Sender != "" {
		value := protoreflect.ValueOfString(x.Sender)
		if !f(fd_MsgUpdateParams_sender, value) {
			return
		}
	}
	if x.Params != nil {
		value := protoreflect.ValueOfMessage(x.Params.ProtoReflect())
		if !f(fd_MsgUpdateParams_params, 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_MsgUpdateParams) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	case "emissions.v2.MsgUpdateParams.sender":
		return x.Sender != ""
	case "emissions.v2.MsgUpdateParams.params":
		return x.Params != nil
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgUpdateParams"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgUpdateParams 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_MsgUpdateParams) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	case "emissions.v2.MsgUpdateParams.sender":
		x.Sender = ""
	case "emissions.v2.MsgUpdateParams.params":
		x.Params = nil
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgUpdateParams"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgUpdateParams 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_MsgUpdateParams) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	case "emissions.v2.MsgUpdateParams.sender":
		value := x.Sender
		return protoreflect.ValueOfString(value)
	case "emissions.v2.MsgUpdateParams.params":
		value := x.Params
		return protoreflect.ValueOfMessage(value.ProtoReflect())
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgUpdateParams"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgUpdateParams 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_MsgUpdateParams) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	case "emissions.v2.MsgUpdateParams.sender":
		x.Sender = value.Interface().(string)
	case "emissions.v2.MsgUpdateParams.params":
		x.Params = value.Message().Interface().(*OptionalParams)
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgUpdateParams"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgUpdateParams 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_MsgUpdateParams) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgUpdateParams.params":
		if x.Params == nil {
			x.Params = new(OptionalParams)
		}
		return protoreflect.ValueOfMessage(x.Params.ProtoReflect())
	case "emissions.v2.MsgUpdateParams.sender":
		panic(fmt.Errorf("field sender of message emissions.v2.MsgUpdateParams is not mutable"))
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgUpdateParams"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgUpdateParams 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_MsgUpdateParams) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgUpdateParams.sender":
		return protoreflect.ValueOfString("")
	case "emissions.v2.MsgUpdateParams.params":
		m := new(OptionalParams)
		return protoreflect.ValueOfMessage(m.ProtoReflect())
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgUpdateParams"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgUpdateParams 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_MsgUpdateParams) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.MsgUpdateParams", 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_MsgUpdateParams) 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_MsgUpdateParams) 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_MsgUpdateParams) 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_MsgUpdateParams) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*MsgUpdateParams)
		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.Sender)
		if l > 0 {
			n += 1 + l + runtime.Sov(uint64(l))
		}
		if x.Params != nil {
			l = options.Size(x.Params)
			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().(*MsgUpdateParams)
		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.Params != nil {
			encoded, err := options.Marshal(x.Params)
			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.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 {
			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().(*MsgUpdateParams)
		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: MsgUpdateParams: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateParams: 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 Params", 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.Params == nil {
					x.Params = &OptionalParams{}
				}
				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Params); 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_MsgUpdateParamsResponse protoreflect.MessageDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_MsgUpdateParamsResponse = File_emissions_v2_tx_proto.Messages().ByName("MsgUpdateParamsResponse")
}

var _ protoreflect.Message = (*fastReflection_MsgUpdateParamsResponse)(nil)

type fastReflection_MsgUpdateParamsResponse MsgUpdateParamsResponse

func (x *MsgUpdateParamsResponse) ProtoReflect() protoreflect.Message {
	return (*fastReflection_MsgUpdateParamsResponse)(x)
}

func (x *MsgUpdateParamsResponse) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_tx_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

var _fastReflection_MsgUpdateParamsResponse_messageType fastReflection_MsgUpdateParamsResponse_messageType
var _ protoreflect.MessageType = fastReflection_MsgUpdateParamsResponse_messageType{}

type fastReflection_MsgUpdateParamsResponse_messageType struct{}

func (x fastReflection_MsgUpdateParamsResponse_messageType) Zero() protoreflect.Message {
	return (*fastReflection_MsgUpdateParamsResponse)(nil)
}
func (x fastReflection_MsgUpdateParamsResponse_messageType) New() protoreflect.Message {
	return new(fastReflection_MsgUpdateParamsResponse)
}
func (x fastReflection_MsgUpdateParamsResponse_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgUpdateParamsResponse
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_MsgUpdateParamsResponse) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgUpdateParamsResponse
}

// 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_MsgUpdateParamsResponse) Type() protoreflect.MessageType {
	return _fastReflection_MsgUpdateParamsResponse_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_MsgUpdateParamsResponse) New() protoreflect.Message {
	return new(fastReflection_MsgUpdateParamsResponse)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_MsgUpdateParamsResponse) Interface() protoreflect.ProtoMessage {
	return (*MsgUpdateParamsResponse)(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_MsgUpdateParamsResponse) 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_MsgUpdateParamsResponse) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgUpdateParamsResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgUpdateParamsResponse 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_MsgUpdateParamsResponse) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgUpdateParamsResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgUpdateParamsResponse 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_MsgUpdateParamsResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgUpdateParamsResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgUpdateParamsResponse 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_MsgUpdateParamsResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgUpdateParamsResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgUpdateParamsResponse 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_MsgUpdateParamsResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgUpdateParamsResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgUpdateParamsResponse 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_MsgUpdateParamsResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgUpdateParamsResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgUpdateParamsResponse 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_MsgUpdateParamsResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.MsgUpdateParamsResponse", 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_MsgUpdateParamsResponse) 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_MsgUpdateParamsResponse) 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_MsgUpdateParamsResponse) 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_MsgUpdateParamsResponse) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*MsgUpdateParamsResponse)
		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().(*MsgUpdateParamsResponse)
		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().(*MsgUpdateParamsResponse)
		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: MsgUpdateParamsResponse: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgUpdateParamsResponse: 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_MsgCreateNewTopic                          protoreflect.MessageDescriptor
	fd_MsgCreateNewTopic_creator                  protoreflect.FieldDescriptor
	fd_MsgCreateNewTopic_metadata                 protoreflect.FieldDescriptor
	fd_MsgCreateNewTopic_loss_method              protoreflect.FieldDescriptor
	fd_MsgCreateNewTopic_epoch_length             protoreflect.FieldDescriptor
	fd_MsgCreateNewTopic_ground_truth_lag         protoreflect.FieldDescriptor
	fd_MsgCreateNewTopic_p_norm                   protoreflect.FieldDescriptor
	fd_MsgCreateNewTopic_alpha_regret             protoreflect.FieldDescriptor
	fd_MsgCreateNewTopic_allow_negative           protoreflect.FieldDescriptor
	fd_MsgCreateNewTopic_epsilon                  protoreflect.FieldDescriptor
	fd_MsgCreateNewTopic_worker_submission_window protoreflect.FieldDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_MsgCreateNewTopic = File_emissions_v2_tx_proto.Messages().ByName("MsgCreateNewTopic")
	fd_MsgCreateNewTopic_creator = md_MsgCreateNewTopic.Fields().ByName("creator")
	fd_MsgCreateNewTopic_metadata = md_MsgCreateNewTopic.Fields().ByName("metadata")
	fd_MsgCreateNewTopic_loss_method = md_MsgCreateNewTopic.Fields().ByName("loss_method")
	fd_MsgCreateNewTopic_epoch_length = md_MsgCreateNewTopic.Fields().ByName("epoch_length")
	fd_MsgCreateNewTopic_ground_truth_lag = md_MsgCreateNewTopic.Fields().ByName("ground_truth_lag")
	fd_MsgCreateNewTopic_p_norm = md_MsgCreateNewTopic.Fields().ByName("p_norm")
	fd_MsgCreateNewTopic_alpha_regret = md_MsgCreateNewTopic.Fields().ByName("alpha_regret")
	fd_MsgCreateNewTopic_allow_negative = md_MsgCreateNewTopic.Fields().ByName("allow_negative")
	fd_MsgCreateNewTopic_epsilon = md_MsgCreateNewTopic.Fields().ByName("epsilon")
	fd_MsgCreateNewTopic_worker_submission_window = md_MsgCreateNewTopic.Fields().ByName("worker_submission_window")
}

var _ protoreflect.Message = (*fastReflection_MsgCreateNewTopic)(nil)

type fastReflection_MsgCreateNewTopic MsgCreateNewTopic

func (x *MsgCreateNewTopic) ProtoReflect() protoreflect.Message {
	return (*fastReflection_MsgCreateNewTopic)(x)
}

func (x *MsgCreateNewTopic) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_tx_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

var _fastReflection_MsgCreateNewTopic_messageType fastReflection_MsgCreateNewTopic_messageType
var _ protoreflect.MessageType = fastReflection_MsgCreateNewTopic_messageType{}

type fastReflection_MsgCreateNewTopic_messageType struct{}

func (x fastReflection_MsgCreateNewTopic_messageType) Zero() protoreflect.Message {
	return (*fastReflection_MsgCreateNewTopic)(nil)
}
func (x fastReflection_MsgCreateNewTopic_messageType) New() protoreflect.Message {
	return new(fastReflection_MsgCreateNewTopic)
}
func (x fastReflection_MsgCreateNewTopic_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgCreateNewTopic
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_MsgCreateNewTopic) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgCreateNewTopic
}

// 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_MsgCreateNewTopic) Type() protoreflect.MessageType {
	return _fastReflection_MsgCreateNewTopic_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_MsgCreateNewTopic) New() protoreflect.Message {
	return new(fastReflection_MsgCreateNewTopic)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_MsgCreateNewTopic) Interface() protoreflect.ProtoMessage {
	return (*MsgCreateNewTopic)(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_MsgCreateNewTopic) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
	if x.Creator != "" {
		value := protoreflect.ValueOfString(x.Creator)
		if !f(fd_MsgCreateNewTopic_creator, value) {
			return
		}
	}
	if x.Metadata != "" {
		value := protoreflect.ValueOfString(x.Metadata)
		if !f(fd_MsgCreateNewTopic_metadata, value) {
			return
		}
	}
	if x.LossMethod != "" {
		value := protoreflect.ValueOfString(x.LossMethod)
		if !f(fd_MsgCreateNewTopic_loss_method, value) {
			return
		}
	}
	if x.EpochLength != int64(0) {
		value := protoreflect.ValueOfInt64(x.EpochLength)
		if !f(fd_MsgCreateNewTopic_epoch_length, value) {
			return
		}
	}
	if x.GroundTruthLag != int64(0) {
		value := protoreflect.ValueOfInt64(x.GroundTruthLag)
		if !f(fd_MsgCreateNewTopic_ground_truth_lag, value) {
			return
		}
	}
	if x.PNorm != "" {
		value := protoreflect.ValueOfString(x.PNorm)
		if !f(fd_MsgCreateNewTopic_p_norm, value) {
			return
		}
	}
	if x.AlphaRegret != "" {
		value := protoreflect.ValueOfString(x.AlphaRegret)
		if !f(fd_MsgCreateNewTopic_alpha_regret, value) {
			return
		}
	}
	if x.AllowNegative != false {
		value := protoreflect.ValueOfBool(x.AllowNegative)
		if !f(fd_MsgCreateNewTopic_allow_negative, value) {
			return
		}
	}
	if x.Epsilon != "" {
		value := protoreflect.ValueOfString(x.Epsilon)
		if !f(fd_MsgCreateNewTopic_epsilon, value) {
			return
		}
	}
	if x.WorkerSubmissionWindow != int64(0) {
		value := protoreflect.ValueOfInt64(x.WorkerSubmissionWindow)
		if !f(fd_MsgCreateNewTopic_worker_submission_window, 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_MsgCreateNewTopic) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	case "emissions.v2.MsgCreateNewTopic.creator":
		return x.Creator != ""
	case "emissions.v2.MsgCreateNewTopic.metadata":
		return x.Metadata != ""
	case "emissions.v2.MsgCreateNewTopic.loss_method":
		return x.LossMethod != ""
	case "emissions.v2.MsgCreateNewTopic.epoch_length":
		return x.EpochLength != int64(0)
	case "emissions.v2.MsgCreateNewTopic.ground_truth_lag":
		return x.GroundTruthLag != int64(0)
	case "emissions.v2.MsgCreateNewTopic.p_norm":
		return x.PNorm != ""
	case "emissions.v2.MsgCreateNewTopic.alpha_regret":
		return x.AlphaRegret != ""
	case "emissions.v2.MsgCreateNewTopic.allow_negative":
		return x.AllowNegative != false
	case "emissions.v2.MsgCreateNewTopic.epsilon":
		return x.Epsilon != ""
	case "emissions.v2.MsgCreateNewTopic.worker_submission_window":
		return x.WorkerSubmissionWindow != int64(0)
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCreateNewTopic"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCreateNewTopic 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_MsgCreateNewTopic) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	case "emissions.v2.MsgCreateNewTopic.creator":
		x.Creator = ""
	case "emissions.v2.MsgCreateNewTopic.metadata":
		x.Metadata = ""
	case "emissions.v2.MsgCreateNewTopic.loss_method":
		x.LossMethod = ""
	case "emissions.v2.MsgCreateNewTopic.epoch_length":
		x.EpochLength = int64(0)
	case "emissions.v2.MsgCreateNewTopic.ground_truth_lag":
		x.GroundTruthLag = int64(0)
	case "emissions.v2.MsgCreateNewTopic.p_norm":
		x.PNorm = ""
	case "emissions.v2.MsgCreateNewTopic.alpha_regret":
		x.AlphaRegret = ""
	case "emissions.v2.MsgCreateNewTopic.allow_negative":
		x.AllowNegative = false
	case "emissions.v2.MsgCreateNewTopic.epsilon":
		x.Epsilon = ""
	case "emissions.v2.MsgCreateNewTopic.worker_submission_window":
		x.WorkerSubmissionWindow = int64(0)
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCreateNewTopic"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCreateNewTopic 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_MsgCreateNewTopic) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	case "emissions.v2.MsgCreateNewTopic.creator":
		value := x.Creator
		return protoreflect.ValueOfString(value)
	case "emissions.v2.MsgCreateNewTopic.metadata":
		value := x.Metadata
		return protoreflect.ValueOfString(value)
	case "emissions.v2.MsgCreateNewTopic.loss_method":
		value := x.LossMethod
		return protoreflect.ValueOfString(value)
	case "emissions.v2.MsgCreateNewTopic.epoch_length":
		value := x.EpochLength
		return protoreflect.ValueOfInt64(value)
	case "emissions.v2.MsgCreateNewTopic.ground_truth_lag":
		value := x.GroundTruthLag
		return protoreflect.ValueOfInt64(value)
	case "emissions.v2.MsgCreateNewTopic.p_norm":
		value := x.PNorm
		return protoreflect.ValueOfString(value)
	case "emissions.v2.MsgCreateNewTopic.alpha_regret":
		value := x.AlphaRegret
		return protoreflect.ValueOfString(value)
	case "emissions.v2.MsgCreateNewTopic.allow_negative":
		value := x.AllowNegative
		return protoreflect.ValueOfBool(value)
	case "emissions.v2.MsgCreateNewTopic.epsilon":
		value := x.Epsilon
		return protoreflect.ValueOfString(value)
	case "emissions.v2.MsgCreateNewTopic.worker_submission_window":
		value := x.WorkerSubmissionWindow
		return protoreflect.ValueOfInt64(value)
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCreateNewTopic"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCreateNewTopic 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_MsgCreateNewTopic) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	case "emissions.v2.MsgCreateNewTopic.creator":
		x.Creator = value.Interface().(string)
	case "emissions.v2.MsgCreateNewTopic.metadata":
		x.Metadata = value.Interface().(string)
	case "emissions.v2.MsgCreateNewTopic.loss_method":
		x.LossMethod = value.Interface().(string)
	case "emissions.v2.MsgCreateNewTopic.epoch_length":
		x.EpochLength = value.Int()
	case "emissions.v2.MsgCreateNewTopic.ground_truth_lag":
		x.GroundTruthLag = value.Int()
	case "emissions.v2.MsgCreateNewTopic.p_norm":
		x.PNorm = value.Interface().(string)
	case "emissions.v2.MsgCreateNewTopic.alpha_regret":
		x.AlphaRegret = value.Interface().(string)
	case "emissions.v2.MsgCreateNewTopic.allow_negative":
		x.AllowNegative = value.Bool()
	case "emissions.v2.MsgCreateNewTopic.epsilon":
		x.Epsilon = value.Interface().(string)
	case "emissions.v2.MsgCreateNewTopic.worker_submission_window":
		x.WorkerSubmissionWindow = value.Int()
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCreateNewTopic"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCreateNewTopic 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_MsgCreateNewTopic) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgCreateNewTopic.creator":
		panic(fmt.Errorf("field creator of message emissions.v2.MsgCreateNewTopic is not mutable"))
	case "emissions.v2.MsgCreateNewTopic.metadata":
		panic(fmt.Errorf("field metadata of message emissions.v2.MsgCreateNewTopic is not mutable"))
	case "emissions.v2.MsgCreateNewTopic.loss_method":
		panic(fmt.Errorf("field loss_method of message emissions.v2.MsgCreateNewTopic is not mutable"))
	case "emissions.v2.MsgCreateNewTopic.epoch_length":
		panic(fmt.Errorf("field epoch_length of message emissions.v2.MsgCreateNewTopic is not mutable"))
	case "emissions.v2.MsgCreateNewTopic.ground_truth_lag":
		panic(fmt.Errorf("field ground_truth_lag of message emissions.v2.MsgCreateNewTopic is not mutable"))
	case "emissions.v2.MsgCreateNewTopic.p_norm":
		panic(fmt.Errorf("field p_norm of message emissions.v2.MsgCreateNewTopic is not mutable"))
	case "emissions.v2.MsgCreateNewTopic.alpha_regret":
		panic(fmt.Errorf("field alpha_regret of message emissions.v2.MsgCreateNewTopic is not mutable"))
	case "emissions.v2.MsgCreateNewTopic.allow_negative":
		panic(fmt.Errorf("field allow_negative of message emissions.v2.MsgCreateNewTopic is not mutable"))
	case "emissions.v2.MsgCreateNewTopic.epsilon":
		panic(fmt.Errorf("field epsilon of message emissions.v2.MsgCreateNewTopic is not mutable"))
	case "emissions.v2.MsgCreateNewTopic.worker_submission_window":
		panic(fmt.Errorf("field worker_submission_window of message emissions.v2.MsgCreateNewTopic is not mutable"))
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCreateNewTopic"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCreateNewTopic 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_MsgCreateNewTopic) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgCreateNewTopic.creator":
		return protoreflect.ValueOfString("")
	case "emissions.v2.MsgCreateNewTopic.metadata":
		return protoreflect.ValueOfString("")
	case "emissions.v2.MsgCreateNewTopic.loss_method":
		return protoreflect.ValueOfString("")
	case "emissions.v2.MsgCreateNewTopic.epoch_length":
		return protoreflect.ValueOfInt64(int64(0))
	case "emissions.v2.MsgCreateNewTopic.ground_truth_lag":
		return protoreflect.ValueOfInt64(int64(0))
	case "emissions.v2.MsgCreateNewTopic.p_norm":
		return protoreflect.ValueOfString("")
	case "emissions.v2.MsgCreateNewTopic.alpha_regret":
		return protoreflect.ValueOfString("")
	case "emissions.v2.MsgCreateNewTopic.allow_negative":
		return protoreflect.ValueOfBool(false)
	case "emissions.v2.MsgCreateNewTopic.epsilon":
		return protoreflect.ValueOfString("")
	case "emissions.v2.MsgCreateNewTopic.worker_submission_window":
		return protoreflect.ValueOfInt64(int64(0))
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCreateNewTopic"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCreateNewTopic 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_MsgCreateNewTopic) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.MsgCreateNewTopic", 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_MsgCreateNewTopic) 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_MsgCreateNewTopic) 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_MsgCreateNewTopic) 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_MsgCreateNewTopic) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*MsgCreateNewTopic)
		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.Creator)
		if l > 0 {
			n += 1 + l + runtime.Sov(uint64(l))
		}
		l = len(x.Metadata)
		if l > 0 {
			n += 1 + l + runtime.Sov(uint64(l))
		}
		l = len(x.LossMethod)
		if l > 0 {
			n += 1 + l + runtime.Sov(uint64(l))
		}
		if x.EpochLength != 0 {
			n += 1 + runtime.Sov(uint64(x.EpochLength))
		}
		if x.GroundTruthLag != 0 {
			n += 1 + runtime.Sov(uint64(x.GroundTruthLag))
		}
		l = len(x.PNorm)
		if l > 0 {
			n += 1 + l + runtime.Sov(uint64(l))
		}
		l = len(x.AlphaRegret)
		if l > 0 {
			n += 1 + l + runtime.Sov(uint64(l))
		}
		if x.AllowNegative {
			n += 2
		}
		l = len(x.Epsilon)
		if l > 0 {
			n += 1 + l + runtime.Sov(uint64(l))
		}
		if x.WorkerSubmissionWindow != 0 {
			n += 1 + runtime.Sov(uint64(x.WorkerSubmissionWindow))
		}
		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().(*MsgCreateNewTopic)
		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.WorkerSubmissionWindow != 0 {
			i = runtime.EncodeVarint(dAtA, i, uint64(x.WorkerSubmissionWindow))
			i--
			dAtA[i] = 0x70
		}
		if len(x.Epsilon) > 0 {
			i -= len(x.Epsilon)
			copy(dAtA[i:], x.Epsilon)
			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Epsilon)))
			i--
			dAtA[i] = 0x6a
		}
		if x.AllowNegative {
			i--
			if x.AllowNegative {
				dAtA[i] = 1
			} else {
				dAtA[i] = 0
			}
			i--
			dAtA[i] = 0x60
		}
		if len(x.AlphaRegret) > 0 {
			i -= len(x.AlphaRegret)
			copy(dAtA[i:], x.AlphaRegret)
			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.AlphaRegret)))
			i--
			dAtA[i] = 0x5a
		}
		if len(x.PNorm) > 0 {
			i -= len(x.PNorm)
			copy(dAtA[i:], x.PNorm)
			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.PNorm)))
			i--
			dAtA[i] = 0x52
		}
		if x.GroundTruthLag != 0 {
			i = runtime.EncodeVarint(dAtA, i, uint64(x.GroundTruthLag))
			i--
			dAtA[i] = 0x40
		}
		if x.EpochLength != 0 {
			i = runtime.EncodeVarint(dAtA, i, uint64(x.EpochLength))
			i--
			dAtA[i] = 0x38
		}
		if len(x.LossMethod) > 0 {
			i -= len(x.LossMethod)
			copy(dAtA[i:], x.LossMethod)
			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.LossMethod)))
			i--
			dAtA[i] = 0x22
		}
		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
		}
		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
		}
		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().(*MsgCreateNewTopic)
		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: MsgCreateNewTopic: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCreateNewTopic: 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 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
			case 2:
				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 4:
				if wireType != 2 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field LossMethod", 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.LossMethod = string(dAtA[iNdEx:postIndex])
				iNdEx = postIndex
			case 7:
				if wireType != 0 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field EpochLength", wireType)
				}
				x.EpochLength = 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.EpochLength |= int64(b&0x7F) << shift
					if b < 0x80 {
						break
					}
				}
			case 8:
				if wireType != 0 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field GroundTruthLag", wireType)
				}
				x.GroundTruthLag = 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.GroundTruthLag |= int64(b&0x7F) << shift
					if b < 0x80 {
						break
					}
				}
			case 10:
				if wireType != 2 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PNorm", 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.PNorm = string(dAtA[iNdEx:postIndex])
				iNdEx = postIndex
			case 11:
				if wireType != 2 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field AlphaRegret", 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.AlphaRegret = string(dAtA[iNdEx:postIndex])
				iNdEx = postIndex
			case 12:
				if wireType != 0 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field AllowNegative", 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.AllowNegative = bool(v != 0)
			case 13:
				if wireType != 2 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Epsilon", 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.Epsilon = string(dAtA[iNdEx:postIndex])
				iNdEx = postIndex
			case 14:
				if wireType != 0 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field WorkerSubmissionWindow", wireType)
				}
				x.WorkerSubmissionWindow = 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.WorkerSubmissionWindow |= int64(b&0x7F) << shift
					if b < 0x80 {
						break
					}
				}
			default:
				iNdEx = preIndex
				skippy, err := runtime.Skip(dAtA[iNdEx:])
				if err != nil {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
				}
				if (skippy < 0) || (iNdEx+skippy) < 0 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
				}
				if (iNdEx + skippy) > l {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
				}
				if !options.DiscardUnknown {
					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
				}
				iNdEx += skippy
			}
		}

		if iNdEx > l {
			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
		}
		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
	}
	return &protoiface.Methods{
		NoUnkeyedLiterals: struct{}{},
		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
		Size:              size,
		Marshal:           marshal,
		Unmarshal:         unmarshal,
		Merge:             nil,
		CheckInitialized:  nil,
	}
}

var (
	md_MsgCreateNewTopicResponse          protoreflect.MessageDescriptor
	fd_MsgCreateNewTopicResponse_topic_id protoreflect.FieldDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_MsgCreateNewTopicResponse = File_emissions_v2_tx_proto.Messages().ByName("MsgCreateNewTopicResponse")
	fd_MsgCreateNewTopicResponse_topic_id = md_MsgCreateNewTopicResponse.Fields().ByName("topic_id")
}

var _ protoreflect.Message = (*fastReflection_MsgCreateNewTopicResponse)(nil)

type fastReflection_MsgCreateNewTopicResponse MsgCreateNewTopicResponse

func (x *MsgCreateNewTopicResponse) ProtoReflect() protoreflect.Message {
	return (*fastReflection_MsgCreateNewTopicResponse)(x)
}

func (x *MsgCreateNewTopicResponse) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_tx_proto_msgTypes[4]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

var _fastReflection_MsgCreateNewTopicResponse_messageType fastReflection_MsgCreateNewTopicResponse_messageType
var _ protoreflect.MessageType = fastReflection_MsgCreateNewTopicResponse_messageType{}

type fastReflection_MsgCreateNewTopicResponse_messageType struct{}

func (x fastReflection_MsgCreateNewTopicResponse_messageType) Zero() protoreflect.Message {
	return (*fastReflection_MsgCreateNewTopicResponse)(nil)
}
func (x fastReflection_MsgCreateNewTopicResponse_messageType) New() protoreflect.Message {
	return new(fastReflection_MsgCreateNewTopicResponse)
}
func (x fastReflection_MsgCreateNewTopicResponse_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgCreateNewTopicResponse
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_MsgCreateNewTopicResponse) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgCreateNewTopicResponse
}

// 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_MsgCreateNewTopicResponse) Type() protoreflect.MessageType {
	return _fastReflection_MsgCreateNewTopicResponse_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_MsgCreateNewTopicResponse) New() protoreflect.Message {
	return new(fastReflection_MsgCreateNewTopicResponse)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_MsgCreateNewTopicResponse) Interface() protoreflect.ProtoMessage {
	return (*MsgCreateNewTopicResponse)(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_MsgCreateNewTopicResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
	if x.TopicId != uint64(0) {
		value := protoreflect.ValueOfUint64(x.TopicId)
		if !f(fd_MsgCreateNewTopicResponse_topic_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_MsgCreateNewTopicResponse) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	case "emissions.v2.MsgCreateNewTopicResponse.topic_id":
		return x.TopicId != uint64(0)
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCreateNewTopicResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCreateNewTopicResponse 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_MsgCreateNewTopicResponse) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	case "emissions.v2.MsgCreateNewTopicResponse.topic_id":
		x.TopicId = uint64(0)
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCreateNewTopicResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCreateNewTopicResponse 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_MsgCreateNewTopicResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	case "emissions.v2.MsgCreateNewTopicResponse.topic_id":
		value := x.TopicId
		return protoreflect.ValueOfUint64(value)
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCreateNewTopicResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCreateNewTopicResponse 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_MsgCreateNewTopicResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	case "emissions.v2.MsgCreateNewTopicResponse.topic_id":
		x.TopicId = value.Uint()
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCreateNewTopicResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCreateNewTopicResponse 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_MsgCreateNewTopicResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgCreateNewTopicResponse.topic_id":
		panic(fmt.Errorf("field topic_id of message emissions.v2.MsgCreateNewTopicResponse is not mutable"))
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCreateNewTopicResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCreateNewTopicResponse 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_MsgCreateNewTopicResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgCreateNewTopicResponse.topic_id":
		return protoreflect.ValueOfUint64(uint64(0))
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCreateNewTopicResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCreateNewTopicResponse 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_MsgCreateNewTopicResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.MsgCreateNewTopicResponse", 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_MsgCreateNewTopicResponse) 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_MsgCreateNewTopicResponse) 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_MsgCreateNewTopicResponse) 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_MsgCreateNewTopicResponse) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*MsgCreateNewTopicResponse)
		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.TopicId != 0 {
			n += 1 + runtime.Sov(uint64(x.TopicId))
		}
		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().(*MsgCreateNewTopicResponse)
		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.TopicId != 0 {
			i = runtime.EncodeVarint(dAtA, i, uint64(x.TopicId))
			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().(*MsgCreateNewTopicResponse)
		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: MsgCreateNewTopicResponse: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCreateNewTopicResponse: 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 TopicId", wireType)
				}
				x.TopicId = 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.TopicId |= uint64(b&0x7F) << shift
					if b < 0x80 {
						break
					}
				}
			default:
				iNdEx = preIndex
				skippy, err := runtime.Skip(dAtA[iNdEx:])
				if err != nil {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
				}
				if (skippy < 0) || (iNdEx+skippy) < 0 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
				}
				if (iNdEx + skippy) > l {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
				}
				if !options.DiscardUnknown {
					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
				}
				iNdEx += skippy
			}
		}

		if iNdEx > l {
			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
		}
		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
	}
	return &protoiface.Methods{
		NoUnkeyedLiterals: struct{}{},
		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
		Size:              size,
		Marshal:           marshal,
		Unmarshal:         unmarshal,
		Merge:             nil,
		CheckInitialized:  nil,
	}
}

var (
	md_MsgInsertReputerPayload                      protoreflect.MessageDescriptor
	fd_MsgInsertReputerPayload_sender               protoreflect.FieldDescriptor
	fd_MsgInsertReputerPayload_reputer_value_bundle protoreflect.FieldDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_MsgInsertReputerPayload = File_emissions_v2_tx_proto.Messages().ByName("MsgInsertReputerPayload")
	fd_MsgInsertReputerPayload_sender = md_MsgInsertReputerPayload.Fields().ByName("sender")
	fd_MsgInsertReputerPayload_reputer_value_bundle = md_MsgInsertReputerPayload.Fields().ByName("reputer_value_bundle")
}

var _ protoreflect.Message = (*fastReflection_MsgInsertReputerPayload)(nil)

type fastReflection_MsgInsertReputerPayload MsgInsertReputerPayload

func (x *MsgInsertReputerPayload) ProtoReflect() protoreflect.Message {
	return (*fastReflection_MsgInsertReputerPayload)(x)
}

func (x *MsgInsertReputerPayload) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_tx_proto_msgTypes[5]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

var _fastReflection_MsgInsertReputerPayload_messageType fastReflection_MsgInsertReputerPayload_messageType
var _ protoreflect.MessageType = fastReflection_MsgInsertReputerPayload_messageType{}

type fastReflection_MsgInsertReputerPayload_messageType struct{}

func (x fastReflection_MsgInsertReputerPayload_messageType) Zero() protoreflect.Message {
	return (*fastReflection_MsgInsertReputerPayload)(nil)
}
func (x fastReflection_MsgInsertReputerPayload_messageType) New() protoreflect.Message {
	return new(fastReflection_MsgInsertReputerPayload)
}
func (x fastReflection_MsgInsertReputerPayload_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgInsertReputerPayload
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_MsgInsertReputerPayload) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgInsertReputerPayload
}

// 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_MsgInsertReputerPayload) Type() protoreflect.MessageType {
	return _fastReflection_MsgInsertReputerPayload_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_MsgInsertReputerPayload) New() protoreflect.Message {
	return new(fastReflection_MsgInsertReputerPayload)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_MsgInsertReputerPayload) Interface() protoreflect.ProtoMessage {
	return (*MsgInsertReputerPayload)(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_MsgInsertReputerPayload) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
	if x.Sender != "" {
		value := protoreflect.ValueOfString(x.Sender)
		if !f(fd_MsgInsertReputerPayload_sender, value) {
			return
		}
	}
	if x.ReputerValueBundle != nil {
		value := protoreflect.ValueOfMessage(x.ReputerValueBundle.ProtoReflect())
		if !f(fd_MsgInsertReputerPayload_reputer_value_bundle, 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_MsgInsertReputerPayload) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	case "emissions.v2.MsgInsertReputerPayload.sender":
		return x.Sender != ""
	case "emissions.v2.MsgInsertReputerPayload.reputer_value_bundle":
		return x.ReputerValueBundle != nil
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgInsertReputerPayload"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgInsertReputerPayload 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_MsgInsertReputerPayload) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	case "emissions.v2.MsgInsertReputerPayload.sender":
		x.Sender = ""
	case "emissions.v2.MsgInsertReputerPayload.reputer_value_bundle":
		x.ReputerValueBundle = nil
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgInsertReputerPayload"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgInsertReputerPayload 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_MsgInsertReputerPayload) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	case "emissions.v2.MsgInsertReputerPayload.sender":
		value := x.Sender
		return protoreflect.ValueOfString(value)
	case "emissions.v2.MsgInsertReputerPayload.reputer_value_bundle":
		value := x.ReputerValueBundle
		return protoreflect.ValueOfMessage(value.ProtoReflect())
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgInsertReputerPayload"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgInsertReputerPayload 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_MsgInsertReputerPayload) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	case "emissions.v2.MsgInsertReputerPayload.sender":
		x.Sender = value.Interface().(string)
	case "emissions.v2.MsgInsertReputerPayload.reputer_value_bundle":
		x.ReputerValueBundle = value.Message().Interface().(*ReputerValueBundle)
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgInsertReputerPayload"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgInsertReputerPayload 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_MsgInsertReputerPayload) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgInsertReputerPayload.reputer_value_bundle":
		if x.ReputerValueBundle == nil {
			x.ReputerValueBundle = new(ReputerValueBundle)
		}
		return protoreflect.ValueOfMessage(x.ReputerValueBundle.ProtoReflect())
	case "emissions.v2.MsgInsertReputerPayload.sender":
		panic(fmt.Errorf("field sender of message emissions.v2.MsgInsertReputerPayload is not mutable"))
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgInsertReputerPayload"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgInsertReputerPayload 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_MsgInsertReputerPayload) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgInsertReputerPayload.sender":
		return protoreflect.ValueOfString("")
	case "emissions.v2.MsgInsertReputerPayload.reputer_value_bundle":
		m := new(ReputerValueBundle)
		return protoreflect.ValueOfMessage(m.ProtoReflect())
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgInsertReputerPayload"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgInsertReputerPayload 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_MsgInsertReputerPayload) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.MsgInsertReputerPayload", 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_MsgInsertReputerPayload) 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_MsgInsertReputerPayload) 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_MsgInsertReputerPayload) 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_MsgInsertReputerPayload) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*MsgInsertReputerPayload)
		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.Sender)
		if l > 0 {
			n += 1 + l + runtime.Sov(uint64(l))
		}
		if x.ReputerValueBundle != nil {
			l = options.Size(x.ReputerValueBundle)
			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().(*MsgInsertReputerPayload)
		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.ReputerValueBundle != nil {
			encoded, err := options.Marshal(x.ReputerValueBundle)
			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.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 {
			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().(*MsgInsertReputerPayload)
		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: MsgInsertReputerPayload: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgInsertReputerPayload: 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 ReputerValueBundle", 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.ReputerValueBundle == nil {
					x.ReputerValueBundle = &ReputerValueBundle{}
				}
				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.ReputerValueBundle); 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_MsgInsertReputerPayloadResponse protoreflect.MessageDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_MsgInsertReputerPayloadResponse = File_emissions_v2_tx_proto.Messages().ByName("MsgInsertReputerPayloadResponse")
}

var _ protoreflect.Message = (*fastReflection_MsgInsertReputerPayloadResponse)(nil)

type fastReflection_MsgInsertReputerPayloadResponse MsgInsertReputerPayloadResponse

func (x *MsgInsertReputerPayloadResponse) ProtoReflect() protoreflect.Message {
	return (*fastReflection_MsgInsertReputerPayloadResponse)(x)
}

func (x *MsgInsertReputerPayloadResponse) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_tx_proto_msgTypes[6]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

var _fastReflection_MsgInsertReputerPayloadResponse_messageType fastReflection_MsgInsertReputerPayloadResponse_messageType
var _ protoreflect.MessageType = fastReflection_MsgInsertReputerPayloadResponse_messageType{}

type fastReflection_MsgInsertReputerPayloadResponse_messageType struct{}

func (x fastReflection_MsgInsertReputerPayloadResponse_messageType) Zero() protoreflect.Message {
	return (*fastReflection_MsgInsertReputerPayloadResponse)(nil)
}
func (x fastReflection_MsgInsertReputerPayloadResponse_messageType) New() protoreflect.Message {
	return new(fastReflection_MsgInsertReputerPayloadResponse)
}
func (x fastReflection_MsgInsertReputerPayloadResponse_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgInsertReputerPayloadResponse
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_MsgInsertReputerPayloadResponse) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgInsertReputerPayloadResponse
}

// 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_MsgInsertReputerPayloadResponse) Type() protoreflect.MessageType {
	return _fastReflection_MsgInsertReputerPayloadResponse_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_MsgInsertReputerPayloadResponse) New() protoreflect.Message {
	return new(fastReflection_MsgInsertReputerPayloadResponse)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_MsgInsertReputerPayloadResponse) Interface() protoreflect.ProtoMessage {
	return (*MsgInsertReputerPayloadResponse)(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_MsgInsertReputerPayloadResponse) 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_MsgInsertReputerPayloadResponse) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgInsertReputerPayloadResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgInsertReputerPayloadResponse 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_MsgInsertReputerPayloadResponse) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgInsertReputerPayloadResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgInsertReputerPayloadResponse 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_MsgInsertReputerPayloadResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgInsertReputerPayloadResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgInsertReputerPayloadResponse 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_MsgInsertReputerPayloadResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgInsertReputerPayloadResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgInsertReputerPayloadResponse 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_MsgInsertReputerPayloadResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgInsertReputerPayloadResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgInsertReputerPayloadResponse 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_MsgInsertReputerPayloadResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgInsertReputerPayloadResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgInsertReputerPayloadResponse 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_MsgInsertReputerPayloadResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.MsgInsertReputerPayloadResponse", 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_MsgInsertReputerPayloadResponse) 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_MsgInsertReputerPayloadResponse) 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_MsgInsertReputerPayloadResponse) 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_MsgInsertReputerPayloadResponse) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*MsgInsertReputerPayloadResponse)
		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().(*MsgInsertReputerPayloadResponse)
		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().(*MsgInsertReputerPayloadResponse)
		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: MsgInsertReputerPayloadResponse: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgInsertReputerPayloadResponse: 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_MsgInsertWorkerPayload                    protoreflect.MessageDescriptor
	fd_MsgInsertWorkerPayload_sender             protoreflect.FieldDescriptor
	fd_MsgInsertWorkerPayload_worker_data_bundle protoreflect.FieldDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_MsgInsertWorkerPayload = File_emissions_v2_tx_proto.Messages().ByName("MsgInsertWorkerPayload")
	fd_MsgInsertWorkerPayload_sender = md_MsgInsertWorkerPayload.Fields().ByName("sender")
	fd_MsgInsertWorkerPayload_worker_data_bundle = md_MsgInsertWorkerPayload.Fields().ByName("worker_data_bundle")
}

var _ protoreflect.Message = (*fastReflection_MsgInsertWorkerPayload)(nil)

type fastReflection_MsgInsertWorkerPayload MsgInsertWorkerPayload

func (x *MsgInsertWorkerPayload) ProtoReflect() protoreflect.Message {
	return (*fastReflection_MsgInsertWorkerPayload)(x)
}

func (x *MsgInsertWorkerPayload) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_tx_proto_msgTypes[7]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

var _fastReflection_MsgInsertWorkerPayload_messageType fastReflection_MsgInsertWorkerPayload_messageType
var _ protoreflect.MessageType = fastReflection_MsgInsertWorkerPayload_messageType{}

type fastReflection_MsgInsertWorkerPayload_messageType struct{}

func (x fastReflection_MsgInsertWorkerPayload_messageType) Zero() protoreflect.Message {
	return (*fastReflection_MsgInsertWorkerPayload)(nil)
}
func (x fastReflection_MsgInsertWorkerPayload_messageType) New() protoreflect.Message {
	return new(fastReflection_MsgInsertWorkerPayload)
}
func (x fastReflection_MsgInsertWorkerPayload_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgInsertWorkerPayload
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_MsgInsertWorkerPayload) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgInsertWorkerPayload
}

// 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_MsgInsertWorkerPayload) Type() protoreflect.MessageType {
	return _fastReflection_MsgInsertWorkerPayload_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_MsgInsertWorkerPayload) New() protoreflect.Message {
	return new(fastReflection_MsgInsertWorkerPayload)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_MsgInsertWorkerPayload) Interface() protoreflect.ProtoMessage {
	return (*MsgInsertWorkerPayload)(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_MsgInsertWorkerPayload) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
	if x.Sender != "" {
		value := protoreflect.ValueOfString(x.Sender)
		if !f(fd_MsgInsertWorkerPayload_sender, value) {
			return
		}
	}
	if x.WorkerDataBundle != nil {
		value := protoreflect.ValueOfMessage(x.WorkerDataBundle.ProtoReflect())
		if !f(fd_MsgInsertWorkerPayload_worker_data_bundle, 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_MsgInsertWorkerPayload) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	case "emissions.v2.MsgInsertWorkerPayload.sender":
		return x.Sender != ""
	case "emissions.v2.MsgInsertWorkerPayload.worker_data_bundle":
		return x.WorkerDataBundle != nil
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgInsertWorkerPayload"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgInsertWorkerPayload 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_MsgInsertWorkerPayload) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	case "emissions.v2.MsgInsertWorkerPayload.sender":
		x.Sender = ""
	case "emissions.v2.MsgInsertWorkerPayload.worker_data_bundle":
		x.WorkerDataBundle = nil
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgInsertWorkerPayload"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgInsertWorkerPayload 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_MsgInsertWorkerPayload) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	case "emissions.v2.MsgInsertWorkerPayload.sender":
		value := x.Sender
		return protoreflect.ValueOfString(value)
	case "emissions.v2.MsgInsertWorkerPayload.worker_data_bundle":
		value := x.WorkerDataBundle
		return protoreflect.ValueOfMessage(value.ProtoReflect())
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgInsertWorkerPayload"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgInsertWorkerPayload 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_MsgInsertWorkerPayload) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	case "emissions.v2.MsgInsertWorkerPayload.sender":
		x.Sender = value.Interface().(string)
	case "emissions.v2.MsgInsertWorkerPayload.worker_data_bundle":
		x.WorkerDataBundle = value.Message().Interface().(*WorkerDataBundle)
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgInsertWorkerPayload"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgInsertWorkerPayload 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_MsgInsertWorkerPayload) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgInsertWorkerPayload.worker_data_bundle":
		if x.WorkerDataBundle == nil {
			x.WorkerDataBundle = new(WorkerDataBundle)
		}
		return protoreflect.ValueOfMessage(x.WorkerDataBundle.ProtoReflect())
	case "emissions.v2.MsgInsertWorkerPayload.sender":
		panic(fmt.Errorf("field sender of message emissions.v2.MsgInsertWorkerPayload is not mutable"))
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgInsertWorkerPayload"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgInsertWorkerPayload 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_MsgInsertWorkerPayload) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgInsertWorkerPayload.sender":
		return protoreflect.ValueOfString("")
	case "emissions.v2.MsgInsertWorkerPayload.worker_data_bundle":
		m := new(WorkerDataBundle)
		return protoreflect.ValueOfMessage(m.ProtoReflect())
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgInsertWorkerPayload"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgInsertWorkerPayload 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_MsgInsertWorkerPayload) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.MsgInsertWorkerPayload", 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_MsgInsertWorkerPayload) 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_MsgInsertWorkerPayload) 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_MsgInsertWorkerPayload) 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_MsgInsertWorkerPayload) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*MsgInsertWorkerPayload)
		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.Sender)
		if l > 0 {
			n += 1 + l + runtime.Sov(uint64(l))
		}
		if x.WorkerDataBundle != nil {
			l = options.Size(x.WorkerDataBundle)
			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().(*MsgInsertWorkerPayload)
		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.WorkerDataBundle != nil {
			encoded, err := options.Marshal(x.WorkerDataBundle)
			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.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 {
			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().(*MsgInsertWorkerPayload)
		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: MsgInsertWorkerPayload: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgInsertWorkerPayload: 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 WorkerDataBundle", 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.WorkerDataBundle == nil {
					x.WorkerDataBundle = &WorkerDataBundle{}
				}
				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.WorkerDataBundle); 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_MsgInsertWorkerPayloadResponse protoreflect.MessageDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_MsgInsertWorkerPayloadResponse = File_emissions_v2_tx_proto.Messages().ByName("MsgInsertWorkerPayloadResponse")
}

var _ protoreflect.Message = (*fastReflection_MsgInsertWorkerPayloadResponse)(nil)

type fastReflection_MsgInsertWorkerPayloadResponse MsgInsertWorkerPayloadResponse

func (x *MsgInsertWorkerPayloadResponse) ProtoReflect() protoreflect.Message {
	return (*fastReflection_MsgInsertWorkerPayloadResponse)(x)
}

func (x *MsgInsertWorkerPayloadResponse) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_tx_proto_msgTypes[8]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

var _fastReflection_MsgInsertWorkerPayloadResponse_messageType fastReflection_MsgInsertWorkerPayloadResponse_messageType
var _ protoreflect.MessageType = fastReflection_MsgInsertWorkerPayloadResponse_messageType{}

type fastReflection_MsgInsertWorkerPayloadResponse_messageType struct{}

func (x fastReflection_MsgInsertWorkerPayloadResponse_messageType) Zero() protoreflect.Message {
	return (*fastReflection_MsgInsertWorkerPayloadResponse)(nil)
}
func (x fastReflection_MsgInsertWorkerPayloadResponse_messageType) New() protoreflect.Message {
	return new(fastReflection_MsgInsertWorkerPayloadResponse)
}
func (x fastReflection_MsgInsertWorkerPayloadResponse_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgInsertWorkerPayloadResponse
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_MsgInsertWorkerPayloadResponse) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgInsertWorkerPayloadResponse
}

// 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_MsgInsertWorkerPayloadResponse) Type() protoreflect.MessageType {
	return _fastReflection_MsgInsertWorkerPayloadResponse_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_MsgInsertWorkerPayloadResponse) New() protoreflect.Message {
	return new(fastReflection_MsgInsertWorkerPayloadResponse)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_MsgInsertWorkerPayloadResponse) Interface() protoreflect.ProtoMessage {
	return (*MsgInsertWorkerPayloadResponse)(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_MsgInsertWorkerPayloadResponse) 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_MsgInsertWorkerPayloadResponse) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgInsertWorkerPayloadResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgInsertWorkerPayloadResponse 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_MsgInsertWorkerPayloadResponse) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgInsertWorkerPayloadResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgInsertWorkerPayloadResponse 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_MsgInsertWorkerPayloadResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgInsertWorkerPayloadResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgInsertWorkerPayloadResponse 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_MsgInsertWorkerPayloadResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgInsertWorkerPayloadResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgInsertWorkerPayloadResponse 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_MsgInsertWorkerPayloadResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgInsertWorkerPayloadResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgInsertWorkerPayloadResponse 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_MsgInsertWorkerPayloadResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgInsertWorkerPayloadResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgInsertWorkerPayloadResponse 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_MsgInsertWorkerPayloadResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.MsgInsertWorkerPayloadResponse", 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_MsgInsertWorkerPayloadResponse) 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_MsgInsertWorkerPayloadResponse) 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_MsgInsertWorkerPayloadResponse) 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_MsgInsertWorkerPayloadResponse) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*MsgInsertWorkerPayloadResponse)
		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().(*MsgInsertWorkerPayloadResponse)
		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().(*MsgInsertWorkerPayloadResponse)
		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: MsgInsertWorkerPayloadResponse: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgInsertWorkerPayloadResponse: 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_MsgRegister            protoreflect.MessageDescriptor
	fd_MsgRegister_sender     protoreflect.FieldDescriptor
	fd_MsgRegister_topic_id   protoreflect.FieldDescriptor
	fd_MsgRegister_owner      protoreflect.FieldDescriptor
	fd_MsgRegister_is_reputer protoreflect.FieldDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_MsgRegister = File_emissions_v2_tx_proto.Messages().ByName("MsgRegister")
	fd_MsgRegister_sender = md_MsgRegister.Fields().ByName("sender")
	fd_MsgRegister_topic_id = md_MsgRegister.Fields().ByName("topic_id")
	fd_MsgRegister_owner = md_MsgRegister.Fields().ByName("owner")
	fd_MsgRegister_is_reputer = md_MsgRegister.Fields().ByName("is_reputer")
}

var _ protoreflect.Message = (*fastReflection_MsgRegister)(nil)

type fastReflection_MsgRegister MsgRegister

func (x *MsgRegister) ProtoReflect() protoreflect.Message {
	return (*fastReflection_MsgRegister)(x)
}

func (x *MsgRegister) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_tx_proto_msgTypes[9]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

var _fastReflection_MsgRegister_messageType fastReflection_MsgRegister_messageType
var _ protoreflect.MessageType = fastReflection_MsgRegister_messageType{}

type fastReflection_MsgRegister_messageType struct{}

func (x fastReflection_MsgRegister_messageType) Zero() protoreflect.Message {
	return (*fastReflection_MsgRegister)(nil)
}
func (x fastReflection_MsgRegister_messageType) New() protoreflect.Message {
	return new(fastReflection_MsgRegister)
}
func (x fastReflection_MsgRegister_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgRegister
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_MsgRegister) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgRegister
}

// 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_MsgRegister) Type() protoreflect.MessageType {
	return _fastReflection_MsgRegister_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_MsgRegister) New() protoreflect.Message {
	return new(fastReflection_MsgRegister)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_MsgRegister) Interface() protoreflect.ProtoMessage {
	return (*MsgRegister)(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_MsgRegister) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
	if x.Sender != "" {
		value := protoreflect.ValueOfString(x.Sender)
		if !f(fd_MsgRegister_sender, value) {
			return
		}
	}
	if x.TopicId != uint64(0) {
		value := protoreflect.ValueOfUint64(x.TopicId)
		if !f(fd_MsgRegister_topic_id, value) {
			return
		}
	}
	if x.Owner != "" {
		value := protoreflect.ValueOfString(x.Owner)
		if !f(fd_MsgRegister_owner, value) {
			return
		}
	}
	if x.IsReputer != false {
		value := protoreflect.ValueOfBool(x.IsReputer)
		if !f(fd_MsgRegister_is_reputer, 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_MsgRegister) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	case "emissions.v2.MsgRegister.sender":
		return x.Sender != ""
	case "emissions.v2.MsgRegister.topic_id":
		return x.TopicId != uint64(0)
	case "emissions.v2.MsgRegister.owner":
		return x.Owner != ""
	case "emissions.v2.MsgRegister.is_reputer":
		return x.IsReputer != false
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRegister"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRegister 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_MsgRegister) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	case "emissions.v2.MsgRegister.sender":
		x.Sender = ""
	case "emissions.v2.MsgRegister.topic_id":
		x.TopicId = uint64(0)
	case "emissions.v2.MsgRegister.owner":
		x.Owner = ""
	case "emissions.v2.MsgRegister.is_reputer":
		x.IsReputer = false
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRegister"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRegister 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_MsgRegister) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	case "emissions.v2.MsgRegister.sender":
		value := x.Sender
		return protoreflect.ValueOfString(value)
	case "emissions.v2.MsgRegister.topic_id":
		value := x.TopicId
		return protoreflect.ValueOfUint64(value)
	case "emissions.v2.MsgRegister.owner":
		value := x.Owner
		return protoreflect.ValueOfString(value)
	case "emissions.v2.MsgRegister.is_reputer":
		value := x.IsReputer
		return protoreflect.ValueOfBool(value)
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRegister"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRegister 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_MsgRegister) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	case "emissions.v2.MsgRegister.sender":
		x.Sender = value.Interface().(string)
	case "emissions.v2.MsgRegister.topic_id":
		x.TopicId = value.Uint()
	case "emissions.v2.MsgRegister.owner":
		x.Owner = value.Interface().(string)
	case "emissions.v2.MsgRegister.is_reputer":
		x.IsReputer = value.Bool()
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRegister"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRegister 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_MsgRegister) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgRegister.sender":
		panic(fmt.Errorf("field sender of message emissions.v2.MsgRegister is not mutable"))
	case "emissions.v2.MsgRegister.topic_id":
		panic(fmt.Errorf("field topic_id of message emissions.v2.MsgRegister is not mutable"))
	case "emissions.v2.MsgRegister.owner":
		panic(fmt.Errorf("field owner of message emissions.v2.MsgRegister is not mutable"))
	case "emissions.v2.MsgRegister.is_reputer":
		panic(fmt.Errorf("field is_reputer of message emissions.v2.MsgRegister is not mutable"))
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRegister"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRegister 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_MsgRegister) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgRegister.sender":
		return protoreflect.ValueOfString("")
	case "emissions.v2.MsgRegister.topic_id":
		return protoreflect.ValueOfUint64(uint64(0))
	case "emissions.v2.MsgRegister.owner":
		return protoreflect.ValueOfString("")
	case "emissions.v2.MsgRegister.is_reputer":
		return protoreflect.ValueOfBool(false)
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRegister"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRegister 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_MsgRegister) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.MsgRegister", 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_MsgRegister) 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_MsgRegister) 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_MsgRegister) 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_MsgRegister) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*MsgRegister)
		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.Sender)
		if l > 0 {
			n += 1 + l + runtime.Sov(uint64(l))
		}
		if x.TopicId != 0 {
			n += 1 + runtime.Sov(uint64(x.TopicId))
		}
		l = len(x.Owner)
		if l > 0 {
			n += 1 + l + runtime.Sov(uint64(l))
		}
		if x.IsReputer {
			n += 2
		}
		if x.unknownFields != nil {
			n += len(x.unknownFields)
		}
		return protoiface.SizeOutput{
			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
			Size:              n,
		}
	}

	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
		x := input.Message.Interface().(*MsgRegister)
		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.IsReputer {
			i--
			if x.IsReputer {
				dAtA[i] = 1
			} else {
				dAtA[i] = 0
			}
			i--
			dAtA[i] = 0x30
		}
		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] = 0x2a
		}
		if x.TopicId != 0 {
			i = runtime.EncodeVarint(dAtA, i, uint64(x.TopicId))
			i--
			dAtA[i] = 0x20
		}
		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 {
			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().(*MsgRegister)
		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: MsgRegister: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRegister: 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 4:
				if wireType != 0 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType)
				}
				x.TopicId = 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.TopicId |= uint64(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 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 6:
				if wireType != 0 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field IsReputer", 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.IsReputer = bool(v != 0)
			default:
				iNdEx = preIndex
				skippy, err := runtime.Skip(dAtA[iNdEx:])
				if err != nil {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
				}
				if (skippy < 0) || (iNdEx+skippy) < 0 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
				}
				if (iNdEx + skippy) > l {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
				}
				if !options.DiscardUnknown {
					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
				}
				iNdEx += skippy
			}
		}

		if iNdEx > l {
			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
		}
		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
	}
	return &protoiface.Methods{
		NoUnkeyedLiterals: struct{}{},
		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
		Size:              size,
		Marshal:           marshal,
		Unmarshal:         unmarshal,
		Merge:             nil,
		CheckInitialized:  nil,
	}
}

var (
	md_MsgRegisterResponse         protoreflect.MessageDescriptor
	fd_MsgRegisterResponse_success protoreflect.FieldDescriptor
	fd_MsgRegisterResponse_message protoreflect.FieldDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_MsgRegisterResponse = File_emissions_v2_tx_proto.Messages().ByName("MsgRegisterResponse")
	fd_MsgRegisterResponse_success = md_MsgRegisterResponse.Fields().ByName("success")
	fd_MsgRegisterResponse_message = md_MsgRegisterResponse.Fields().ByName("message")
}

var _ protoreflect.Message = (*fastReflection_MsgRegisterResponse)(nil)

type fastReflection_MsgRegisterResponse MsgRegisterResponse

func (x *MsgRegisterResponse) ProtoReflect() protoreflect.Message {
	return (*fastReflection_MsgRegisterResponse)(x)
}

func (x *MsgRegisterResponse) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_tx_proto_msgTypes[10]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

var _fastReflection_MsgRegisterResponse_messageType fastReflection_MsgRegisterResponse_messageType
var _ protoreflect.MessageType = fastReflection_MsgRegisterResponse_messageType{}

type fastReflection_MsgRegisterResponse_messageType struct{}

func (x fastReflection_MsgRegisterResponse_messageType) Zero() protoreflect.Message {
	return (*fastReflection_MsgRegisterResponse)(nil)
}
func (x fastReflection_MsgRegisterResponse_messageType) New() protoreflect.Message {
	return new(fastReflection_MsgRegisterResponse)
}
func (x fastReflection_MsgRegisterResponse_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgRegisterResponse
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_MsgRegisterResponse) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgRegisterResponse
}

// 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_MsgRegisterResponse) Type() protoreflect.MessageType {
	return _fastReflection_MsgRegisterResponse_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_MsgRegisterResponse) New() protoreflect.Message {
	return new(fastReflection_MsgRegisterResponse)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_MsgRegisterResponse) Interface() protoreflect.ProtoMessage {
	return (*MsgRegisterResponse)(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_MsgRegisterResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
	if x.Success != false {
		value := protoreflect.ValueOfBool(x.Success)
		if !f(fd_MsgRegisterResponse_success, value) {
			return
		}
	}
	if x.Message != "" {
		value := protoreflect.ValueOfString(x.Message)
		if !f(fd_MsgRegisterResponse_message, 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_MsgRegisterResponse) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	case "emissions.v2.MsgRegisterResponse.success":
		return x.Success != false
	case "emissions.v2.MsgRegisterResponse.message":
		return x.Message != ""
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRegisterResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRegisterResponse 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_MsgRegisterResponse) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	case "emissions.v2.MsgRegisterResponse.success":
		x.Success = false
	case "emissions.v2.MsgRegisterResponse.message":
		x.Message = ""
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRegisterResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRegisterResponse 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_MsgRegisterResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	case "emissions.v2.MsgRegisterResponse.success":
		value := x.Success
		return protoreflect.ValueOfBool(value)
	case "emissions.v2.MsgRegisterResponse.message":
		value := x.Message
		return protoreflect.ValueOfString(value)
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRegisterResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRegisterResponse 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_MsgRegisterResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	case "emissions.v2.MsgRegisterResponse.success":
		x.Success = value.Bool()
	case "emissions.v2.MsgRegisterResponse.message":
		x.Message = value.Interface().(string)
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRegisterResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRegisterResponse 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_MsgRegisterResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgRegisterResponse.success":
		panic(fmt.Errorf("field success of message emissions.v2.MsgRegisterResponse is not mutable"))
	case "emissions.v2.MsgRegisterResponse.message":
		panic(fmt.Errorf("field message of message emissions.v2.MsgRegisterResponse is not mutable"))
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRegisterResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRegisterResponse 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_MsgRegisterResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgRegisterResponse.success":
		return protoreflect.ValueOfBool(false)
	case "emissions.v2.MsgRegisterResponse.message":
		return protoreflect.ValueOfString("")
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRegisterResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRegisterResponse 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_MsgRegisterResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.MsgRegisterResponse", 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_MsgRegisterResponse) 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_MsgRegisterResponse) 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_MsgRegisterResponse) 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_MsgRegisterResponse) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*MsgRegisterResponse)
		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.Success {
			n += 2
		}
		l = len(x.Message)
		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().(*MsgRegisterResponse)
		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.Message) > 0 {
			i -= len(x.Message)
			copy(dAtA[i:], x.Message)
			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Message)))
			i--
			dAtA[i] = 0x12
		}
		if x.Success {
			i--
			if x.Success {
				dAtA[i] = 1
			} else {
				dAtA[i] = 0
			}
			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().(*MsgRegisterResponse)
		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: MsgRegisterResponse: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRegisterResponse: 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 Success", 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.Success = bool(v != 0)
			case 2:
				if wireType != 2 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Message", 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.Message = 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_MsgRemoveRegistration            protoreflect.MessageDescriptor
	fd_MsgRemoveRegistration_sender     protoreflect.FieldDescriptor
	fd_MsgRemoveRegistration_topic_id   protoreflect.FieldDescriptor
	fd_MsgRemoveRegistration_is_reputer protoreflect.FieldDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_MsgRemoveRegistration = File_emissions_v2_tx_proto.Messages().ByName("MsgRemoveRegistration")
	fd_MsgRemoveRegistration_sender = md_MsgRemoveRegistration.Fields().ByName("sender")
	fd_MsgRemoveRegistration_topic_id = md_MsgRemoveRegistration.Fields().ByName("topic_id")
	fd_MsgRemoveRegistration_is_reputer = md_MsgRemoveRegistration.Fields().ByName("is_reputer")
}

var _ protoreflect.Message = (*fastReflection_MsgRemoveRegistration)(nil)

type fastReflection_MsgRemoveRegistration MsgRemoveRegistration

func (x *MsgRemoveRegistration) ProtoReflect() protoreflect.Message {
	return (*fastReflection_MsgRemoveRegistration)(x)
}

func (x *MsgRemoveRegistration) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_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_MsgRemoveRegistration_messageType fastReflection_MsgRemoveRegistration_messageType
var _ protoreflect.MessageType = fastReflection_MsgRemoveRegistration_messageType{}

type fastReflection_MsgRemoveRegistration_messageType struct{}

func (x fastReflection_MsgRemoveRegistration_messageType) Zero() protoreflect.Message {
	return (*fastReflection_MsgRemoveRegistration)(nil)
}
func (x fastReflection_MsgRemoveRegistration_messageType) New() protoreflect.Message {
	return new(fastReflection_MsgRemoveRegistration)
}
func (x fastReflection_MsgRemoveRegistration_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgRemoveRegistration
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_MsgRemoveRegistration) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgRemoveRegistration
}

// 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_MsgRemoveRegistration) Type() protoreflect.MessageType {
	return _fastReflection_MsgRemoveRegistration_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_MsgRemoveRegistration) New() protoreflect.Message {
	return new(fastReflection_MsgRemoveRegistration)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_MsgRemoveRegistration) Interface() protoreflect.ProtoMessage {
	return (*MsgRemoveRegistration)(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_MsgRemoveRegistration) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
	if x.Sender != "" {
		value := protoreflect.ValueOfString(x.Sender)
		if !f(fd_MsgRemoveRegistration_sender, value) {
			return
		}
	}
	if x.TopicId != uint64(0) {
		value := protoreflect.ValueOfUint64(x.TopicId)
		if !f(fd_MsgRemoveRegistration_topic_id, value) {
			return
		}
	}
	if x.IsReputer != false {
		value := protoreflect.ValueOfBool(x.IsReputer)
		if !f(fd_MsgRemoveRegistration_is_reputer, 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_MsgRemoveRegistration) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	case "emissions.v2.MsgRemoveRegistration.sender":
		return x.Sender != ""
	case "emissions.v2.MsgRemoveRegistration.topic_id":
		return x.TopicId != uint64(0)
	case "emissions.v2.MsgRemoveRegistration.is_reputer":
		return x.IsReputer != false
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveRegistration"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveRegistration 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_MsgRemoveRegistration) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	case "emissions.v2.MsgRemoveRegistration.sender":
		x.Sender = ""
	case "emissions.v2.MsgRemoveRegistration.topic_id":
		x.TopicId = uint64(0)
	case "emissions.v2.MsgRemoveRegistration.is_reputer":
		x.IsReputer = false
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveRegistration"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveRegistration 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_MsgRemoveRegistration) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	case "emissions.v2.MsgRemoveRegistration.sender":
		value := x.Sender
		return protoreflect.ValueOfString(value)
	case "emissions.v2.MsgRemoveRegistration.topic_id":
		value := x.TopicId
		return protoreflect.ValueOfUint64(value)
	case "emissions.v2.MsgRemoveRegistration.is_reputer":
		value := x.IsReputer
		return protoreflect.ValueOfBool(value)
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveRegistration"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveRegistration 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_MsgRemoveRegistration) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	case "emissions.v2.MsgRemoveRegistration.sender":
		x.Sender = value.Interface().(string)
	case "emissions.v2.MsgRemoveRegistration.topic_id":
		x.TopicId = value.Uint()
	case "emissions.v2.MsgRemoveRegistration.is_reputer":
		x.IsReputer = value.Bool()
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveRegistration"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveRegistration 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_MsgRemoveRegistration) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgRemoveRegistration.sender":
		panic(fmt.Errorf("field sender of message emissions.v2.MsgRemoveRegistration is not mutable"))
	case "emissions.v2.MsgRemoveRegistration.topic_id":
		panic(fmt.Errorf("field topic_id of message emissions.v2.MsgRemoveRegistration is not mutable"))
	case "emissions.v2.MsgRemoveRegistration.is_reputer":
		panic(fmt.Errorf("field is_reputer of message emissions.v2.MsgRemoveRegistration is not mutable"))
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveRegistration"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveRegistration 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_MsgRemoveRegistration) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgRemoveRegistration.sender":
		return protoreflect.ValueOfString("")
	case "emissions.v2.MsgRemoveRegistration.topic_id":
		return protoreflect.ValueOfUint64(uint64(0))
	case "emissions.v2.MsgRemoveRegistration.is_reputer":
		return protoreflect.ValueOfBool(false)
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveRegistration"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveRegistration 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_MsgRemoveRegistration) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.MsgRemoveRegistration", 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_MsgRemoveRegistration) 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_MsgRemoveRegistration) 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_MsgRemoveRegistration) 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_MsgRemoveRegistration) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*MsgRemoveRegistration)
		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.Sender)
		if l > 0 {
			n += 1 + l + runtime.Sov(uint64(l))
		}
		if x.TopicId != 0 {
			n += 1 + runtime.Sov(uint64(x.TopicId))
		}
		if x.IsReputer {
			n += 2
		}
		if x.unknownFields != nil {
			n += len(x.unknownFields)
		}
		return protoiface.SizeOutput{
			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
			Size:              n,
		}
	}

	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
		x := input.Message.Interface().(*MsgRemoveRegistration)
		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.IsReputer {
			i--
			if x.IsReputer {
				dAtA[i] = 1
			} else {
				dAtA[i] = 0
			}
			i--
			dAtA[i] = 0x18
		}
		if x.TopicId != 0 {
			i = runtime.EncodeVarint(dAtA, i, uint64(x.TopicId))
			i--
			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)))
			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().(*MsgRemoveRegistration)
		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: MsgRemoveRegistration: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRemoveRegistration: 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 != 0 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType)
				}
				x.TopicId = 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.TopicId |= 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 IsReputer", 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.IsReputer = bool(v != 0)
			default:
				iNdEx = preIndex
				skippy, err := runtime.Skip(dAtA[iNdEx:])
				if err != nil {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
				}
				if (skippy < 0) || (iNdEx+skippy) < 0 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
				}
				if (iNdEx + skippy) > l {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
				}
				if !options.DiscardUnknown {
					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
				}
				iNdEx += skippy
			}
		}

		if iNdEx > l {
			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
		}
		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
	}
	return &protoiface.Methods{
		NoUnkeyedLiterals: struct{}{},
		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
		Size:              size,
		Marshal:           marshal,
		Unmarshal:         unmarshal,
		Merge:             nil,
		CheckInitialized:  nil,
	}
}

var (
	md_MsgRemoveRegistrationResponse         protoreflect.MessageDescriptor
	fd_MsgRemoveRegistrationResponse_success protoreflect.FieldDescriptor
	fd_MsgRemoveRegistrationResponse_message protoreflect.FieldDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_MsgRemoveRegistrationResponse = File_emissions_v2_tx_proto.Messages().ByName("MsgRemoveRegistrationResponse")
	fd_MsgRemoveRegistrationResponse_success = md_MsgRemoveRegistrationResponse.Fields().ByName("success")
	fd_MsgRemoveRegistrationResponse_message = md_MsgRemoveRegistrationResponse.Fields().ByName("message")
}

var _ protoreflect.Message = (*fastReflection_MsgRemoveRegistrationResponse)(nil)

type fastReflection_MsgRemoveRegistrationResponse MsgRemoveRegistrationResponse

func (x *MsgRemoveRegistrationResponse) ProtoReflect() protoreflect.Message {
	return (*fastReflection_MsgRemoveRegistrationResponse)(x)
}

func (x *MsgRemoveRegistrationResponse) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_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_MsgRemoveRegistrationResponse_messageType fastReflection_MsgRemoveRegistrationResponse_messageType
var _ protoreflect.MessageType = fastReflection_MsgRemoveRegistrationResponse_messageType{}

type fastReflection_MsgRemoveRegistrationResponse_messageType struct{}

func (x fastReflection_MsgRemoveRegistrationResponse_messageType) Zero() protoreflect.Message {
	return (*fastReflection_MsgRemoveRegistrationResponse)(nil)
}
func (x fastReflection_MsgRemoveRegistrationResponse_messageType) New() protoreflect.Message {
	return new(fastReflection_MsgRemoveRegistrationResponse)
}
func (x fastReflection_MsgRemoveRegistrationResponse_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgRemoveRegistrationResponse
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_MsgRemoveRegistrationResponse) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgRemoveRegistrationResponse
}

// 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_MsgRemoveRegistrationResponse) Type() protoreflect.MessageType {
	return _fastReflection_MsgRemoveRegistrationResponse_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_MsgRemoveRegistrationResponse) New() protoreflect.Message {
	return new(fastReflection_MsgRemoveRegistrationResponse)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_MsgRemoveRegistrationResponse) Interface() protoreflect.ProtoMessage {
	return (*MsgRemoveRegistrationResponse)(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_MsgRemoveRegistrationResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
	if x.Success != false {
		value := protoreflect.ValueOfBool(x.Success)
		if !f(fd_MsgRemoveRegistrationResponse_success, value) {
			return
		}
	}
	if x.Message != "" {
		value := protoreflect.ValueOfString(x.Message)
		if !f(fd_MsgRemoveRegistrationResponse_message, 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_MsgRemoveRegistrationResponse) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	case "emissions.v2.MsgRemoveRegistrationResponse.success":
		return x.Success != false
	case "emissions.v2.MsgRemoveRegistrationResponse.message":
		return x.Message != ""
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveRegistrationResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveRegistrationResponse 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_MsgRemoveRegistrationResponse) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	case "emissions.v2.MsgRemoveRegistrationResponse.success":
		x.Success = false
	case "emissions.v2.MsgRemoveRegistrationResponse.message":
		x.Message = ""
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveRegistrationResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveRegistrationResponse 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_MsgRemoveRegistrationResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	case "emissions.v2.MsgRemoveRegistrationResponse.success":
		value := x.Success
		return protoreflect.ValueOfBool(value)
	case "emissions.v2.MsgRemoveRegistrationResponse.message":
		value := x.Message
		return protoreflect.ValueOfString(value)
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveRegistrationResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveRegistrationResponse 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_MsgRemoveRegistrationResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	case "emissions.v2.MsgRemoveRegistrationResponse.success":
		x.Success = value.Bool()
	case "emissions.v2.MsgRemoveRegistrationResponse.message":
		x.Message = value.Interface().(string)
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveRegistrationResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveRegistrationResponse 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_MsgRemoveRegistrationResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgRemoveRegistrationResponse.success":
		panic(fmt.Errorf("field success of message emissions.v2.MsgRemoveRegistrationResponse is not mutable"))
	case "emissions.v2.MsgRemoveRegistrationResponse.message":
		panic(fmt.Errorf("field message of message emissions.v2.MsgRemoveRegistrationResponse is not mutable"))
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveRegistrationResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveRegistrationResponse 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_MsgRemoveRegistrationResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgRemoveRegistrationResponse.success":
		return protoreflect.ValueOfBool(false)
	case "emissions.v2.MsgRemoveRegistrationResponse.message":
		return protoreflect.ValueOfString("")
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveRegistrationResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveRegistrationResponse 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_MsgRemoveRegistrationResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.MsgRemoveRegistrationResponse", 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_MsgRemoveRegistrationResponse) 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_MsgRemoveRegistrationResponse) 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_MsgRemoveRegistrationResponse) 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_MsgRemoveRegistrationResponse) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*MsgRemoveRegistrationResponse)
		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.Success {
			n += 2
		}
		l = len(x.Message)
		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().(*MsgRemoveRegistrationResponse)
		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.Message) > 0 {
			i -= len(x.Message)
			copy(dAtA[i:], x.Message)
			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Message)))
			i--
			dAtA[i] = 0x12
		}
		if x.Success {
			i--
			if x.Success {
				dAtA[i] = 1
			} else {
				dAtA[i] = 0
			}
			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().(*MsgRemoveRegistrationResponse)
		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: MsgRemoveRegistrationResponse: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRemoveRegistrationResponse: 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 Success", 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.Success = bool(v != 0)
			case 2:
				if wireType != 2 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Message", 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.Message = 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_MsgAddStake          protoreflect.MessageDescriptor
	fd_MsgAddStake_sender   protoreflect.FieldDescriptor
	fd_MsgAddStake_topic_id protoreflect.FieldDescriptor
	fd_MsgAddStake_amount   protoreflect.FieldDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_MsgAddStake = File_emissions_v2_tx_proto.Messages().ByName("MsgAddStake")
	fd_MsgAddStake_sender = md_MsgAddStake.Fields().ByName("sender")
	fd_MsgAddStake_topic_id = md_MsgAddStake.Fields().ByName("topic_id")
	fd_MsgAddStake_amount = md_MsgAddStake.Fields().ByName("amount")
}

var _ protoreflect.Message = (*fastReflection_MsgAddStake)(nil)

type fastReflection_MsgAddStake MsgAddStake

func (x *MsgAddStake) ProtoReflect() protoreflect.Message {
	return (*fastReflection_MsgAddStake)(x)
}

func (x *MsgAddStake) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_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_MsgAddStake_messageType fastReflection_MsgAddStake_messageType
var _ protoreflect.MessageType = fastReflection_MsgAddStake_messageType{}

type fastReflection_MsgAddStake_messageType struct{}

func (x fastReflection_MsgAddStake_messageType) Zero() protoreflect.Message {
	return (*fastReflection_MsgAddStake)(nil)
}
func (x fastReflection_MsgAddStake_messageType) New() protoreflect.Message {
	return new(fastReflection_MsgAddStake)
}
func (x fastReflection_MsgAddStake_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgAddStake
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_MsgAddStake) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgAddStake
}

// 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_MsgAddStake) Type() protoreflect.MessageType {
	return _fastReflection_MsgAddStake_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_MsgAddStake) New() protoreflect.Message {
	return new(fastReflection_MsgAddStake)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_MsgAddStake) Interface() protoreflect.ProtoMessage {
	return (*MsgAddStake)(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_MsgAddStake) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
	if x.Sender != "" {
		value := protoreflect.ValueOfString(x.Sender)
		if !f(fd_MsgAddStake_sender, value) {
			return
		}
	}
	if x.TopicId != uint64(0) {
		value := protoreflect.ValueOfUint64(x.TopicId)
		if !f(fd_MsgAddStake_topic_id, value) {
			return
		}
	}
	if x.Amount != "" {
		value := protoreflect.ValueOfString(x.Amount)
		if !f(fd_MsgAddStake_amount, value) {
			return
		}
	}
}

// Has reports whether a field is populated.
//
// Some fields have the property of nullability where it is possible to
// distinguish between the default value of a field and whether the field
// was explicitly populated with the default value. Singular message fields,
// member fields of a oneof, and proto2 scalar fields are nullable. Such
// fields are populated only if explicitly set.
//
// In other cases (aside from the nullable cases above),
// a proto3 scalar field is populated if it contains a non-zero value, and
// a repeated field is populated if it is non-empty.
func (x *fastReflection_MsgAddStake) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	case "emissions.v2.MsgAddStake.sender":
		return x.Sender != ""
	case "emissions.v2.MsgAddStake.topic_id":
		return x.TopicId != uint64(0)
	case "emissions.v2.MsgAddStake.amount":
		return x.Amount != ""
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgAddStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgAddStake 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_MsgAddStake) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	case "emissions.v2.MsgAddStake.sender":
		x.Sender = ""
	case "emissions.v2.MsgAddStake.topic_id":
		x.TopicId = uint64(0)
	case "emissions.v2.MsgAddStake.amount":
		x.Amount = ""
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgAddStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgAddStake 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_MsgAddStake) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	case "emissions.v2.MsgAddStake.sender":
		value := x.Sender
		return protoreflect.ValueOfString(value)
	case "emissions.v2.MsgAddStake.topic_id":
		value := x.TopicId
		return protoreflect.ValueOfUint64(value)
	case "emissions.v2.MsgAddStake.amount":
		value := x.Amount
		return protoreflect.ValueOfString(value)
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgAddStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgAddStake 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_MsgAddStake) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	case "emissions.v2.MsgAddStake.sender":
		x.Sender = value.Interface().(string)
	case "emissions.v2.MsgAddStake.topic_id":
		x.TopicId = value.Uint()
	case "emissions.v2.MsgAddStake.amount":
		x.Amount = value.Interface().(string)
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgAddStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgAddStake 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_MsgAddStake) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgAddStake.sender":
		panic(fmt.Errorf("field sender of message emissions.v2.MsgAddStake is not mutable"))
	case "emissions.v2.MsgAddStake.topic_id":
		panic(fmt.Errorf("field topic_id of message emissions.v2.MsgAddStake is not mutable"))
	case "emissions.v2.MsgAddStake.amount":
		panic(fmt.Errorf("field amount of message emissions.v2.MsgAddStake is not mutable"))
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgAddStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgAddStake 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_MsgAddStake) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgAddStake.sender":
		return protoreflect.ValueOfString("")
	case "emissions.v2.MsgAddStake.topic_id":
		return protoreflect.ValueOfUint64(uint64(0))
	case "emissions.v2.MsgAddStake.amount":
		return protoreflect.ValueOfString("")
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgAddStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgAddStake 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_MsgAddStake) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.MsgAddStake", 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_MsgAddStake) 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_MsgAddStake) 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_MsgAddStake) 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_MsgAddStake) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*MsgAddStake)
		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.Sender)
		if l > 0 {
			n += 1 + l + runtime.Sov(uint64(l))
		}
		if x.TopicId != 0 {
			n += 1 + runtime.Sov(uint64(x.TopicId))
		}
		l = len(x.Amount)
		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().(*MsgAddStake)
		if x == nil {
			return protoiface.MarshalOutput{
				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
				Buf:               input.Buf,
			}, nil
		}
		options := runtime.MarshalInputToOptions(input)
		_ = options
		size := options.Size(x)
		dAtA := make([]byte, size)
		i := len(dAtA)
		_ = i
		var l int
		_ = l
		if x.unknownFields != nil {
			i -= len(x.unknownFields)
			copy(dAtA[i:], x.unknownFields)
		}
		if len(x.Amount) > 0 {
			i -= len(x.Amount)
			copy(dAtA[i:], x.Amount)
			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Amount)))
			i--
			dAtA[i] = 0x1a
		}
		if x.TopicId != 0 {
			i = runtime.EncodeVarint(dAtA, i, uint64(x.TopicId))
			i--
			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)))
			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().(*MsgAddStake)
		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: MsgAddStake: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgAddStake: 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 != 0 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType)
				}
				x.TopicId = 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.TopicId |= 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 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
			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_MsgAddStakeResponse protoreflect.MessageDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_MsgAddStakeResponse = File_emissions_v2_tx_proto.Messages().ByName("MsgAddStakeResponse")
}

var _ protoreflect.Message = (*fastReflection_MsgAddStakeResponse)(nil)

type fastReflection_MsgAddStakeResponse MsgAddStakeResponse

func (x *MsgAddStakeResponse) ProtoReflect() protoreflect.Message {
	return (*fastReflection_MsgAddStakeResponse)(x)
}

func (x *MsgAddStakeResponse) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_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_MsgAddStakeResponse_messageType fastReflection_MsgAddStakeResponse_messageType
var _ protoreflect.MessageType = fastReflection_MsgAddStakeResponse_messageType{}

type fastReflection_MsgAddStakeResponse_messageType struct{}

func (x fastReflection_MsgAddStakeResponse_messageType) Zero() protoreflect.Message {
	return (*fastReflection_MsgAddStakeResponse)(nil)
}
func (x fastReflection_MsgAddStakeResponse_messageType) New() protoreflect.Message {
	return new(fastReflection_MsgAddStakeResponse)
}
func (x fastReflection_MsgAddStakeResponse_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgAddStakeResponse
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_MsgAddStakeResponse) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgAddStakeResponse
}

// 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_MsgAddStakeResponse) Type() protoreflect.MessageType {
	return _fastReflection_MsgAddStakeResponse_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_MsgAddStakeResponse) New() protoreflect.Message {
	return new(fastReflection_MsgAddStakeResponse)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_MsgAddStakeResponse) Interface() protoreflect.ProtoMessage {
	return (*MsgAddStakeResponse)(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_MsgAddStakeResponse) 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_MsgAddStakeResponse) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgAddStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgAddStakeResponse 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_MsgAddStakeResponse) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgAddStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgAddStakeResponse 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_MsgAddStakeResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgAddStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgAddStakeResponse 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_MsgAddStakeResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgAddStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgAddStakeResponse 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_MsgAddStakeResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgAddStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgAddStakeResponse 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_MsgAddStakeResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgAddStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgAddStakeResponse 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_MsgAddStakeResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.MsgAddStakeResponse", 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_MsgAddStakeResponse) 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_MsgAddStakeResponse) 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_MsgAddStakeResponse) 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_MsgAddStakeResponse) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*MsgAddStakeResponse)
		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().(*MsgAddStakeResponse)
		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().(*MsgAddStakeResponse)
		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: MsgAddStakeResponse: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgAddStakeResponse: 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_MsgRemoveStake          protoreflect.MessageDescriptor
	fd_MsgRemoveStake_sender   protoreflect.FieldDescriptor
	fd_MsgRemoveStake_topic_id protoreflect.FieldDescriptor
	fd_MsgRemoveStake_amount   protoreflect.FieldDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_MsgRemoveStake = File_emissions_v2_tx_proto.Messages().ByName("MsgRemoveStake")
	fd_MsgRemoveStake_sender = md_MsgRemoveStake.Fields().ByName("sender")
	fd_MsgRemoveStake_topic_id = md_MsgRemoveStake.Fields().ByName("topic_id")
	fd_MsgRemoveStake_amount = md_MsgRemoveStake.Fields().ByName("amount")
}

var _ protoreflect.Message = (*fastReflection_MsgRemoveStake)(nil)

type fastReflection_MsgRemoveStake MsgRemoveStake

func (x *MsgRemoveStake) ProtoReflect() protoreflect.Message {
	return (*fastReflection_MsgRemoveStake)(x)
}

func (x *MsgRemoveStake) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_tx_proto_msgTypes[15]
	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_MsgRemoveStake_messageType fastReflection_MsgRemoveStake_messageType
var _ protoreflect.MessageType = fastReflection_MsgRemoveStake_messageType{}

type fastReflection_MsgRemoveStake_messageType struct{}

func (x fastReflection_MsgRemoveStake_messageType) Zero() protoreflect.Message {
	return (*fastReflection_MsgRemoveStake)(nil)
}
func (x fastReflection_MsgRemoveStake_messageType) New() protoreflect.Message {
	return new(fastReflection_MsgRemoveStake)
}
func (x fastReflection_MsgRemoveStake_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgRemoveStake
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_MsgRemoveStake) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgRemoveStake
}

// 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_MsgRemoveStake) Type() protoreflect.MessageType {
	return _fastReflection_MsgRemoveStake_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_MsgRemoveStake) New() protoreflect.Message {
	return new(fastReflection_MsgRemoveStake)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_MsgRemoveStake) Interface() protoreflect.ProtoMessage {
	return (*MsgRemoveStake)(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_MsgRemoveStake) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
	if x.Sender != "" {
		value := protoreflect.ValueOfString(x.Sender)
		if !f(fd_MsgRemoveStake_sender, value) {
			return
		}
	}
	if x.TopicId != uint64(0) {
		value := protoreflect.ValueOfUint64(x.TopicId)
		if !f(fd_MsgRemoveStake_topic_id, value) {
			return
		}
	}
	if x.Amount != "" {
		value := protoreflect.ValueOfString(x.Amount)
		if !f(fd_MsgRemoveStake_amount, value) {
			return
		}
	}
}

// Has reports whether a field is populated.
//
// Some fields have the property of nullability where it is possible to
// distinguish between the default value of a field and whether the field
// was explicitly populated with the default value. Singular message fields,
// member fields of a oneof, and proto2 scalar fields are nullable. Such
// fields are populated only if explicitly set.
//
// In other cases (aside from the nullable cases above),
// a proto3 scalar field is populated if it contains a non-zero value, and
// a repeated field is populated if it is non-empty.
func (x *fastReflection_MsgRemoveStake) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	case "emissions.v2.MsgRemoveStake.sender":
		return x.Sender != ""
	case "emissions.v2.MsgRemoveStake.topic_id":
		return x.TopicId != uint64(0)
	case "emissions.v2.MsgRemoveStake.amount":
		return x.Amount != ""
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveStake 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_MsgRemoveStake) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	case "emissions.v2.MsgRemoveStake.sender":
		x.Sender = ""
	case "emissions.v2.MsgRemoveStake.topic_id":
		x.TopicId = uint64(0)
	case "emissions.v2.MsgRemoveStake.amount":
		x.Amount = ""
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveStake 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_MsgRemoveStake) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	case "emissions.v2.MsgRemoveStake.sender":
		value := x.Sender
		return protoreflect.ValueOfString(value)
	case "emissions.v2.MsgRemoveStake.topic_id":
		value := x.TopicId
		return protoreflect.ValueOfUint64(value)
	case "emissions.v2.MsgRemoveStake.amount":
		value := x.Amount
		return protoreflect.ValueOfString(value)
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveStake 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_MsgRemoveStake) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	case "emissions.v2.MsgRemoveStake.sender":
		x.Sender = value.Interface().(string)
	case "emissions.v2.MsgRemoveStake.topic_id":
		x.TopicId = value.Uint()
	case "emissions.v2.MsgRemoveStake.amount":
		x.Amount = value.Interface().(string)
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveStake 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_MsgRemoveStake) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgRemoveStake.sender":
		panic(fmt.Errorf("field sender of message emissions.v2.MsgRemoveStake is not mutable"))
	case "emissions.v2.MsgRemoveStake.topic_id":
		panic(fmt.Errorf("field topic_id of message emissions.v2.MsgRemoveStake is not mutable"))
	case "emissions.v2.MsgRemoveStake.amount":
		panic(fmt.Errorf("field amount of message emissions.v2.MsgRemoveStake is not mutable"))
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveStake 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_MsgRemoveStake) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgRemoveStake.sender":
		return protoreflect.ValueOfString("")
	case "emissions.v2.MsgRemoveStake.topic_id":
		return protoreflect.ValueOfUint64(uint64(0))
	case "emissions.v2.MsgRemoveStake.amount":
		return protoreflect.ValueOfString("")
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveStake 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_MsgRemoveStake) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.MsgRemoveStake", 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_MsgRemoveStake) 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_MsgRemoveStake) 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_MsgRemoveStake) 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_MsgRemoveStake) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*MsgRemoveStake)
		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.Sender)
		if l > 0 {
			n += 1 + l + runtime.Sov(uint64(l))
		}
		if x.TopicId != 0 {
			n += 1 + runtime.Sov(uint64(x.TopicId))
		}
		l = len(x.Amount)
		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().(*MsgRemoveStake)
		if x == nil {
			return protoiface.MarshalOutput{
				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
				Buf:               input.Buf,
			}, nil
		}
		options := runtime.MarshalInputToOptions(input)
		_ = options
		size := options.Size(x)
		dAtA := make([]byte, size)
		i := len(dAtA)
		_ = i
		var l int
		_ = l
		if x.unknownFields != nil {
			i -= len(x.unknownFields)
			copy(dAtA[i:], x.unknownFields)
		}
		if len(x.Amount) > 0 {
			i -= len(x.Amount)
			copy(dAtA[i:], x.Amount)
			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Amount)))
			i--
			dAtA[i] = 0x1a
		}
		if x.TopicId != 0 {
			i = runtime.EncodeVarint(dAtA, i, uint64(x.TopicId))
			i--
			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)))
			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().(*MsgRemoveStake)
		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: MsgRemoveStake: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRemoveStake: 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 != 0 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType)
				}
				x.TopicId = 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.TopicId |= 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 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
			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_MsgRemoveStakeResponse protoreflect.MessageDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_MsgRemoveStakeResponse = File_emissions_v2_tx_proto.Messages().ByName("MsgRemoveStakeResponse")
}

var _ protoreflect.Message = (*fastReflection_MsgRemoveStakeResponse)(nil)

type fastReflection_MsgRemoveStakeResponse MsgRemoveStakeResponse

func (x *MsgRemoveStakeResponse) ProtoReflect() protoreflect.Message {
	return (*fastReflection_MsgRemoveStakeResponse)(x)
}

func (x *MsgRemoveStakeResponse) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_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_MsgRemoveStakeResponse_messageType fastReflection_MsgRemoveStakeResponse_messageType
var _ protoreflect.MessageType = fastReflection_MsgRemoveStakeResponse_messageType{}

type fastReflection_MsgRemoveStakeResponse_messageType struct{}

func (x fastReflection_MsgRemoveStakeResponse_messageType) Zero() protoreflect.Message {
	return (*fastReflection_MsgRemoveStakeResponse)(nil)
}
func (x fastReflection_MsgRemoveStakeResponse_messageType) New() protoreflect.Message {
	return new(fastReflection_MsgRemoveStakeResponse)
}
func (x fastReflection_MsgRemoveStakeResponse_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgRemoveStakeResponse
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_MsgRemoveStakeResponse) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgRemoveStakeResponse
}

// 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_MsgRemoveStakeResponse) Type() protoreflect.MessageType {
	return _fastReflection_MsgRemoveStakeResponse_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_MsgRemoveStakeResponse) New() protoreflect.Message {
	return new(fastReflection_MsgRemoveStakeResponse)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_MsgRemoveStakeResponse) Interface() protoreflect.ProtoMessage {
	return (*MsgRemoveStakeResponse)(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_MsgRemoveStakeResponse) 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_MsgRemoveStakeResponse) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveStakeResponse 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_MsgRemoveStakeResponse) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveStakeResponse 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_MsgRemoveStakeResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveStakeResponse 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_MsgRemoveStakeResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveStakeResponse 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_MsgRemoveStakeResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveStakeResponse 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_MsgRemoveStakeResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveStakeResponse 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_MsgRemoveStakeResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.MsgRemoveStakeResponse", 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_MsgRemoveStakeResponse) 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_MsgRemoveStakeResponse) 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_MsgRemoveStakeResponse) 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_MsgRemoveStakeResponse) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*MsgRemoveStakeResponse)
		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().(*MsgRemoveStakeResponse)
		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().(*MsgRemoveStakeResponse)
		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: MsgRemoveStakeResponse: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRemoveStakeResponse: 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_MsgCancelRemoveStake          protoreflect.MessageDescriptor
	fd_MsgCancelRemoveStake_sender   protoreflect.FieldDescriptor
	fd_MsgCancelRemoveStake_topic_id protoreflect.FieldDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_MsgCancelRemoveStake = File_emissions_v2_tx_proto.Messages().ByName("MsgCancelRemoveStake")
	fd_MsgCancelRemoveStake_sender = md_MsgCancelRemoveStake.Fields().ByName("sender")
	fd_MsgCancelRemoveStake_topic_id = md_MsgCancelRemoveStake.Fields().ByName("topic_id")
}

var _ protoreflect.Message = (*fastReflection_MsgCancelRemoveStake)(nil)

type fastReflection_MsgCancelRemoveStake MsgCancelRemoveStake

func (x *MsgCancelRemoveStake) ProtoReflect() protoreflect.Message {
	return (*fastReflection_MsgCancelRemoveStake)(x)
}

func (x *MsgCancelRemoveStake) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_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_MsgCancelRemoveStake_messageType fastReflection_MsgCancelRemoveStake_messageType
var _ protoreflect.MessageType = fastReflection_MsgCancelRemoveStake_messageType{}

type fastReflection_MsgCancelRemoveStake_messageType struct{}

func (x fastReflection_MsgCancelRemoveStake_messageType) Zero() protoreflect.Message {
	return (*fastReflection_MsgCancelRemoveStake)(nil)
}
func (x fastReflection_MsgCancelRemoveStake_messageType) New() protoreflect.Message {
	return new(fastReflection_MsgCancelRemoveStake)
}
func (x fastReflection_MsgCancelRemoveStake_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgCancelRemoveStake
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_MsgCancelRemoveStake) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgCancelRemoveStake
}

// 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_MsgCancelRemoveStake) Type() protoreflect.MessageType {
	return _fastReflection_MsgCancelRemoveStake_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_MsgCancelRemoveStake) New() protoreflect.Message {
	return new(fastReflection_MsgCancelRemoveStake)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_MsgCancelRemoveStake) Interface() protoreflect.ProtoMessage {
	return (*MsgCancelRemoveStake)(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_MsgCancelRemoveStake) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
	if x.Sender != "" {
		value := protoreflect.ValueOfString(x.Sender)
		if !f(fd_MsgCancelRemoveStake_sender, value) {
			return
		}
	}
	if x.TopicId != uint64(0) {
		value := protoreflect.ValueOfUint64(x.TopicId)
		if !f(fd_MsgCancelRemoveStake_topic_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_MsgCancelRemoveStake) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	case "emissions.v2.MsgCancelRemoveStake.sender":
		return x.Sender != ""
	case "emissions.v2.MsgCancelRemoveStake.topic_id":
		return x.TopicId != uint64(0)
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCancelRemoveStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCancelRemoveStake 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_MsgCancelRemoveStake) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	case "emissions.v2.MsgCancelRemoveStake.sender":
		x.Sender = ""
	case "emissions.v2.MsgCancelRemoveStake.topic_id":
		x.TopicId = uint64(0)
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCancelRemoveStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCancelRemoveStake 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_MsgCancelRemoveStake) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	case "emissions.v2.MsgCancelRemoveStake.sender":
		value := x.Sender
		return protoreflect.ValueOfString(value)
	case "emissions.v2.MsgCancelRemoveStake.topic_id":
		value := x.TopicId
		return protoreflect.ValueOfUint64(value)
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCancelRemoveStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCancelRemoveStake 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_MsgCancelRemoveStake) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	case "emissions.v2.MsgCancelRemoveStake.sender":
		x.Sender = value.Interface().(string)
	case "emissions.v2.MsgCancelRemoveStake.topic_id":
		x.TopicId = value.Uint()
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCancelRemoveStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCancelRemoveStake 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_MsgCancelRemoveStake) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgCancelRemoveStake.sender":
		panic(fmt.Errorf("field sender of message emissions.v2.MsgCancelRemoveStake is not mutable"))
	case "emissions.v2.MsgCancelRemoveStake.topic_id":
		panic(fmt.Errorf("field topic_id of message emissions.v2.MsgCancelRemoveStake is not mutable"))
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCancelRemoveStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCancelRemoveStake 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_MsgCancelRemoveStake) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgCancelRemoveStake.sender":
		return protoreflect.ValueOfString("")
	case "emissions.v2.MsgCancelRemoveStake.topic_id":
		return protoreflect.ValueOfUint64(uint64(0))
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCancelRemoveStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCancelRemoveStake 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_MsgCancelRemoveStake) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.MsgCancelRemoveStake", 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_MsgCancelRemoveStake) 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_MsgCancelRemoveStake) 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_MsgCancelRemoveStake) 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_MsgCancelRemoveStake) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*MsgCancelRemoveStake)
		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.Sender)
		if l > 0 {
			n += 1 + l + runtime.Sov(uint64(l))
		}
		if x.TopicId != 0 {
			n += 1 + runtime.Sov(uint64(x.TopicId))
		}
		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().(*MsgCancelRemoveStake)
		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.TopicId != 0 {
			i = runtime.EncodeVarint(dAtA, i, uint64(x.TopicId))
			i--
			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)))
			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().(*MsgCancelRemoveStake)
		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: MsgCancelRemoveStake: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCancelRemoveStake: 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 != 0 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType)
				}
				x.TopicId = 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.TopicId |= uint64(b&0x7F) << shift
					if b < 0x80 {
						break
					}
				}
			default:
				iNdEx = preIndex
				skippy, err := runtime.Skip(dAtA[iNdEx:])
				if err != nil {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
				}
				if (skippy < 0) || (iNdEx+skippy) < 0 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
				}
				if (iNdEx + skippy) > l {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
				}
				if !options.DiscardUnknown {
					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
				}
				iNdEx += skippy
			}
		}

		if iNdEx > l {
			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
		}
		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
	}
	return &protoiface.Methods{
		NoUnkeyedLiterals: struct{}{},
		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
		Size:              size,
		Marshal:           marshal,
		Unmarshal:         unmarshal,
		Merge:             nil,
		CheckInitialized:  nil,
	}
}

var (
	md_MsgCancelRemoveStakeResponse protoreflect.MessageDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_MsgCancelRemoveStakeResponse = File_emissions_v2_tx_proto.Messages().ByName("MsgCancelRemoveStakeResponse")
}

var _ protoreflect.Message = (*fastReflection_MsgCancelRemoveStakeResponse)(nil)

type fastReflection_MsgCancelRemoveStakeResponse MsgCancelRemoveStakeResponse

func (x *MsgCancelRemoveStakeResponse) ProtoReflect() protoreflect.Message {
	return (*fastReflection_MsgCancelRemoveStakeResponse)(x)
}

func (x *MsgCancelRemoveStakeResponse) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_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_MsgCancelRemoveStakeResponse_messageType fastReflection_MsgCancelRemoveStakeResponse_messageType
var _ protoreflect.MessageType = fastReflection_MsgCancelRemoveStakeResponse_messageType{}

type fastReflection_MsgCancelRemoveStakeResponse_messageType struct{}

func (x fastReflection_MsgCancelRemoveStakeResponse_messageType) Zero() protoreflect.Message {
	return (*fastReflection_MsgCancelRemoveStakeResponse)(nil)
}
func (x fastReflection_MsgCancelRemoveStakeResponse_messageType) New() protoreflect.Message {
	return new(fastReflection_MsgCancelRemoveStakeResponse)
}
func (x fastReflection_MsgCancelRemoveStakeResponse_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgCancelRemoveStakeResponse
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_MsgCancelRemoveStakeResponse) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgCancelRemoveStakeResponse
}

// 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_MsgCancelRemoveStakeResponse) Type() protoreflect.MessageType {
	return _fastReflection_MsgCancelRemoveStakeResponse_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_MsgCancelRemoveStakeResponse) New() protoreflect.Message {
	return new(fastReflection_MsgCancelRemoveStakeResponse)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_MsgCancelRemoveStakeResponse) Interface() protoreflect.ProtoMessage {
	return (*MsgCancelRemoveStakeResponse)(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_MsgCancelRemoveStakeResponse) 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_MsgCancelRemoveStakeResponse) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCancelRemoveStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCancelRemoveStakeResponse 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_MsgCancelRemoveStakeResponse) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCancelRemoveStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCancelRemoveStakeResponse 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_MsgCancelRemoveStakeResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCancelRemoveStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCancelRemoveStakeResponse 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_MsgCancelRemoveStakeResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCancelRemoveStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCancelRemoveStakeResponse 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_MsgCancelRemoveStakeResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCancelRemoveStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCancelRemoveStakeResponse 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_MsgCancelRemoveStakeResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCancelRemoveStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCancelRemoveStakeResponse 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_MsgCancelRemoveStakeResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.MsgCancelRemoveStakeResponse", 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_MsgCancelRemoveStakeResponse) 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_MsgCancelRemoveStakeResponse) 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_MsgCancelRemoveStakeResponse) 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_MsgCancelRemoveStakeResponse) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*MsgCancelRemoveStakeResponse)
		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().(*MsgCancelRemoveStakeResponse)
		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().(*MsgCancelRemoveStakeResponse)
		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: MsgCancelRemoveStakeResponse: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCancelRemoveStakeResponse: 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_MsgDelegateStake          protoreflect.MessageDescriptor
	fd_MsgDelegateStake_sender   protoreflect.FieldDescriptor
	fd_MsgDelegateStake_topic_id protoreflect.FieldDescriptor
	fd_MsgDelegateStake_reputer  protoreflect.FieldDescriptor
	fd_MsgDelegateStake_amount   protoreflect.FieldDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_MsgDelegateStake = File_emissions_v2_tx_proto.Messages().ByName("MsgDelegateStake")
	fd_MsgDelegateStake_sender = md_MsgDelegateStake.Fields().ByName("sender")
	fd_MsgDelegateStake_topic_id = md_MsgDelegateStake.Fields().ByName("topic_id")
	fd_MsgDelegateStake_reputer = md_MsgDelegateStake.Fields().ByName("reputer")
	fd_MsgDelegateStake_amount = md_MsgDelegateStake.Fields().ByName("amount")
}

var _ protoreflect.Message = (*fastReflection_MsgDelegateStake)(nil)

type fastReflection_MsgDelegateStake MsgDelegateStake

func (x *MsgDelegateStake) ProtoReflect() protoreflect.Message {
	return (*fastReflection_MsgDelegateStake)(x)
}

func (x *MsgDelegateStake) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_tx_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_MsgDelegateStake_messageType fastReflection_MsgDelegateStake_messageType
var _ protoreflect.MessageType = fastReflection_MsgDelegateStake_messageType{}

type fastReflection_MsgDelegateStake_messageType struct{}

func (x fastReflection_MsgDelegateStake_messageType) Zero() protoreflect.Message {
	return (*fastReflection_MsgDelegateStake)(nil)
}
func (x fastReflection_MsgDelegateStake_messageType) New() protoreflect.Message {
	return new(fastReflection_MsgDelegateStake)
}
func (x fastReflection_MsgDelegateStake_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgDelegateStake
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_MsgDelegateStake) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgDelegateStake
}

// 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_MsgDelegateStake) Type() protoreflect.MessageType {
	return _fastReflection_MsgDelegateStake_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_MsgDelegateStake) New() protoreflect.Message {
	return new(fastReflection_MsgDelegateStake)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_MsgDelegateStake) Interface() protoreflect.ProtoMessage {
	return (*MsgDelegateStake)(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_MsgDelegateStake) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
	if x.Sender != "" {
		value := protoreflect.ValueOfString(x.Sender)
		if !f(fd_MsgDelegateStake_sender, value) {
			return
		}
	}
	if x.TopicId != uint64(0) {
		value := protoreflect.ValueOfUint64(x.TopicId)
		if !f(fd_MsgDelegateStake_topic_id, value) {
			return
		}
	}
	if x.Reputer != "" {
		value := protoreflect.ValueOfString(x.Reputer)
		if !f(fd_MsgDelegateStake_reputer, value) {
			return
		}
	}
	if x.Amount != "" {
		value := protoreflect.ValueOfString(x.Amount)
		if !f(fd_MsgDelegateStake_amount, value) {
			return
		}
	}
}

// Has reports whether a field is populated.
//
// Some fields have the property of nullability where it is possible to
// distinguish between the default value of a field and whether the field
// was explicitly populated with the default value. Singular message fields,
// member fields of a oneof, and proto2 scalar fields are nullable. Such
// fields are populated only if explicitly set.
//
// In other cases (aside from the nullable cases above),
// a proto3 scalar field is populated if it contains a non-zero value, and
// a repeated field is populated if it is non-empty.
func (x *fastReflection_MsgDelegateStake) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	case "emissions.v2.MsgDelegateStake.sender":
		return x.Sender != ""
	case "emissions.v2.MsgDelegateStake.topic_id":
		return x.TopicId != uint64(0)
	case "emissions.v2.MsgDelegateStake.reputer":
		return x.Reputer != ""
	case "emissions.v2.MsgDelegateStake.amount":
		return x.Amount != ""
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgDelegateStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgDelegateStake 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_MsgDelegateStake) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	case "emissions.v2.MsgDelegateStake.sender":
		x.Sender = ""
	case "emissions.v2.MsgDelegateStake.topic_id":
		x.TopicId = uint64(0)
	case "emissions.v2.MsgDelegateStake.reputer":
		x.Reputer = ""
	case "emissions.v2.MsgDelegateStake.amount":
		x.Amount = ""
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgDelegateStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgDelegateStake 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_MsgDelegateStake) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	case "emissions.v2.MsgDelegateStake.sender":
		value := x.Sender
		return protoreflect.ValueOfString(value)
	case "emissions.v2.MsgDelegateStake.topic_id":
		value := x.TopicId
		return protoreflect.ValueOfUint64(value)
	case "emissions.v2.MsgDelegateStake.reputer":
		value := x.Reputer
		return protoreflect.ValueOfString(value)
	case "emissions.v2.MsgDelegateStake.amount":
		value := x.Amount
		return protoreflect.ValueOfString(value)
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgDelegateStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgDelegateStake 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_MsgDelegateStake) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	case "emissions.v2.MsgDelegateStake.sender":
		x.Sender = value.Interface().(string)
	case "emissions.v2.MsgDelegateStake.topic_id":
		x.TopicId = value.Uint()
	case "emissions.v2.MsgDelegateStake.reputer":
		x.Reputer = value.Interface().(string)
	case "emissions.v2.MsgDelegateStake.amount":
		x.Amount = value.Interface().(string)
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgDelegateStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgDelegateStake 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_MsgDelegateStake) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgDelegateStake.sender":
		panic(fmt.Errorf("field sender of message emissions.v2.MsgDelegateStake is not mutable"))
	case "emissions.v2.MsgDelegateStake.topic_id":
		panic(fmt.Errorf("field topic_id of message emissions.v2.MsgDelegateStake is not mutable"))
	case "emissions.v2.MsgDelegateStake.reputer":
		panic(fmt.Errorf("field reputer of message emissions.v2.MsgDelegateStake is not mutable"))
	case "emissions.v2.MsgDelegateStake.amount":
		panic(fmt.Errorf("field amount of message emissions.v2.MsgDelegateStake is not mutable"))
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgDelegateStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgDelegateStake 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_MsgDelegateStake) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgDelegateStake.sender":
		return protoreflect.ValueOfString("")
	case "emissions.v2.MsgDelegateStake.topic_id":
		return protoreflect.ValueOfUint64(uint64(0))
	case "emissions.v2.MsgDelegateStake.reputer":
		return protoreflect.ValueOfString("")
	case "emissions.v2.MsgDelegateStake.amount":
		return protoreflect.ValueOfString("")
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgDelegateStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgDelegateStake 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_MsgDelegateStake) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.MsgDelegateStake", 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_MsgDelegateStake) 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_MsgDelegateStake) 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_MsgDelegateStake) 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_MsgDelegateStake) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*MsgDelegateStake)
		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.Sender)
		if l > 0 {
			n += 1 + l + runtime.Sov(uint64(l))
		}
		if x.TopicId != 0 {
			n += 1 + runtime.Sov(uint64(x.TopicId))
		}
		l = len(x.Reputer)
		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.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().(*MsgDelegateStake)
		if x == nil {
			return protoiface.MarshalOutput{
				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
				Buf:               input.Buf,
			}, nil
		}
		options := runtime.MarshalInputToOptions(input)
		_ = options
		size := options.Size(x)
		dAtA := make([]byte, size)
		i := len(dAtA)
		_ = i
		var l int
		_ = l
		if x.unknownFields != nil {
			i -= len(x.unknownFields)
			copy(dAtA[i:], x.unknownFields)
		}
		if len(x.Amount) > 0 {
			i -= len(x.Amount)
			copy(dAtA[i:], x.Amount)
			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Amount)))
			i--
			dAtA[i] = 0x22
		}
		if len(x.Reputer) > 0 {
			i -= len(x.Reputer)
			copy(dAtA[i:], x.Reputer)
			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Reputer)))
			i--
			dAtA[i] = 0x1a
		}
		if x.TopicId != 0 {
			i = runtime.EncodeVarint(dAtA, i, uint64(x.TopicId))
			i--
			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)))
			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().(*MsgDelegateStake)
		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: MsgDelegateStake: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgDelegateStake: 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 != 0 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType)
				}
				x.TopicId = 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.TopicId |= 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 Reputer", 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.Reputer = 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 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
			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_MsgDelegateStakeResponse protoreflect.MessageDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_MsgDelegateStakeResponse = File_emissions_v2_tx_proto.Messages().ByName("MsgDelegateStakeResponse")
}

var _ protoreflect.Message = (*fastReflection_MsgDelegateStakeResponse)(nil)

type fastReflection_MsgDelegateStakeResponse MsgDelegateStakeResponse

func (x *MsgDelegateStakeResponse) ProtoReflect() protoreflect.Message {
	return (*fastReflection_MsgDelegateStakeResponse)(x)
}

func (x *MsgDelegateStakeResponse) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_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_MsgDelegateStakeResponse_messageType fastReflection_MsgDelegateStakeResponse_messageType
var _ protoreflect.MessageType = fastReflection_MsgDelegateStakeResponse_messageType{}

type fastReflection_MsgDelegateStakeResponse_messageType struct{}

func (x fastReflection_MsgDelegateStakeResponse_messageType) Zero() protoreflect.Message {
	return (*fastReflection_MsgDelegateStakeResponse)(nil)
}
func (x fastReflection_MsgDelegateStakeResponse_messageType) New() protoreflect.Message {
	return new(fastReflection_MsgDelegateStakeResponse)
}
func (x fastReflection_MsgDelegateStakeResponse_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgDelegateStakeResponse
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_MsgDelegateStakeResponse) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgDelegateStakeResponse
}

// 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_MsgDelegateStakeResponse) Type() protoreflect.MessageType {
	return _fastReflection_MsgDelegateStakeResponse_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_MsgDelegateStakeResponse) New() protoreflect.Message {
	return new(fastReflection_MsgDelegateStakeResponse)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_MsgDelegateStakeResponse) Interface() protoreflect.ProtoMessage {
	return (*MsgDelegateStakeResponse)(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_MsgDelegateStakeResponse) 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_MsgDelegateStakeResponse) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgDelegateStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgDelegateStakeResponse 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_MsgDelegateStakeResponse) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgDelegateStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgDelegateStakeResponse 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_MsgDelegateStakeResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgDelegateStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgDelegateStakeResponse 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_MsgDelegateStakeResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgDelegateStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgDelegateStakeResponse 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_MsgDelegateStakeResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgDelegateStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgDelegateStakeResponse 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_MsgDelegateStakeResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgDelegateStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgDelegateStakeResponse 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_MsgDelegateStakeResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.MsgDelegateStakeResponse", 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_MsgDelegateStakeResponse) 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_MsgDelegateStakeResponse) 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_MsgDelegateStakeResponse) 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_MsgDelegateStakeResponse) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*MsgDelegateStakeResponse)
		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().(*MsgDelegateStakeResponse)
		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().(*MsgDelegateStakeResponse)
		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: MsgDelegateStakeResponse: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgDelegateStakeResponse: 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_MsgRemoveDelegateStake          protoreflect.MessageDescriptor
	fd_MsgRemoveDelegateStake_sender   protoreflect.FieldDescriptor
	fd_MsgRemoveDelegateStake_reputer  protoreflect.FieldDescriptor
	fd_MsgRemoveDelegateStake_topic_id protoreflect.FieldDescriptor
	fd_MsgRemoveDelegateStake_amount   protoreflect.FieldDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_MsgRemoveDelegateStake = File_emissions_v2_tx_proto.Messages().ByName("MsgRemoveDelegateStake")
	fd_MsgRemoveDelegateStake_sender = md_MsgRemoveDelegateStake.Fields().ByName("sender")
	fd_MsgRemoveDelegateStake_reputer = md_MsgRemoveDelegateStake.Fields().ByName("reputer")
	fd_MsgRemoveDelegateStake_topic_id = md_MsgRemoveDelegateStake.Fields().ByName("topic_id")
	fd_MsgRemoveDelegateStake_amount = md_MsgRemoveDelegateStake.Fields().ByName("amount")
}

var _ protoreflect.Message = (*fastReflection_MsgRemoveDelegateStake)(nil)

type fastReflection_MsgRemoveDelegateStake MsgRemoveDelegateStake

func (x *MsgRemoveDelegateStake) ProtoReflect() protoreflect.Message {
	return (*fastReflection_MsgRemoveDelegateStake)(x)
}

func (x *MsgRemoveDelegateStake) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_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)
}

var _fastReflection_MsgRemoveDelegateStake_messageType fastReflection_MsgRemoveDelegateStake_messageType
var _ protoreflect.MessageType = fastReflection_MsgRemoveDelegateStake_messageType{}

type fastReflection_MsgRemoveDelegateStake_messageType struct{}

func (x fastReflection_MsgRemoveDelegateStake_messageType) Zero() protoreflect.Message {
	return (*fastReflection_MsgRemoveDelegateStake)(nil)
}
func (x fastReflection_MsgRemoveDelegateStake_messageType) New() protoreflect.Message {
	return new(fastReflection_MsgRemoveDelegateStake)
}
func (x fastReflection_MsgRemoveDelegateStake_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgRemoveDelegateStake
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_MsgRemoveDelegateStake) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgRemoveDelegateStake
}

// 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_MsgRemoveDelegateStake) Type() protoreflect.MessageType {
	return _fastReflection_MsgRemoveDelegateStake_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_MsgRemoveDelegateStake) New() protoreflect.Message {
	return new(fastReflection_MsgRemoveDelegateStake)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_MsgRemoveDelegateStake) Interface() protoreflect.ProtoMessage {
	return (*MsgRemoveDelegateStake)(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_MsgRemoveDelegateStake) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
	if x.Sender != "" {
		value := protoreflect.ValueOfString(x.Sender)
		if !f(fd_MsgRemoveDelegateStake_sender, value) {
			return
		}
	}
	if x.Reputer != "" {
		value := protoreflect.ValueOfString(x.Reputer)
		if !f(fd_MsgRemoveDelegateStake_reputer, value) {
			return
		}
	}
	if x.TopicId != uint64(0) {
		value := protoreflect.ValueOfUint64(x.TopicId)
		if !f(fd_MsgRemoveDelegateStake_topic_id, value) {
			return
		}
	}
	if x.Amount != "" {
		value := protoreflect.ValueOfString(x.Amount)
		if !f(fd_MsgRemoveDelegateStake_amount, value) {
			return
		}
	}
}

// Has reports whether a field is populated.
//
// Some fields have the property of nullability where it is possible to
// distinguish between the default value of a field and whether the field
// was explicitly populated with the default value. Singular message fields,
// member fields of a oneof, and proto2 scalar fields are nullable. Such
// fields are populated only if explicitly set.
//
// In other cases (aside from the nullable cases above),
// a proto3 scalar field is populated if it contains a non-zero value, and
// a repeated field is populated if it is non-empty.
func (x *fastReflection_MsgRemoveDelegateStake) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	case "emissions.v2.MsgRemoveDelegateStake.sender":
		return x.Sender != ""
	case "emissions.v2.MsgRemoveDelegateStake.reputer":
		return x.Reputer != ""
	case "emissions.v2.MsgRemoveDelegateStake.topic_id":
		return x.TopicId != uint64(0)
	case "emissions.v2.MsgRemoveDelegateStake.amount":
		return x.Amount != ""
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveDelegateStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveDelegateStake 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_MsgRemoveDelegateStake) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	case "emissions.v2.MsgRemoveDelegateStake.sender":
		x.Sender = ""
	case "emissions.v2.MsgRemoveDelegateStake.reputer":
		x.Reputer = ""
	case "emissions.v2.MsgRemoveDelegateStake.topic_id":
		x.TopicId = uint64(0)
	case "emissions.v2.MsgRemoveDelegateStake.amount":
		x.Amount = ""
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveDelegateStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveDelegateStake 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_MsgRemoveDelegateStake) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	case "emissions.v2.MsgRemoveDelegateStake.sender":
		value := x.Sender
		return protoreflect.ValueOfString(value)
	case "emissions.v2.MsgRemoveDelegateStake.reputer":
		value := x.Reputer
		return protoreflect.ValueOfString(value)
	case "emissions.v2.MsgRemoveDelegateStake.topic_id":
		value := x.TopicId
		return protoreflect.ValueOfUint64(value)
	case "emissions.v2.MsgRemoveDelegateStake.amount":
		value := x.Amount
		return protoreflect.ValueOfString(value)
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveDelegateStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveDelegateStake 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_MsgRemoveDelegateStake) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	case "emissions.v2.MsgRemoveDelegateStake.sender":
		x.Sender = value.Interface().(string)
	case "emissions.v2.MsgRemoveDelegateStake.reputer":
		x.Reputer = value.Interface().(string)
	case "emissions.v2.MsgRemoveDelegateStake.topic_id":
		x.TopicId = value.Uint()
	case "emissions.v2.MsgRemoveDelegateStake.amount":
		x.Amount = value.Interface().(string)
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveDelegateStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveDelegateStake 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_MsgRemoveDelegateStake) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgRemoveDelegateStake.sender":
		panic(fmt.Errorf("field sender of message emissions.v2.MsgRemoveDelegateStake is not mutable"))
	case "emissions.v2.MsgRemoveDelegateStake.reputer":
		panic(fmt.Errorf("field reputer of message emissions.v2.MsgRemoveDelegateStake is not mutable"))
	case "emissions.v2.MsgRemoveDelegateStake.topic_id":
		panic(fmt.Errorf("field topic_id of message emissions.v2.MsgRemoveDelegateStake is not mutable"))
	case "emissions.v2.MsgRemoveDelegateStake.amount":
		panic(fmt.Errorf("field amount of message emissions.v2.MsgRemoveDelegateStake is not mutable"))
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveDelegateStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveDelegateStake 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_MsgRemoveDelegateStake) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgRemoveDelegateStake.sender":
		return protoreflect.ValueOfString("")
	case "emissions.v2.MsgRemoveDelegateStake.reputer":
		return protoreflect.ValueOfString("")
	case "emissions.v2.MsgRemoveDelegateStake.topic_id":
		return protoreflect.ValueOfUint64(uint64(0))
	case "emissions.v2.MsgRemoveDelegateStake.amount":
		return protoreflect.ValueOfString("")
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveDelegateStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveDelegateStake 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_MsgRemoveDelegateStake) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.MsgRemoveDelegateStake", 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_MsgRemoveDelegateStake) 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_MsgRemoveDelegateStake) 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_MsgRemoveDelegateStake) 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_MsgRemoveDelegateStake) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*MsgRemoveDelegateStake)
		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.Sender)
		if l > 0 {
			n += 1 + l + runtime.Sov(uint64(l))
		}
		l = len(x.Reputer)
		if l > 0 {
			n += 1 + l + runtime.Sov(uint64(l))
		}
		if x.TopicId != 0 {
			n += 1 + runtime.Sov(uint64(x.TopicId))
		}
		l = len(x.Amount)
		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().(*MsgRemoveDelegateStake)
		if x == nil {
			return protoiface.MarshalOutput{
				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
				Buf:               input.Buf,
			}, nil
		}
		options := runtime.MarshalInputToOptions(input)
		_ = options
		size := options.Size(x)
		dAtA := make([]byte, size)
		i := len(dAtA)
		_ = i
		var l int
		_ = l
		if x.unknownFields != nil {
			i -= len(x.unknownFields)
			copy(dAtA[i:], x.unknownFields)
		}
		if len(x.Amount) > 0 {
			i -= len(x.Amount)
			copy(dAtA[i:], x.Amount)
			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Amount)))
			i--
			dAtA[i] = 0x22
		}
		if x.TopicId != 0 {
			i = runtime.EncodeVarint(dAtA, i, uint64(x.TopicId))
			i--
			dAtA[i] = 0x18
		}
		if len(x.Reputer) > 0 {
			i -= len(x.Reputer)
			copy(dAtA[i:], x.Reputer)
			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Reputer)))
			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 {
			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().(*MsgRemoveDelegateStake)
		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: MsgRemoveDelegateStake: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRemoveDelegateStake: 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 Reputer", 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.Reputer = 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 TopicId", wireType)
				}
				x.TopicId = 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.TopicId |= 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 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
			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_MsgRemoveDelegateStakeResponse protoreflect.MessageDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_MsgRemoveDelegateStakeResponse = File_emissions_v2_tx_proto.Messages().ByName("MsgRemoveDelegateStakeResponse")
}

var _ protoreflect.Message = (*fastReflection_MsgRemoveDelegateStakeResponse)(nil)

type fastReflection_MsgRemoveDelegateStakeResponse MsgRemoveDelegateStakeResponse

func (x *MsgRemoveDelegateStakeResponse) ProtoReflect() protoreflect.Message {
	return (*fastReflection_MsgRemoveDelegateStakeResponse)(x)
}

func (x *MsgRemoveDelegateStakeResponse) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_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_MsgRemoveDelegateStakeResponse_messageType fastReflection_MsgRemoveDelegateStakeResponse_messageType
var _ protoreflect.MessageType = fastReflection_MsgRemoveDelegateStakeResponse_messageType{}

type fastReflection_MsgRemoveDelegateStakeResponse_messageType struct{}

func (x fastReflection_MsgRemoveDelegateStakeResponse_messageType) Zero() protoreflect.Message {
	return (*fastReflection_MsgRemoveDelegateStakeResponse)(nil)
}
func (x fastReflection_MsgRemoveDelegateStakeResponse_messageType) New() protoreflect.Message {
	return new(fastReflection_MsgRemoveDelegateStakeResponse)
}
func (x fastReflection_MsgRemoveDelegateStakeResponse_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgRemoveDelegateStakeResponse
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_MsgRemoveDelegateStakeResponse) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgRemoveDelegateStakeResponse
}

// 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_MsgRemoveDelegateStakeResponse) Type() protoreflect.MessageType {
	return _fastReflection_MsgRemoveDelegateStakeResponse_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_MsgRemoveDelegateStakeResponse) New() protoreflect.Message {
	return new(fastReflection_MsgRemoveDelegateStakeResponse)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_MsgRemoveDelegateStakeResponse) Interface() protoreflect.ProtoMessage {
	return (*MsgRemoveDelegateStakeResponse)(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_MsgRemoveDelegateStakeResponse) 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_MsgRemoveDelegateStakeResponse) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveDelegateStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveDelegateStakeResponse 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_MsgRemoveDelegateStakeResponse) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveDelegateStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveDelegateStakeResponse 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_MsgRemoveDelegateStakeResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveDelegateStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveDelegateStakeResponse 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_MsgRemoveDelegateStakeResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveDelegateStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveDelegateStakeResponse 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_MsgRemoveDelegateStakeResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveDelegateStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveDelegateStakeResponse 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_MsgRemoveDelegateStakeResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveDelegateStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveDelegateStakeResponse 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_MsgRemoveDelegateStakeResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.MsgRemoveDelegateStakeResponse", 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_MsgRemoveDelegateStakeResponse) 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_MsgRemoveDelegateStakeResponse) 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_MsgRemoveDelegateStakeResponse) 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_MsgRemoveDelegateStakeResponse) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*MsgRemoveDelegateStakeResponse)
		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().(*MsgRemoveDelegateStakeResponse)
		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().(*MsgRemoveDelegateStakeResponse)
		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: MsgRemoveDelegateStakeResponse: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRemoveDelegateStakeResponse: 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_MsgCancelRemoveDelegateStake           protoreflect.MessageDescriptor
	fd_MsgCancelRemoveDelegateStake_sender    protoreflect.FieldDescriptor
	fd_MsgCancelRemoveDelegateStake_topic_id  protoreflect.FieldDescriptor
	fd_MsgCancelRemoveDelegateStake_delegator protoreflect.FieldDescriptor
	fd_MsgCancelRemoveDelegateStake_reputer   protoreflect.FieldDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_MsgCancelRemoveDelegateStake = File_emissions_v2_tx_proto.Messages().ByName("MsgCancelRemoveDelegateStake")
	fd_MsgCancelRemoveDelegateStake_sender = md_MsgCancelRemoveDelegateStake.Fields().ByName("sender")
	fd_MsgCancelRemoveDelegateStake_topic_id = md_MsgCancelRemoveDelegateStake.Fields().ByName("topic_id")
	fd_MsgCancelRemoveDelegateStake_delegator = md_MsgCancelRemoveDelegateStake.Fields().ByName("delegator")
	fd_MsgCancelRemoveDelegateStake_reputer = md_MsgCancelRemoveDelegateStake.Fields().ByName("reputer")
}

var _ protoreflect.Message = (*fastReflection_MsgCancelRemoveDelegateStake)(nil)

type fastReflection_MsgCancelRemoveDelegateStake MsgCancelRemoveDelegateStake

func (x *MsgCancelRemoveDelegateStake) ProtoReflect() protoreflect.Message {
	return (*fastReflection_MsgCancelRemoveDelegateStake)(x)
}

func (x *MsgCancelRemoveDelegateStake) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_tx_proto_msgTypes[23]
	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_MsgCancelRemoveDelegateStake_messageType fastReflection_MsgCancelRemoveDelegateStake_messageType
var _ protoreflect.MessageType = fastReflection_MsgCancelRemoveDelegateStake_messageType{}

type fastReflection_MsgCancelRemoveDelegateStake_messageType struct{}

func (x fastReflection_MsgCancelRemoveDelegateStake_messageType) Zero() protoreflect.Message {
	return (*fastReflection_MsgCancelRemoveDelegateStake)(nil)
}
func (x fastReflection_MsgCancelRemoveDelegateStake_messageType) New() protoreflect.Message {
	return new(fastReflection_MsgCancelRemoveDelegateStake)
}
func (x fastReflection_MsgCancelRemoveDelegateStake_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgCancelRemoveDelegateStake
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_MsgCancelRemoveDelegateStake) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgCancelRemoveDelegateStake
}

// 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_MsgCancelRemoveDelegateStake) Type() protoreflect.MessageType {
	return _fastReflection_MsgCancelRemoveDelegateStake_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_MsgCancelRemoveDelegateStake) New() protoreflect.Message {
	return new(fastReflection_MsgCancelRemoveDelegateStake)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_MsgCancelRemoveDelegateStake) Interface() protoreflect.ProtoMessage {
	return (*MsgCancelRemoveDelegateStake)(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_MsgCancelRemoveDelegateStake) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
	if x.Sender != "" {
		value := protoreflect.ValueOfString(x.Sender)
		if !f(fd_MsgCancelRemoveDelegateStake_sender, value) {
			return
		}
	}
	if x.TopicId != uint64(0) {
		value := protoreflect.ValueOfUint64(x.TopicId)
		if !f(fd_MsgCancelRemoveDelegateStake_topic_id, value) {
			return
		}
	}
	if x.Delegator != "" {
		value := protoreflect.ValueOfString(x.Delegator)
		if !f(fd_MsgCancelRemoveDelegateStake_delegator, value) {
			return
		}
	}
	if x.Reputer != "" {
		value := protoreflect.ValueOfString(x.Reputer)
		if !f(fd_MsgCancelRemoveDelegateStake_reputer, 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_MsgCancelRemoveDelegateStake) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	case "emissions.v2.MsgCancelRemoveDelegateStake.sender":
		return x.Sender != ""
	case "emissions.v2.MsgCancelRemoveDelegateStake.topic_id":
		return x.TopicId != uint64(0)
	case "emissions.v2.MsgCancelRemoveDelegateStake.delegator":
		return x.Delegator != ""
	case "emissions.v2.MsgCancelRemoveDelegateStake.reputer":
		return x.Reputer != ""
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCancelRemoveDelegateStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCancelRemoveDelegateStake 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_MsgCancelRemoveDelegateStake) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	case "emissions.v2.MsgCancelRemoveDelegateStake.sender":
		x.Sender = ""
	case "emissions.v2.MsgCancelRemoveDelegateStake.topic_id":
		x.TopicId = uint64(0)
	case "emissions.v2.MsgCancelRemoveDelegateStake.delegator":
		x.Delegator = ""
	case "emissions.v2.MsgCancelRemoveDelegateStake.reputer":
		x.Reputer = ""
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCancelRemoveDelegateStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCancelRemoveDelegateStake 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_MsgCancelRemoveDelegateStake) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	case "emissions.v2.MsgCancelRemoveDelegateStake.sender":
		value := x.Sender
		return protoreflect.ValueOfString(value)
	case "emissions.v2.MsgCancelRemoveDelegateStake.topic_id":
		value := x.TopicId
		return protoreflect.ValueOfUint64(value)
	case "emissions.v2.MsgCancelRemoveDelegateStake.delegator":
		value := x.Delegator
		return protoreflect.ValueOfString(value)
	case "emissions.v2.MsgCancelRemoveDelegateStake.reputer":
		value := x.Reputer
		return protoreflect.ValueOfString(value)
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCancelRemoveDelegateStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCancelRemoveDelegateStake 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_MsgCancelRemoveDelegateStake) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	case "emissions.v2.MsgCancelRemoveDelegateStake.sender":
		x.Sender = value.Interface().(string)
	case "emissions.v2.MsgCancelRemoveDelegateStake.topic_id":
		x.TopicId = value.Uint()
	case "emissions.v2.MsgCancelRemoveDelegateStake.delegator":
		x.Delegator = value.Interface().(string)
	case "emissions.v2.MsgCancelRemoveDelegateStake.reputer":
		x.Reputer = value.Interface().(string)
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCancelRemoveDelegateStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCancelRemoveDelegateStake 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_MsgCancelRemoveDelegateStake) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgCancelRemoveDelegateStake.sender":
		panic(fmt.Errorf("field sender of message emissions.v2.MsgCancelRemoveDelegateStake is not mutable"))
	case "emissions.v2.MsgCancelRemoveDelegateStake.topic_id":
		panic(fmt.Errorf("field topic_id of message emissions.v2.MsgCancelRemoveDelegateStake is not mutable"))
	case "emissions.v2.MsgCancelRemoveDelegateStake.delegator":
		panic(fmt.Errorf("field delegator of message emissions.v2.MsgCancelRemoveDelegateStake is not mutable"))
	case "emissions.v2.MsgCancelRemoveDelegateStake.reputer":
		panic(fmt.Errorf("field reputer of message emissions.v2.MsgCancelRemoveDelegateStake is not mutable"))
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCancelRemoveDelegateStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCancelRemoveDelegateStake 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_MsgCancelRemoveDelegateStake) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgCancelRemoveDelegateStake.sender":
		return protoreflect.ValueOfString("")
	case "emissions.v2.MsgCancelRemoveDelegateStake.topic_id":
		return protoreflect.ValueOfUint64(uint64(0))
	case "emissions.v2.MsgCancelRemoveDelegateStake.delegator":
		return protoreflect.ValueOfString("")
	case "emissions.v2.MsgCancelRemoveDelegateStake.reputer":
		return protoreflect.ValueOfString("")
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCancelRemoveDelegateStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCancelRemoveDelegateStake 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_MsgCancelRemoveDelegateStake) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.MsgCancelRemoveDelegateStake", 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_MsgCancelRemoveDelegateStake) 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_MsgCancelRemoveDelegateStake) 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_MsgCancelRemoveDelegateStake) 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_MsgCancelRemoveDelegateStake) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*MsgCancelRemoveDelegateStake)
		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.Sender)
		if l > 0 {
			n += 1 + l + runtime.Sov(uint64(l))
		}
		if x.TopicId != 0 {
			n += 1 + runtime.Sov(uint64(x.TopicId))
		}
		l = len(x.Delegator)
		if l > 0 {
			n += 1 + l + runtime.Sov(uint64(l))
		}
		l = len(x.Reputer)
		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().(*MsgCancelRemoveDelegateStake)
		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.Reputer) > 0 {
			i -= len(x.Reputer)
			copy(dAtA[i:], x.Reputer)
			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Reputer)))
			i--
			dAtA[i] = 0x22
		}
		if len(x.Delegator) > 0 {
			i -= len(x.Delegator)
			copy(dAtA[i:], x.Delegator)
			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Delegator)))
			i--
			dAtA[i] = 0x1a
		}
		if x.TopicId != 0 {
			i = runtime.EncodeVarint(dAtA, i, uint64(x.TopicId))
			i--
			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)))
			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().(*MsgCancelRemoveDelegateStake)
		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: MsgCancelRemoveDelegateStake: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCancelRemoveDelegateStake: 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 != 0 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType)
				}
				x.TopicId = 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.TopicId |= 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 Delegator", 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.Delegator = 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 Reputer", 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.Reputer = 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_MsgCancelRemoveDelegateStakeResponse protoreflect.MessageDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_MsgCancelRemoveDelegateStakeResponse = File_emissions_v2_tx_proto.Messages().ByName("MsgCancelRemoveDelegateStakeResponse")
}

var _ protoreflect.Message = (*fastReflection_MsgCancelRemoveDelegateStakeResponse)(nil)

type fastReflection_MsgCancelRemoveDelegateStakeResponse MsgCancelRemoveDelegateStakeResponse

func (x *MsgCancelRemoveDelegateStakeResponse) ProtoReflect() protoreflect.Message {
	return (*fastReflection_MsgCancelRemoveDelegateStakeResponse)(x)
}

func (x *MsgCancelRemoveDelegateStakeResponse) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_tx_proto_msgTypes[24]
	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_MsgCancelRemoveDelegateStakeResponse_messageType fastReflection_MsgCancelRemoveDelegateStakeResponse_messageType
var _ protoreflect.MessageType = fastReflection_MsgCancelRemoveDelegateStakeResponse_messageType{}

type fastReflection_MsgCancelRemoveDelegateStakeResponse_messageType struct{}

func (x fastReflection_MsgCancelRemoveDelegateStakeResponse_messageType) Zero() protoreflect.Message {
	return (*fastReflection_MsgCancelRemoveDelegateStakeResponse)(nil)
}
func (x fastReflection_MsgCancelRemoveDelegateStakeResponse_messageType) New() protoreflect.Message {
	return new(fastReflection_MsgCancelRemoveDelegateStakeResponse)
}
func (x fastReflection_MsgCancelRemoveDelegateStakeResponse_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgCancelRemoveDelegateStakeResponse
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_MsgCancelRemoveDelegateStakeResponse) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgCancelRemoveDelegateStakeResponse
}

// 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_MsgCancelRemoveDelegateStakeResponse) Type() protoreflect.MessageType {
	return _fastReflection_MsgCancelRemoveDelegateStakeResponse_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_MsgCancelRemoveDelegateStakeResponse) New() protoreflect.Message {
	return new(fastReflection_MsgCancelRemoveDelegateStakeResponse)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_MsgCancelRemoveDelegateStakeResponse) Interface() protoreflect.ProtoMessage {
	return (*MsgCancelRemoveDelegateStakeResponse)(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_MsgCancelRemoveDelegateStakeResponse) 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_MsgCancelRemoveDelegateStakeResponse) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCancelRemoveDelegateStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCancelRemoveDelegateStakeResponse 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_MsgCancelRemoveDelegateStakeResponse) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCancelRemoveDelegateStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCancelRemoveDelegateStakeResponse 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_MsgCancelRemoveDelegateStakeResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCancelRemoveDelegateStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCancelRemoveDelegateStakeResponse 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_MsgCancelRemoveDelegateStakeResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCancelRemoveDelegateStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCancelRemoveDelegateStakeResponse 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_MsgCancelRemoveDelegateStakeResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCancelRemoveDelegateStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCancelRemoveDelegateStakeResponse 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_MsgCancelRemoveDelegateStakeResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgCancelRemoveDelegateStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgCancelRemoveDelegateStakeResponse 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_MsgCancelRemoveDelegateStakeResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.MsgCancelRemoveDelegateStakeResponse", 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_MsgCancelRemoveDelegateStakeResponse) 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_MsgCancelRemoveDelegateStakeResponse) 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_MsgCancelRemoveDelegateStakeResponse) 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_MsgCancelRemoveDelegateStakeResponse) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*MsgCancelRemoveDelegateStakeResponse)
		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().(*MsgCancelRemoveDelegateStakeResponse)
		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().(*MsgCancelRemoveDelegateStakeResponse)
		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: MsgCancelRemoveDelegateStakeResponse: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCancelRemoveDelegateStakeResponse: 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_MsgFundTopic          protoreflect.MessageDescriptor
	fd_MsgFundTopic_sender   protoreflect.FieldDescriptor
	fd_MsgFundTopic_topic_id protoreflect.FieldDescriptor
	fd_MsgFundTopic_amount   protoreflect.FieldDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_MsgFundTopic = File_emissions_v2_tx_proto.Messages().ByName("MsgFundTopic")
	fd_MsgFundTopic_sender = md_MsgFundTopic.Fields().ByName("sender")
	fd_MsgFundTopic_topic_id = md_MsgFundTopic.Fields().ByName("topic_id")
	fd_MsgFundTopic_amount = md_MsgFundTopic.Fields().ByName("amount")
}

var _ protoreflect.Message = (*fastReflection_MsgFundTopic)(nil)

type fastReflection_MsgFundTopic MsgFundTopic

func (x *MsgFundTopic) ProtoReflect() protoreflect.Message {
	return (*fastReflection_MsgFundTopic)(x)
}

func (x *MsgFundTopic) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_tx_proto_msgTypes[25]
	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_MsgFundTopic_messageType fastReflection_MsgFundTopic_messageType
var _ protoreflect.MessageType = fastReflection_MsgFundTopic_messageType{}

type fastReflection_MsgFundTopic_messageType struct{}

func (x fastReflection_MsgFundTopic_messageType) Zero() protoreflect.Message {
	return (*fastReflection_MsgFundTopic)(nil)
}
func (x fastReflection_MsgFundTopic_messageType) New() protoreflect.Message {
	return new(fastReflection_MsgFundTopic)
}
func (x fastReflection_MsgFundTopic_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgFundTopic
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_MsgFundTopic) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgFundTopic
}

// 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_MsgFundTopic) Type() protoreflect.MessageType {
	return _fastReflection_MsgFundTopic_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_MsgFundTopic) New() protoreflect.Message {
	return new(fastReflection_MsgFundTopic)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_MsgFundTopic) Interface() protoreflect.ProtoMessage {
	return (*MsgFundTopic)(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_MsgFundTopic) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
	if x.Sender != "" {
		value := protoreflect.ValueOfString(x.Sender)
		if !f(fd_MsgFundTopic_sender, value) {
			return
		}
	}
	if x.TopicId != uint64(0) {
		value := protoreflect.ValueOfUint64(x.TopicId)
		if !f(fd_MsgFundTopic_topic_id, value) {
			return
		}
	}
	if x.Amount != "" {
		value := protoreflect.ValueOfString(x.Amount)
		if !f(fd_MsgFundTopic_amount, value) {
			return
		}
	}
}

// Has reports whether a field is populated.
//
// Some fields have the property of nullability where it is possible to
// distinguish between the default value of a field and whether the field
// was explicitly populated with the default value. Singular message fields,
// member fields of a oneof, and proto2 scalar fields are nullable. Such
// fields are populated only if explicitly set.
//
// In other cases (aside from the nullable cases above),
// a proto3 scalar field is populated if it contains a non-zero value, and
// a repeated field is populated if it is non-empty.
func (x *fastReflection_MsgFundTopic) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	case "emissions.v2.MsgFundTopic.sender":
		return x.Sender != ""
	case "emissions.v2.MsgFundTopic.topic_id":
		return x.TopicId != uint64(0)
	case "emissions.v2.MsgFundTopic.amount":
		return x.Amount != ""
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgFundTopic"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgFundTopic 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_MsgFundTopic) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	case "emissions.v2.MsgFundTopic.sender":
		x.Sender = ""
	case "emissions.v2.MsgFundTopic.topic_id":
		x.TopicId = uint64(0)
	case "emissions.v2.MsgFundTopic.amount":
		x.Amount = ""
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgFundTopic"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgFundTopic 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_MsgFundTopic) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	case "emissions.v2.MsgFundTopic.sender":
		value := x.Sender
		return protoreflect.ValueOfString(value)
	case "emissions.v2.MsgFundTopic.topic_id":
		value := x.TopicId
		return protoreflect.ValueOfUint64(value)
	case "emissions.v2.MsgFundTopic.amount":
		value := x.Amount
		return protoreflect.ValueOfString(value)
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgFundTopic"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgFundTopic 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_MsgFundTopic) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	case "emissions.v2.MsgFundTopic.sender":
		x.Sender = value.Interface().(string)
	case "emissions.v2.MsgFundTopic.topic_id":
		x.TopicId = value.Uint()
	case "emissions.v2.MsgFundTopic.amount":
		x.Amount = value.Interface().(string)
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgFundTopic"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgFundTopic 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_MsgFundTopic) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgFundTopic.sender":
		panic(fmt.Errorf("field sender of message emissions.v2.MsgFundTopic is not mutable"))
	case "emissions.v2.MsgFundTopic.topic_id":
		panic(fmt.Errorf("field topic_id of message emissions.v2.MsgFundTopic is not mutable"))
	case "emissions.v2.MsgFundTopic.amount":
		panic(fmt.Errorf("field amount of message emissions.v2.MsgFundTopic is not mutable"))
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgFundTopic"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgFundTopic 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_MsgFundTopic) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgFundTopic.sender":
		return protoreflect.ValueOfString("")
	case "emissions.v2.MsgFundTopic.topic_id":
		return protoreflect.ValueOfUint64(uint64(0))
	case "emissions.v2.MsgFundTopic.amount":
		return protoreflect.ValueOfString("")
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgFundTopic"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgFundTopic 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_MsgFundTopic) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.MsgFundTopic", 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_MsgFundTopic) 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_MsgFundTopic) 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_MsgFundTopic) 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_MsgFundTopic) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*MsgFundTopic)
		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.Sender)
		if l > 0 {
			n += 1 + l + runtime.Sov(uint64(l))
		}
		if x.TopicId != 0 {
			n += 1 + runtime.Sov(uint64(x.TopicId))
		}
		l = len(x.Amount)
		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().(*MsgFundTopic)
		if x == nil {
			return protoiface.MarshalOutput{
				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
				Buf:               input.Buf,
			}, nil
		}
		options := runtime.MarshalInputToOptions(input)
		_ = options
		size := options.Size(x)
		dAtA := make([]byte, size)
		i := len(dAtA)
		_ = i
		var l int
		_ = l
		if x.unknownFields != nil {
			i -= len(x.unknownFields)
			copy(dAtA[i:], x.unknownFields)
		}
		if len(x.Amount) > 0 {
			i -= len(x.Amount)
			copy(dAtA[i:], x.Amount)
			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Amount)))
			i--
			dAtA[i] = 0x1a
		}
		if x.TopicId != 0 {
			i = runtime.EncodeVarint(dAtA, i, uint64(x.TopicId))
			i--
			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)))
			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().(*MsgFundTopic)
		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: MsgFundTopic: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgFundTopic: 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 != 0 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType)
				}
				x.TopicId = 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.TopicId |= 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 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
			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_MsgFundTopicResponse protoreflect.MessageDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_MsgFundTopicResponse = File_emissions_v2_tx_proto.Messages().ByName("MsgFundTopicResponse")
}

var _ protoreflect.Message = (*fastReflection_MsgFundTopicResponse)(nil)

type fastReflection_MsgFundTopicResponse MsgFundTopicResponse

func (x *MsgFundTopicResponse) ProtoReflect() protoreflect.Message {
	return (*fastReflection_MsgFundTopicResponse)(x)
}

func (x *MsgFundTopicResponse) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_tx_proto_msgTypes[26]
	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_MsgFundTopicResponse_messageType fastReflection_MsgFundTopicResponse_messageType
var _ protoreflect.MessageType = fastReflection_MsgFundTopicResponse_messageType{}

type fastReflection_MsgFundTopicResponse_messageType struct{}

func (x fastReflection_MsgFundTopicResponse_messageType) Zero() protoreflect.Message {
	return (*fastReflection_MsgFundTopicResponse)(nil)
}
func (x fastReflection_MsgFundTopicResponse_messageType) New() protoreflect.Message {
	return new(fastReflection_MsgFundTopicResponse)
}
func (x fastReflection_MsgFundTopicResponse_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgFundTopicResponse
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_MsgFundTopicResponse) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgFundTopicResponse
}

// 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_MsgFundTopicResponse) Type() protoreflect.MessageType {
	return _fastReflection_MsgFundTopicResponse_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_MsgFundTopicResponse) New() protoreflect.Message {
	return new(fastReflection_MsgFundTopicResponse)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_MsgFundTopicResponse) Interface() protoreflect.ProtoMessage {
	return (*MsgFundTopicResponse)(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_MsgFundTopicResponse) 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_MsgFundTopicResponse) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgFundTopicResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgFundTopicResponse 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_MsgFundTopicResponse) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgFundTopicResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgFundTopicResponse 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_MsgFundTopicResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgFundTopicResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgFundTopicResponse 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_MsgFundTopicResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgFundTopicResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgFundTopicResponse 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_MsgFundTopicResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgFundTopicResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgFundTopicResponse 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_MsgFundTopicResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgFundTopicResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgFundTopicResponse 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_MsgFundTopicResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.MsgFundTopicResponse", 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_MsgFundTopicResponse) 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_MsgFundTopicResponse) 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_MsgFundTopicResponse) 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_MsgFundTopicResponse) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*MsgFundTopicResponse)
		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().(*MsgFundTopicResponse)
		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().(*MsgFundTopicResponse)
		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: MsgFundTopicResponse: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgFundTopicResponse: 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_MsgAddToWhitelistAdmin         protoreflect.MessageDescriptor
	fd_MsgAddToWhitelistAdmin_sender  protoreflect.FieldDescriptor
	fd_MsgAddToWhitelistAdmin_address protoreflect.FieldDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_MsgAddToWhitelistAdmin = File_emissions_v2_tx_proto.Messages().ByName("MsgAddToWhitelistAdmin")
	fd_MsgAddToWhitelistAdmin_sender = md_MsgAddToWhitelistAdmin.Fields().ByName("sender")
	fd_MsgAddToWhitelistAdmin_address = md_MsgAddToWhitelistAdmin.Fields().ByName("address")
}

var _ protoreflect.Message = (*fastReflection_MsgAddToWhitelistAdmin)(nil)

type fastReflection_MsgAddToWhitelistAdmin MsgAddToWhitelistAdmin

func (x *MsgAddToWhitelistAdmin) ProtoReflect() protoreflect.Message {
	return (*fastReflection_MsgAddToWhitelistAdmin)(x)
}

func (x *MsgAddToWhitelistAdmin) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_tx_proto_msgTypes[27]
	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_MsgAddToWhitelistAdmin_messageType fastReflection_MsgAddToWhitelistAdmin_messageType
var _ protoreflect.MessageType = fastReflection_MsgAddToWhitelistAdmin_messageType{}

type fastReflection_MsgAddToWhitelistAdmin_messageType struct{}

func (x fastReflection_MsgAddToWhitelistAdmin_messageType) Zero() protoreflect.Message {
	return (*fastReflection_MsgAddToWhitelistAdmin)(nil)
}
func (x fastReflection_MsgAddToWhitelistAdmin_messageType) New() protoreflect.Message {
	return new(fastReflection_MsgAddToWhitelistAdmin)
}
func (x fastReflection_MsgAddToWhitelistAdmin_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgAddToWhitelistAdmin
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_MsgAddToWhitelistAdmin) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgAddToWhitelistAdmin
}

// 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_MsgAddToWhitelistAdmin) Type() protoreflect.MessageType {
	return _fastReflection_MsgAddToWhitelistAdmin_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_MsgAddToWhitelistAdmin) New() protoreflect.Message {
	return new(fastReflection_MsgAddToWhitelistAdmin)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_MsgAddToWhitelistAdmin) Interface() protoreflect.ProtoMessage {
	return (*MsgAddToWhitelistAdmin)(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_MsgAddToWhitelistAdmin) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
	if x.Sender != "" {
		value := protoreflect.ValueOfString(x.Sender)
		if !f(fd_MsgAddToWhitelistAdmin_sender, value) {
			return
		}
	}
	if x.Address != "" {
		value := protoreflect.ValueOfString(x.Address)
		if !f(fd_MsgAddToWhitelistAdmin_address, 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_MsgAddToWhitelistAdmin) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	case "emissions.v2.MsgAddToWhitelistAdmin.sender":
		return x.Sender != ""
	case "emissions.v2.MsgAddToWhitelistAdmin.address":
		return x.Address != ""
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgAddToWhitelistAdmin"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgAddToWhitelistAdmin 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_MsgAddToWhitelistAdmin) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	case "emissions.v2.MsgAddToWhitelistAdmin.sender":
		x.Sender = ""
	case "emissions.v2.MsgAddToWhitelistAdmin.address":
		x.Address = ""
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgAddToWhitelistAdmin"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgAddToWhitelistAdmin 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_MsgAddToWhitelistAdmin) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	case "emissions.v2.MsgAddToWhitelistAdmin.sender":
		value := x.Sender
		return protoreflect.ValueOfString(value)
	case "emissions.v2.MsgAddToWhitelistAdmin.address":
		value := x.Address
		return protoreflect.ValueOfString(value)
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgAddToWhitelistAdmin"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgAddToWhitelistAdmin 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_MsgAddToWhitelistAdmin) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	case "emissions.v2.MsgAddToWhitelistAdmin.sender":
		x.Sender = value.Interface().(string)
	case "emissions.v2.MsgAddToWhitelistAdmin.address":
		x.Address = value.Interface().(string)
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgAddToWhitelistAdmin"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgAddToWhitelistAdmin 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_MsgAddToWhitelistAdmin) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgAddToWhitelistAdmin.sender":
		panic(fmt.Errorf("field sender of message emissions.v2.MsgAddToWhitelistAdmin is not mutable"))
	case "emissions.v2.MsgAddToWhitelistAdmin.address":
		panic(fmt.Errorf("field address of message emissions.v2.MsgAddToWhitelistAdmin is not mutable"))
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgAddToWhitelistAdmin"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgAddToWhitelistAdmin 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_MsgAddToWhitelistAdmin) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgAddToWhitelistAdmin.sender":
		return protoreflect.ValueOfString("")
	case "emissions.v2.MsgAddToWhitelistAdmin.address":
		return protoreflect.ValueOfString("")
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgAddToWhitelistAdmin"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgAddToWhitelistAdmin 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_MsgAddToWhitelistAdmin) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.MsgAddToWhitelistAdmin", 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_MsgAddToWhitelistAdmin) 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_MsgAddToWhitelistAdmin) 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_MsgAddToWhitelistAdmin) 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_MsgAddToWhitelistAdmin) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*MsgAddToWhitelistAdmin)
		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.Sender)
		if l > 0 {
			n += 1 + l + runtime.Sov(uint64(l))
		}
		l = len(x.Address)
		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().(*MsgAddToWhitelistAdmin)
		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.Address) > 0 {
			i -= len(x.Address)
			copy(dAtA[i:], x.Address)
			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Address)))
			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 {
			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().(*MsgAddToWhitelistAdmin)
		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: MsgAddToWhitelistAdmin: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgAddToWhitelistAdmin: 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 Address", wireType)
				}
				var stringLen uint64
				for shift := uint(0); ; shift += 7 {
					if shift >= 64 {
						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
					}
					if iNdEx >= l {
						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
					}
					b := dAtA[iNdEx]
					iNdEx++
					stringLen |= uint64(b&0x7F) << shift
					if b < 0x80 {
						break
					}
				}
				intStringLen := int(stringLen)
				if intStringLen < 0 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
				}
				postIndex := iNdEx + intStringLen
				if postIndex < 0 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
				}
				if postIndex > l {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
				}
				x.Address = string(dAtA[iNdEx:postIndex])
				iNdEx = postIndex
			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_MsgAddToWhitelistAdminResponse protoreflect.MessageDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_MsgAddToWhitelistAdminResponse = File_emissions_v2_tx_proto.Messages().ByName("MsgAddToWhitelistAdminResponse")
}

var _ protoreflect.Message = (*fastReflection_MsgAddToWhitelistAdminResponse)(nil)

type fastReflection_MsgAddToWhitelistAdminResponse MsgAddToWhitelistAdminResponse

func (x *MsgAddToWhitelistAdminResponse) ProtoReflect() protoreflect.Message {
	return (*fastReflection_MsgAddToWhitelistAdminResponse)(x)
}

func (x *MsgAddToWhitelistAdminResponse) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_tx_proto_msgTypes[28]
	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_MsgAddToWhitelistAdminResponse_messageType fastReflection_MsgAddToWhitelistAdminResponse_messageType
var _ protoreflect.MessageType = fastReflection_MsgAddToWhitelistAdminResponse_messageType{}

type fastReflection_MsgAddToWhitelistAdminResponse_messageType struct{}

func (x fastReflection_MsgAddToWhitelistAdminResponse_messageType) Zero() protoreflect.Message {
	return (*fastReflection_MsgAddToWhitelistAdminResponse)(nil)
}
func (x fastReflection_MsgAddToWhitelistAdminResponse_messageType) New() protoreflect.Message {
	return new(fastReflection_MsgAddToWhitelistAdminResponse)
}
func (x fastReflection_MsgAddToWhitelistAdminResponse_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgAddToWhitelistAdminResponse
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_MsgAddToWhitelistAdminResponse) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgAddToWhitelistAdminResponse
}

// 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_MsgAddToWhitelistAdminResponse) Type() protoreflect.MessageType {
	return _fastReflection_MsgAddToWhitelistAdminResponse_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_MsgAddToWhitelistAdminResponse) New() protoreflect.Message {
	return new(fastReflection_MsgAddToWhitelistAdminResponse)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_MsgAddToWhitelistAdminResponse) Interface() protoreflect.ProtoMessage {
	return (*MsgAddToWhitelistAdminResponse)(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_MsgAddToWhitelistAdminResponse) 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_MsgAddToWhitelistAdminResponse) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgAddToWhitelistAdminResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgAddToWhitelistAdminResponse 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_MsgAddToWhitelistAdminResponse) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgAddToWhitelistAdminResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgAddToWhitelistAdminResponse 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_MsgAddToWhitelistAdminResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgAddToWhitelistAdminResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgAddToWhitelistAdminResponse 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_MsgAddToWhitelistAdminResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgAddToWhitelistAdminResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgAddToWhitelistAdminResponse 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_MsgAddToWhitelistAdminResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgAddToWhitelistAdminResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgAddToWhitelistAdminResponse 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_MsgAddToWhitelistAdminResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgAddToWhitelistAdminResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgAddToWhitelistAdminResponse 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_MsgAddToWhitelistAdminResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.MsgAddToWhitelistAdminResponse", 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_MsgAddToWhitelistAdminResponse) 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_MsgAddToWhitelistAdminResponse) 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_MsgAddToWhitelistAdminResponse) 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_MsgAddToWhitelistAdminResponse) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*MsgAddToWhitelistAdminResponse)
		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().(*MsgAddToWhitelistAdminResponse)
		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().(*MsgAddToWhitelistAdminResponse)
		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: MsgAddToWhitelistAdminResponse: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgAddToWhitelistAdminResponse: 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_MsgRemoveFromWhitelistAdmin         protoreflect.MessageDescriptor
	fd_MsgRemoveFromWhitelistAdmin_sender  protoreflect.FieldDescriptor
	fd_MsgRemoveFromWhitelistAdmin_address protoreflect.FieldDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_MsgRemoveFromWhitelistAdmin = File_emissions_v2_tx_proto.Messages().ByName("MsgRemoveFromWhitelistAdmin")
	fd_MsgRemoveFromWhitelistAdmin_sender = md_MsgRemoveFromWhitelistAdmin.Fields().ByName("sender")
	fd_MsgRemoveFromWhitelistAdmin_address = md_MsgRemoveFromWhitelistAdmin.Fields().ByName("address")
}

var _ protoreflect.Message = (*fastReflection_MsgRemoveFromWhitelistAdmin)(nil)

type fastReflection_MsgRemoveFromWhitelistAdmin MsgRemoveFromWhitelistAdmin

func (x *MsgRemoveFromWhitelistAdmin) ProtoReflect() protoreflect.Message {
	return (*fastReflection_MsgRemoveFromWhitelistAdmin)(x)
}

func (x *MsgRemoveFromWhitelistAdmin) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_tx_proto_msgTypes[29]
	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_MsgRemoveFromWhitelistAdmin_messageType fastReflection_MsgRemoveFromWhitelistAdmin_messageType
var _ protoreflect.MessageType = fastReflection_MsgRemoveFromWhitelistAdmin_messageType{}

type fastReflection_MsgRemoveFromWhitelistAdmin_messageType struct{}

func (x fastReflection_MsgRemoveFromWhitelistAdmin_messageType) Zero() protoreflect.Message {
	return (*fastReflection_MsgRemoveFromWhitelistAdmin)(nil)
}
func (x fastReflection_MsgRemoveFromWhitelistAdmin_messageType) New() protoreflect.Message {
	return new(fastReflection_MsgRemoveFromWhitelistAdmin)
}
func (x fastReflection_MsgRemoveFromWhitelistAdmin_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgRemoveFromWhitelistAdmin
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_MsgRemoveFromWhitelistAdmin) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgRemoveFromWhitelistAdmin
}

// 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_MsgRemoveFromWhitelistAdmin) Type() protoreflect.MessageType {
	return _fastReflection_MsgRemoveFromWhitelistAdmin_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_MsgRemoveFromWhitelistAdmin) New() protoreflect.Message {
	return new(fastReflection_MsgRemoveFromWhitelistAdmin)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_MsgRemoveFromWhitelistAdmin) Interface() protoreflect.ProtoMessage {
	return (*MsgRemoveFromWhitelistAdmin)(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_MsgRemoveFromWhitelistAdmin) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
	if x.Sender != "" {
		value := protoreflect.ValueOfString(x.Sender)
		if !f(fd_MsgRemoveFromWhitelistAdmin_sender, value) {
			return
		}
	}
	if x.Address != "" {
		value := protoreflect.ValueOfString(x.Address)
		if !f(fd_MsgRemoveFromWhitelistAdmin_address, 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_MsgRemoveFromWhitelistAdmin) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	case "emissions.v2.MsgRemoveFromWhitelistAdmin.sender":
		return x.Sender != ""
	case "emissions.v2.MsgRemoveFromWhitelistAdmin.address":
		return x.Address != ""
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveFromWhitelistAdmin"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveFromWhitelistAdmin 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_MsgRemoveFromWhitelistAdmin) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	case "emissions.v2.MsgRemoveFromWhitelistAdmin.sender":
		x.Sender = ""
	case "emissions.v2.MsgRemoveFromWhitelistAdmin.address":
		x.Address = ""
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveFromWhitelistAdmin"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveFromWhitelistAdmin 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_MsgRemoveFromWhitelistAdmin) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	case "emissions.v2.MsgRemoveFromWhitelistAdmin.sender":
		value := x.Sender
		return protoreflect.ValueOfString(value)
	case "emissions.v2.MsgRemoveFromWhitelistAdmin.address":
		value := x.Address
		return protoreflect.ValueOfString(value)
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveFromWhitelistAdmin"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveFromWhitelistAdmin 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_MsgRemoveFromWhitelistAdmin) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	case "emissions.v2.MsgRemoveFromWhitelistAdmin.sender":
		x.Sender = value.Interface().(string)
	case "emissions.v2.MsgRemoveFromWhitelistAdmin.address":
		x.Address = value.Interface().(string)
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveFromWhitelistAdmin"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveFromWhitelistAdmin 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_MsgRemoveFromWhitelistAdmin) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgRemoveFromWhitelistAdmin.sender":
		panic(fmt.Errorf("field sender of message emissions.v2.MsgRemoveFromWhitelistAdmin is not mutable"))
	case "emissions.v2.MsgRemoveFromWhitelistAdmin.address":
		panic(fmt.Errorf("field address of message emissions.v2.MsgRemoveFromWhitelistAdmin is not mutable"))
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveFromWhitelistAdmin"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveFromWhitelistAdmin 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_MsgRemoveFromWhitelistAdmin) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgRemoveFromWhitelistAdmin.sender":
		return protoreflect.ValueOfString("")
	case "emissions.v2.MsgRemoveFromWhitelistAdmin.address":
		return protoreflect.ValueOfString("")
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveFromWhitelistAdmin"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveFromWhitelistAdmin 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_MsgRemoveFromWhitelistAdmin) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.MsgRemoveFromWhitelistAdmin", 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_MsgRemoveFromWhitelistAdmin) 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_MsgRemoveFromWhitelistAdmin) 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_MsgRemoveFromWhitelistAdmin) 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_MsgRemoveFromWhitelistAdmin) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*MsgRemoveFromWhitelistAdmin)
		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.Sender)
		if l > 0 {
			n += 1 + l + runtime.Sov(uint64(l))
		}
		l = len(x.Address)
		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().(*MsgRemoveFromWhitelistAdmin)
		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.Address) > 0 {
			i -= len(x.Address)
			copy(dAtA[i:], x.Address)
			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Address)))
			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 {
			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().(*MsgRemoveFromWhitelistAdmin)
		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: MsgRemoveFromWhitelistAdmin: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRemoveFromWhitelistAdmin: 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 Address", wireType)
				}
				var stringLen uint64
				for shift := uint(0); ; shift += 7 {
					if shift >= 64 {
						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
					}
					if iNdEx >= l {
						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
					}
					b := dAtA[iNdEx]
					iNdEx++
					stringLen |= uint64(b&0x7F) << shift
					if b < 0x80 {
						break
					}
				}
				intStringLen := int(stringLen)
				if intStringLen < 0 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
				}
				postIndex := iNdEx + intStringLen
				if postIndex < 0 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
				}
				if postIndex > l {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
				}
				x.Address = string(dAtA[iNdEx:postIndex])
				iNdEx = postIndex
			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_MsgRemoveFromWhitelistAdminResponse protoreflect.MessageDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_MsgRemoveFromWhitelistAdminResponse = File_emissions_v2_tx_proto.Messages().ByName("MsgRemoveFromWhitelistAdminResponse")
}

var _ protoreflect.Message = (*fastReflection_MsgRemoveFromWhitelistAdminResponse)(nil)

type fastReflection_MsgRemoveFromWhitelistAdminResponse MsgRemoveFromWhitelistAdminResponse

func (x *MsgRemoveFromWhitelistAdminResponse) ProtoReflect() protoreflect.Message {
	return (*fastReflection_MsgRemoveFromWhitelistAdminResponse)(x)
}

func (x *MsgRemoveFromWhitelistAdminResponse) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_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_MsgRemoveFromWhitelistAdminResponse_messageType fastReflection_MsgRemoveFromWhitelistAdminResponse_messageType
var _ protoreflect.MessageType = fastReflection_MsgRemoveFromWhitelistAdminResponse_messageType{}

type fastReflection_MsgRemoveFromWhitelistAdminResponse_messageType struct{}

func (x fastReflection_MsgRemoveFromWhitelistAdminResponse_messageType) Zero() protoreflect.Message {
	return (*fastReflection_MsgRemoveFromWhitelistAdminResponse)(nil)
}
func (x fastReflection_MsgRemoveFromWhitelistAdminResponse_messageType) New() protoreflect.Message {
	return new(fastReflection_MsgRemoveFromWhitelistAdminResponse)
}
func (x fastReflection_MsgRemoveFromWhitelistAdminResponse_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgRemoveFromWhitelistAdminResponse
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_MsgRemoveFromWhitelistAdminResponse) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgRemoveFromWhitelistAdminResponse
}

// 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_MsgRemoveFromWhitelistAdminResponse) Type() protoreflect.MessageType {
	return _fastReflection_MsgRemoveFromWhitelistAdminResponse_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_MsgRemoveFromWhitelistAdminResponse) New() protoreflect.Message {
	return new(fastReflection_MsgRemoveFromWhitelistAdminResponse)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_MsgRemoveFromWhitelistAdminResponse) Interface() protoreflect.ProtoMessage {
	return (*MsgRemoveFromWhitelistAdminResponse)(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_MsgRemoveFromWhitelistAdminResponse) 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_MsgRemoveFromWhitelistAdminResponse) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveFromWhitelistAdminResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveFromWhitelistAdminResponse 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_MsgRemoveFromWhitelistAdminResponse) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveFromWhitelistAdminResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveFromWhitelistAdminResponse 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_MsgRemoveFromWhitelistAdminResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveFromWhitelistAdminResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveFromWhitelistAdminResponse 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_MsgRemoveFromWhitelistAdminResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveFromWhitelistAdminResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveFromWhitelistAdminResponse 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_MsgRemoveFromWhitelistAdminResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveFromWhitelistAdminResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveFromWhitelistAdminResponse 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_MsgRemoveFromWhitelistAdminResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRemoveFromWhitelistAdminResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRemoveFromWhitelistAdminResponse 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_MsgRemoveFromWhitelistAdminResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.MsgRemoveFromWhitelistAdminResponse", 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_MsgRemoveFromWhitelistAdminResponse) 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_MsgRemoveFromWhitelistAdminResponse) 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_MsgRemoveFromWhitelistAdminResponse) 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_MsgRemoveFromWhitelistAdminResponse) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*MsgRemoveFromWhitelistAdminResponse)
		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().(*MsgRemoveFromWhitelistAdminResponse)
		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().(*MsgRemoveFromWhitelistAdminResponse)
		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: MsgRemoveFromWhitelistAdminResponse: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRemoveFromWhitelistAdminResponse: 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_MsgRewardDelegateStakeResponse protoreflect.MessageDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_MsgRewardDelegateStakeResponse = File_emissions_v2_tx_proto.Messages().ByName("MsgRewardDelegateStakeResponse")
}

var _ protoreflect.Message = (*fastReflection_MsgRewardDelegateStakeResponse)(nil)

type fastReflection_MsgRewardDelegateStakeResponse MsgRewardDelegateStakeResponse

func (x *MsgRewardDelegateStakeResponse) ProtoReflect() protoreflect.Message {
	return (*fastReflection_MsgRewardDelegateStakeResponse)(x)
}

func (x *MsgRewardDelegateStakeResponse) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_tx_proto_msgTypes[31]
	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_MsgRewardDelegateStakeResponse_messageType fastReflection_MsgRewardDelegateStakeResponse_messageType
var _ protoreflect.MessageType = fastReflection_MsgRewardDelegateStakeResponse_messageType{}

type fastReflection_MsgRewardDelegateStakeResponse_messageType struct{}

func (x fastReflection_MsgRewardDelegateStakeResponse_messageType) Zero() protoreflect.Message {
	return (*fastReflection_MsgRewardDelegateStakeResponse)(nil)
}
func (x fastReflection_MsgRewardDelegateStakeResponse_messageType) New() protoreflect.Message {
	return new(fastReflection_MsgRewardDelegateStakeResponse)
}
func (x fastReflection_MsgRewardDelegateStakeResponse_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgRewardDelegateStakeResponse
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_MsgRewardDelegateStakeResponse) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgRewardDelegateStakeResponse
}

// 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_MsgRewardDelegateStakeResponse) Type() protoreflect.MessageType {
	return _fastReflection_MsgRewardDelegateStakeResponse_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_MsgRewardDelegateStakeResponse) New() protoreflect.Message {
	return new(fastReflection_MsgRewardDelegateStakeResponse)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_MsgRewardDelegateStakeResponse) Interface() protoreflect.ProtoMessage {
	return (*MsgRewardDelegateStakeResponse)(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_MsgRewardDelegateStakeResponse) 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_MsgRewardDelegateStakeResponse) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRewardDelegateStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRewardDelegateStakeResponse 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_MsgRewardDelegateStakeResponse) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRewardDelegateStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRewardDelegateStakeResponse 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_MsgRewardDelegateStakeResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRewardDelegateStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRewardDelegateStakeResponse 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_MsgRewardDelegateStakeResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRewardDelegateStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRewardDelegateStakeResponse 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_MsgRewardDelegateStakeResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRewardDelegateStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRewardDelegateStakeResponse 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_MsgRewardDelegateStakeResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRewardDelegateStakeResponse"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRewardDelegateStakeResponse 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_MsgRewardDelegateStakeResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.MsgRewardDelegateStakeResponse", 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_MsgRewardDelegateStakeResponse) 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_MsgRewardDelegateStakeResponse) 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_MsgRewardDelegateStakeResponse) 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_MsgRewardDelegateStakeResponse) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*MsgRewardDelegateStakeResponse)
		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().(*MsgRewardDelegateStakeResponse)
		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().(*MsgRewardDelegateStakeResponse)
		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: MsgRewardDelegateStakeResponse: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRewardDelegateStakeResponse: 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_MsgRewardDelegateStake          protoreflect.MessageDescriptor
	fd_MsgRewardDelegateStake_sender   protoreflect.FieldDescriptor
	fd_MsgRewardDelegateStake_topic_id protoreflect.FieldDescriptor
	fd_MsgRewardDelegateStake_reputer  protoreflect.FieldDescriptor
)

func init() {
	file_emissions_v2_tx_proto_init()
	md_MsgRewardDelegateStake = File_emissions_v2_tx_proto.Messages().ByName("MsgRewardDelegateStake")
	fd_MsgRewardDelegateStake_sender = md_MsgRewardDelegateStake.Fields().ByName("sender")
	fd_MsgRewardDelegateStake_topic_id = md_MsgRewardDelegateStake.Fields().ByName("topic_id")
	fd_MsgRewardDelegateStake_reputer = md_MsgRewardDelegateStake.Fields().ByName("reputer")
}

var _ protoreflect.Message = (*fastReflection_MsgRewardDelegateStake)(nil)

type fastReflection_MsgRewardDelegateStake MsgRewardDelegateStake

func (x *MsgRewardDelegateStake) ProtoReflect() protoreflect.Message {
	return (*fastReflection_MsgRewardDelegateStake)(x)
}

func (x *MsgRewardDelegateStake) slowProtoReflect() protoreflect.Message {
	mi := &file_emissions_v2_tx_proto_msgTypes[32]
	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_MsgRewardDelegateStake_messageType fastReflection_MsgRewardDelegateStake_messageType
var _ protoreflect.MessageType = fastReflection_MsgRewardDelegateStake_messageType{}

type fastReflection_MsgRewardDelegateStake_messageType struct{}

func (x fastReflection_MsgRewardDelegateStake_messageType) Zero() protoreflect.Message {
	return (*fastReflection_MsgRewardDelegateStake)(nil)
}
func (x fastReflection_MsgRewardDelegateStake_messageType) New() protoreflect.Message {
	return new(fastReflection_MsgRewardDelegateStake)
}
func (x fastReflection_MsgRewardDelegateStake_messageType) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgRewardDelegateStake
}

// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
func (x *fastReflection_MsgRewardDelegateStake) Descriptor() protoreflect.MessageDescriptor {
	return md_MsgRewardDelegateStake
}

// 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_MsgRewardDelegateStake) Type() protoreflect.MessageType {
	return _fastReflection_MsgRewardDelegateStake_messageType
}

// New returns a newly allocated and mutable empty message.
func (x *fastReflection_MsgRewardDelegateStake) New() protoreflect.Message {
	return new(fastReflection_MsgRewardDelegateStake)
}

// Interface unwraps the message reflection interface and
// returns the underlying ProtoMessage interface.
func (x *fastReflection_MsgRewardDelegateStake) Interface() protoreflect.ProtoMessage {
	return (*MsgRewardDelegateStake)(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_MsgRewardDelegateStake) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
	if x.Sender != "" {
		value := protoreflect.ValueOfString(x.Sender)
		if !f(fd_MsgRewardDelegateStake_sender, value) {
			return
		}
	}
	if x.TopicId != uint64(0) {
		value := protoreflect.ValueOfUint64(x.TopicId)
		if !f(fd_MsgRewardDelegateStake_topic_id, value) {
			return
		}
	}
	if x.Reputer != "" {
		value := protoreflect.ValueOfString(x.Reputer)
		if !f(fd_MsgRewardDelegateStake_reputer, 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_MsgRewardDelegateStake) Has(fd protoreflect.FieldDescriptor) bool {
	switch fd.FullName() {
	case "emissions.v2.MsgRewardDelegateStake.sender":
		return x.Sender != ""
	case "emissions.v2.MsgRewardDelegateStake.topic_id":
		return x.TopicId != uint64(0)
	case "emissions.v2.MsgRewardDelegateStake.reputer":
		return x.Reputer != ""
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRewardDelegateStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRewardDelegateStake 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_MsgRewardDelegateStake) Clear(fd protoreflect.FieldDescriptor) {
	switch fd.FullName() {
	case "emissions.v2.MsgRewardDelegateStake.sender":
		x.Sender = ""
	case "emissions.v2.MsgRewardDelegateStake.topic_id":
		x.TopicId = uint64(0)
	case "emissions.v2.MsgRewardDelegateStake.reputer":
		x.Reputer = ""
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRewardDelegateStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRewardDelegateStake 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_MsgRewardDelegateStake) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
	switch descriptor.FullName() {
	case "emissions.v2.MsgRewardDelegateStake.sender":
		value := x.Sender
		return protoreflect.ValueOfString(value)
	case "emissions.v2.MsgRewardDelegateStake.topic_id":
		value := x.TopicId
		return protoreflect.ValueOfUint64(value)
	case "emissions.v2.MsgRewardDelegateStake.reputer":
		value := x.Reputer
		return protoreflect.ValueOfString(value)
	default:
		if descriptor.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRewardDelegateStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRewardDelegateStake 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_MsgRewardDelegateStake) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
	switch fd.FullName() {
	case "emissions.v2.MsgRewardDelegateStake.sender":
		x.Sender = value.Interface().(string)
	case "emissions.v2.MsgRewardDelegateStake.topic_id":
		x.TopicId = value.Uint()
	case "emissions.v2.MsgRewardDelegateStake.reputer":
		x.Reputer = value.Interface().(string)
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRewardDelegateStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRewardDelegateStake 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_MsgRewardDelegateStake) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgRewardDelegateStake.sender":
		panic(fmt.Errorf("field sender of message emissions.v2.MsgRewardDelegateStake is not mutable"))
	case "emissions.v2.MsgRewardDelegateStake.topic_id":
		panic(fmt.Errorf("field topic_id of message emissions.v2.MsgRewardDelegateStake is not mutable"))
	case "emissions.v2.MsgRewardDelegateStake.reputer":
		panic(fmt.Errorf("field reputer of message emissions.v2.MsgRewardDelegateStake is not mutable"))
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRewardDelegateStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRewardDelegateStake 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_MsgRewardDelegateStake) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
	switch fd.FullName() {
	case "emissions.v2.MsgRewardDelegateStake.sender":
		return protoreflect.ValueOfString("")
	case "emissions.v2.MsgRewardDelegateStake.topic_id":
		return protoreflect.ValueOfUint64(uint64(0))
	case "emissions.v2.MsgRewardDelegateStake.reputer":
		return protoreflect.ValueOfString("")
	default:
		if fd.IsExtension() {
			panic(fmt.Errorf("proto3 declared messages do not support extensions: emissions.v2.MsgRewardDelegateStake"))
		}
		panic(fmt.Errorf("message emissions.v2.MsgRewardDelegateStake 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_MsgRewardDelegateStake) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
	switch d.FullName() {
	default:
		panic(fmt.Errorf("%s is not a oneof field in emissions.v2.MsgRewardDelegateStake", 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_MsgRewardDelegateStake) 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_MsgRewardDelegateStake) 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_MsgRewardDelegateStake) 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_MsgRewardDelegateStake) ProtoMethods() *protoiface.Methods {
	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
		x := input.Message.Interface().(*MsgRewardDelegateStake)
		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.Sender)
		if l > 0 {
			n += 1 + l + runtime.Sov(uint64(l))
		}
		if x.TopicId != 0 {
			n += 1 + runtime.Sov(uint64(x.TopicId))
		}
		l = len(x.Reputer)
		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().(*MsgRewardDelegateStake)
		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.Reputer) > 0 {
			i -= len(x.Reputer)
			copy(dAtA[i:], x.Reputer)
			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Reputer)))
			i--
			dAtA[i] = 0x1a
		}
		if x.TopicId != 0 {
			i = runtime.EncodeVarint(dAtA, i, uint64(x.TopicId))
			i--
			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)))
			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().(*MsgRewardDelegateStake)
		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: MsgRewardDelegateStake: wiretype end group for non-group")
			}
			if fieldNum <= 0 {
				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRewardDelegateStake: 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 != 0 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TopicId", wireType)
				}
				x.TopicId = 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.TopicId |= 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 Reputer", 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.Reputer = string(dAtA[iNdEx:postIndex])
				iNdEx = postIndex
			default:
				iNdEx = preIndex
				skippy, err := runtime.Skip(dAtA[iNdEx:])
				if err != nil {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
				}
				if (skippy < 0) || (iNdEx+skippy) < 0 {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
				}
				if (iNdEx + skippy) > l {
					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
				}
				if !options.DiscardUnknown {
					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
				}
				iNdEx += skippy
			}
		}

		if iNdEx > l {
			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
		}
		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
	}
	return &protoiface.Methods{
		NoUnkeyedLiterals: struct{}{},
		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
		Size:              size,
		Marshal:           marshal,
		Unmarshal:         unmarshal,
		Merge:             nil,
		CheckInitialized:  nil,
	}
}

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.27.0
// 	protoc        (unknown)
// source: emissions/v2/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)
)

// Because gocosmos, grpc-gateway, and go-pulsar do not support optional fields
// and including google themselves
// https://cloud.google.com/apis/design/design_patterns.md#optional_primitive_fields
// we instead use a repeated field with a single element to represent an
// optional field and if the repeated field is empty, it is considered to be the
// same as if the field was not set
type OptionalParams struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Version                             []string `protobuf:"bytes,1,rep,name=version,proto3" json:"version,omitempty"`
	MaxSerializedMsgLength              []int64  `protobuf:"varint,2,rep,packed,name=max_serialized_msg_length,json=maxSerializedMsgLength,proto3" json:"max_serialized_msg_length,omitempty"`
	MinTopicWeight                      []string `protobuf:"bytes,3,rep,name=min_topic_weight,json=minTopicWeight,proto3" json:"min_topic_weight,omitempty"`
	MaxTopicsPerBlock                   []uint64 `protobuf:"varint,4,rep,packed,name=max_topics_per_block,json=maxTopicsPerBlock,proto3" json:"max_topics_per_block,omitempty"`
	RequiredMinimumStake                []string `protobuf:"bytes,5,rep,name=required_minimum_stake,json=requiredMinimumStake,proto3" json:"required_minimum_stake,omitempty"`
	RemoveStakeDelayWindow              []int64  `protobuf:"varint,6,rep,packed,name=remove_stake_delay_window,json=removeStakeDelayWindow,proto3" json:"remove_stake_delay_window,omitempty"`
	MinEpochLength                      []int64  `protobuf:"varint,7,rep,packed,name=min_epoch_length,json=minEpochLength,proto3" json:"min_epoch_length,omitempty"`
	BetaEntropy                         []string `protobuf:"bytes,8,rep,name=beta_entropy,json=betaEntropy,proto3" json:"beta_entropy,omitempty"`
	LearningRate                        []string `protobuf:"bytes,9,rep,name=learning_rate,json=learningRate,proto3" json:"learning_rate,omitempty"`
	MaxGradientThreshold                []string `protobuf:"bytes,10,rep,name=max_gradient_threshold,json=maxGradientThreshold,proto3" json:"max_gradient_threshold,omitempty"`
	MinStakeFraction                    []string `protobuf:"bytes,11,rep,name=min_stake_fraction,json=minStakeFraction,proto3" json:"min_stake_fraction,omitempty"`
	MaxUnfulfilledWorkerRequests        []uint64 `protobuf:"varint,13,rep,packed,name=max_unfulfilled_worker_requests,json=maxUnfulfilledWorkerRequests,proto3" json:"max_unfulfilled_worker_requests,omitempty"`
	MaxUnfulfilledReputerRequests       []uint64 `protobuf:"varint,14,rep,packed,name=max_unfulfilled_reputer_requests,json=maxUnfulfilledReputerRequests,proto3" json:"max_unfulfilled_reputer_requests,omitempty"`
	TopicRewardStakeImportance          []string `protobuf:"bytes,15,rep,name=topic_reward_stake_importance,json=topicRewardStakeImportance,proto3" json:"topic_reward_stake_importance,omitempty"`
	TopicRewardFeeRevenueImportance     []string `protobuf:"bytes,16,rep,name=topic_reward_fee_revenue_importance,json=topicRewardFeeRevenueImportance,proto3" json:"topic_reward_fee_revenue_importance,omitempty"`
	TopicRewardAlpha                    []string `protobuf:"bytes,17,rep,name=topic_reward_alpha,json=topicRewardAlpha,proto3" json:"topic_reward_alpha,omitempty"`
	TaskRewardAlpha                     []string `protobuf:"bytes,18,rep,name=task_reward_alpha,json=taskRewardAlpha,proto3" json:"task_reward_alpha,omitempty"`
	ValidatorsVsAlloraPercentReward     []string `protobuf:"bytes,19,rep,name=validators_vs_allora_percent_reward,json=validatorsVsAlloraPercentReward,proto3" json:"validators_vs_allora_percent_reward,omitempty"`
	MaxSamplesToScaleScores             []uint64 `protobuf:"varint,20,rep,packed,name=max_samples_to_scale_scores,json=maxSamplesToScaleScores,proto3" json:"max_samples_to_scale_scores,omitempty"`
	MaxTopInferersToReward              []uint64 `protobuf:"varint,21,rep,packed,name=max_top_inferers_to_reward,json=maxTopInferersToReward,proto3" json:"max_top_inferers_to_reward,omitempty"`
	MaxTopForecastersToReward           []uint64 `protobuf:"varint,22,rep,packed,name=max_top_forecasters_to_reward,json=maxTopForecastersToReward,proto3" json:"max_top_forecasters_to_reward,omitempty"`
	MaxTopReputersToReward              []uint64 `protobuf:"varint,23,rep,packed,name=max_top_reputers_to_reward,json=maxTopReputersToReward,proto3" json:"max_top_reputers_to_reward,omitempty"`
	CreateTopicFee                      []string `protobuf:"bytes,24,rep,name=create_topic_fee,json=createTopicFee,proto3" json:"create_topic_fee,omitempty"`
	GradientDescentMaxIters             []uint64 `protobuf:"varint,25,rep,packed,name=gradient_descent_max_iters,json=gradientDescentMaxIters,proto3" json:"gradient_descent_max_iters,omitempty"`
	MaxRetriesToFulfilNoncesWorker      []int64  `protobuf:"varint,26,rep,packed,name=max_retries_to_fulfil_nonces_worker,json=maxRetriesToFulfilNoncesWorker,proto3" json:"max_retries_to_fulfil_nonces_worker,omitempty"`
	MaxRetriesToFulfilNoncesReputer     []int64  `protobuf:"varint,27,rep,packed,name=max_retries_to_fulfil_nonces_reputer,json=maxRetriesToFulfilNoncesReputer,proto3" json:"max_retries_to_fulfil_nonces_reputer,omitempty"`
	RegistrationFee                     []string `protobuf:"bytes,28,rep,name=registration_fee,json=registrationFee,proto3" json:"registration_fee,omitempty"`
	DefaultPageLimit                    []uint64 `protobuf:"varint,29,rep,packed,name=default_page_limit,json=defaultPageLimit,proto3" json:"default_page_limit,omitempty"`
	MaxPageLimit                        []uint64 `protobuf:"varint,30,rep,packed,name=max_page_limit,json=maxPageLimit,proto3" json:"max_page_limit,omitempty"`
	MinEpochLengthRecordLimit           []int64  `protobuf:"varint,31,rep,packed,name=min_epoch_length_record_limit,json=minEpochLengthRecordLimit,proto3" json:"min_epoch_length_record_limit,omitempty"`
	BlocksPerMonth                      []uint64 `protobuf:"varint,32,rep,packed,name=blocks_per_month,json=blocksPerMonth,proto3" json:"blocks_per_month,omitempty"`
	PRewardInference                    []string `protobuf:"bytes,33,rep,name=p_reward_inference,json=pRewardInference,proto3" json:"p_reward_inference,omitempty"`
	PRewardForecast                     []string `protobuf:"bytes,34,rep,name=p_reward_forecast,json=pRewardForecast,proto3" json:"p_reward_forecast,omitempty"`
	PRewardReputer                      []string `protobuf:"bytes,35,rep,name=p_reward_reputer,json=pRewardReputer,proto3" json:"p_reward_reputer,omitempty"`
	CRewardInference                    []string `protobuf:"bytes,36,rep,name=c_reward_inference,json=cRewardInference,proto3" json:"c_reward_inference,omitempty"`
	CRewardForecast                     []string `protobuf:"bytes,37,rep,name=c_reward_forecast,json=cRewardForecast,proto3" json:"c_reward_forecast,omitempty"`
	CNorm                               []string `protobuf:"bytes,38,rep,name=c_norm,json=cNorm,proto3" json:"c_norm,omitempty"`
	TopicFeeRevenueDecayRate            []string `protobuf:"bytes,39,rep,name=topic_fee_revenue_decay_rate,json=topicFeeRevenueDecayRate,proto3" json:"topic_fee_revenue_decay_rate,omitempty"`
	EpsilonReputer                      []string `protobuf:"bytes,40,rep,name=epsilon_reputer,json=epsilonReputer,proto3" json:"epsilon_reputer,omitempty"`
	MinEffectiveTopicRevenue            []string `protobuf:"bytes,41,rep,name=min_effective_topic_revenue,json=minEffectiveTopicRevenue,proto3" json:"min_effective_topic_revenue,omitempty"`
	HalfMaxProcessStakeRemovalsEndBlock []uint64 `protobuf:"varint,42,rep,packed,name=half_max_process_stake_removals_end_block,json=halfMaxProcessStakeRemovalsEndBlock,proto3" json:"half_max_process_stake_removals_end_block,omitempty"`
	DataSendingFee                      []string `protobuf:"bytes,43,rep,name=data_sending_fee,json=dataSendingFee,proto3" json:"data_sending_fee,omitempty"`
	EpsilonSafeDiv                      []string `protobuf:"bytes,44,rep,name=epsilon_safe_div,json=epsilonSafeDiv,proto3" json:"epsilon_safe_div,omitempty"`
}

func (x *OptionalParams) Reset() {
	*x = OptionalParams{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *OptionalParams) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OptionalParams) ProtoMessage() {}

// Deprecated: Use OptionalParams.ProtoReflect.Descriptor instead.
func (*OptionalParams) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{0}
}

func (x *OptionalParams) GetVersion() []string {
	if x != nil {
		return x.Version
	}
	return nil
}

func (x *OptionalParams) GetMaxSerializedMsgLength() []int64 {
	if x != nil {
		return x.MaxSerializedMsgLength
	}
	return nil
}

func (x *OptionalParams) GetMinTopicWeight() []string {
	if x != nil {
		return x.MinTopicWeight
	}
	return nil
}

func (x *OptionalParams) GetMaxTopicsPerBlock() []uint64 {
	if x != nil {
		return x.MaxTopicsPerBlock
	}
	return nil
}

func (x *OptionalParams) GetRequiredMinimumStake() []string {
	if x != nil {
		return x.RequiredMinimumStake
	}
	return nil
}

func (x *OptionalParams) GetRemoveStakeDelayWindow() []int64 {
	if x != nil {
		return x.RemoveStakeDelayWindow
	}
	return nil
}

func (x *OptionalParams) GetMinEpochLength() []int64 {
	if x != nil {
		return x.MinEpochLength
	}
	return nil
}

func (x *OptionalParams) GetBetaEntropy() []string {
	if x != nil {
		return x.BetaEntropy
	}
	return nil
}

func (x *OptionalParams) GetLearningRate() []string {
	if x != nil {
		return x.LearningRate
	}
	return nil
}

func (x *OptionalParams) GetMaxGradientThreshold() []string {
	if x != nil {
		return x.MaxGradientThreshold
	}
	return nil
}

func (x *OptionalParams) GetMinStakeFraction() []string {
	if x != nil {
		return x.MinStakeFraction
	}
	return nil
}

func (x *OptionalParams) GetMaxUnfulfilledWorkerRequests() []uint64 {
	if x != nil {
		return x.MaxUnfulfilledWorkerRequests
	}
	return nil
}

func (x *OptionalParams) GetMaxUnfulfilledReputerRequests() []uint64 {
	if x != nil {
		return x.MaxUnfulfilledReputerRequests
	}
	return nil
}

func (x *OptionalParams) GetTopicRewardStakeImportance() []string {
	if x != nil {
		return x.TopicRewardStakeImportance
	}
	return nil
}

func (x *OptionalParams) GetTopicRewardFeeRevenueImportance() []string {
	if x != nil {
		return x.TopicRewardFeeRevenueImportance
	}
	return nil
}

func (x *OptionalParams) GetTopicRewardAlpha() []string {
	if x != nil {
		return x.TopicRewardAlpha
	}
	return nil
}

func (x *OptionalParams) GetTaskRewardAlpha() []string {
	if x != nil {
		return x.TaskRewardAlpha
	}
	return nil
}

func (x *OptionalParams) GetValidatorsVsAlloraPercentReward() []string {
	if x != nil {
		return x.ValidatorsVsAlloraPercentReward
	}
	return nil
}

func (x *OptionalParams) GetMaxSamplesToScaleScores() []uint64 {
	if x != nil {
		return x.MaxSamplesToScaleScores
	}
	return nil
}

func (x *OptionalParams) GetMaxTopInferersToReward() []uint64 {
	if x != nil {
		return x.MaxTopInferersToReward
	}
	return nil
}

func (x *OptionalParams) GetMaxTopForecastersToReward() []uint64 {
	if x != nil {
		return x.MaxTopForecastersToReward
	}
	return nil
}

func (x *OptionalParams) GetMaxTopReputersToReward() []uint64 {
	if x != nil {
		return x.MaxTopReputersToReward
	}
	return nil
}

func (x *OptionalParams) GetCreateTopicFee() []string {
	if x != nil {
		return x.CreateTopicFee
	}
	return nil
}

func (x *OptionalParams) GetGradientDescentMaxIters() []uint64 {
	if x != nil {
		return x.GradientDescentMaxIters
	}
	return nil
}

func (x *OptionalParams) GetMaxRetriesToFulfilNoncesWorker() []int64 {
	if x != nil {
		return x.MaxRetriesToFulfilNoncesWorker
	}
	return nil
}

func (x *OptionalParams) GetMaxRetriesToFulfilNoncesReputer() []int64 {
	if x != nil {
		return x.MaxRetriesToFulfilNoncesReputer
	}
	return nil
}

func (x *OptionalParams) GetRegistrationFee() []string {
	if x != nil {
		return x.RegistrationFee
	}
	return nil
}

func (x *OptionalParams) GetDefaultPageLimit() []uint64 {
	if x != nil {
		return x.DefaultPageLimit
	}
	return nil
}

func (x *OptionalParams) GetMaxPageLimit() []uint64 {
	if x != nil {
		return x.MaxPageLimit
	}
	return nil
}

func (x *OptionalParams) GetMinEpochLengthRecordLimit() []int64 {
	if x != nil {
		return x.MinEpochLengthRecordLimit
	}
	return nil
}

func (x *OptionalParams) GetBlocksPerMonth() []uint64 {
	if x != nil {
		return x.BlocksPerMonth
	}
	return nil
}

func (x *OptionalParams) GetPRewardInference() []string {
	if x != nil {
		return x.PRewardInference
	}
	return nil
}

func (x *OptionalParams) GetPRewardForecast() []string {
	if x != nil {
		return x.PRewardForecast
	}
	return nil
}

func (x *OptionalParams) GetPRewardReputer() []string {
	if x != nil {
		return x.PRewardReputer
	}
	return nil
}

func (x *OptionalParams) GetCRewardInference() []string {
	if x != nil {
		return x.CRewardInference
	}
	return nil
}

func (x *OptionalParams) GetCRewardForecast() []string {
	if x != nil {
		return x.CRewardForecast
	}
	return nil
}

func (x *OptionalParams) GetCNorm() []string {
	if x != nil {
		return x.CNorm
	}
	return nil
}

func (x *OptionalParams) GetTopicFeeRevenueDecayRate() []string {
	if x != nil {
		return x.TopicFeeRevenueDecayRate
	}
	return nil
}

func (x *OptionalParams) GetEpsilonReputer() []string {
	if x != nil {
		return x.EpsilonReputer
	}
	return nil
}

func (x *OptionalParams) GetMinEffectiveTopicRevenue() []string {
	if x != nil {
		return x.MinEffectiveTopicRevenue
	}
	return nil
}

func (x *OptionalParams) GetHalfMaxProcessStakeRemovalsEndBlock() []uint64 {
	if x != nil {
		return x.HalfMaxProcessStakeRemovalsEndBlock
	}
	return nil
}

func (x *OptionalParams) GetDataSendingFee() []string {
	if x != nil {
		return x.DataSendingFee
	}
	return nil
}

func (x *OptionalParams) GetEpsilonSafeDiv() []string {
	if x != nil {
		return x.EpsilonSafeDiv
	}
	return nil
}

type MsgUpdateParams struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Sender string          `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"`
	Params *OptionalParams `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"`
}

func (x *MsgUpdateParams) Reset() {
	*x = MsgUpdateParams{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgUpdateParams) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgUpdateParams) ProtoMessage() {}

// Deprecated: Use MsgUpdateParams.ProtoReflect.Descriptor instead.
func (*MsgUpdateParams) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{1}
}

func (x *MsgUpdateParams) GetSender() string {
	if x != nil {
		return x.Sender
	}
	return ""
}

func (x *MsgUpdateParams) GetParams() *OptionalParams {
	if x != nil {
		return x.Params
	}
	return nil
}

type MsgUpdateParamsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *MsgUpdateParamsResponse) Reset() {
	*x = MsgUpdateParamsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgUpdateParamsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgUpdateParamsResponse) ProtoMessage() {}

// Deprecated: Use MsgUpdateParamsResponse.ProtoReflect.Descriptor instead.
func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{2}
}

type MsgCreateNewTopic struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// creator is the message sender.
	Creator                string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"`
	Metadata               string `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
	LossMethod             string `protobuf:"bytes,4,opt,name=loss_method,json=lossMethod,proto3" json:"loss_method,omitempty"`
	EpochLength            int64  `protobuf:"varint,7,opt,name=epoch_length,json=epochLength,proto3" json:"epoch_length,omitempty"`
	GroundTruthLag         int64  `protobuf:"varint,8,opt,name=ground_truth_lag,json=groundTruthLag,proto3" json:"ground_truth_lag,omitempty"`
	PNorm                  string `protobuf:"bytes,10,opt,name=p_norm,json=pNorm,proto3" json:"p_norm,omitempty"`
	AlphaRegret            string `protobuf:"bytes,11,opt,name=alpha_regret,json=alphaRegret,proto3" json:"alpha_regret,omitempty"`
	AllowNegative          bool   `protobuf:"varint,12,opt,name=allow_negative,json=allowNegative,proto3" json:"allow_negative,omitempty"`
	Epsilon                string `protobuf:"bytes,13,opt,name=epsilon,proto3" json:"epsilon,omitempty"`
	WorkerSubmissionWindow int64  `protobuf:"varint,14,opt,name=worker_submission_window,json=workerSubmissionWindow,proto3" json:"worker_submission_window,omitempty"`
}

func (x *MsgCreateNewTopic) Reset() {
	*x = MsgCreateNewTopic{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgCreateNewTopic) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgCreateNewTopic) ProtoMessage() {}

// Deprecated: Use MsgCreateNewTopic.ProtoReflect.Descriptor instead.
func (*MsgCreateNewTopic) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{3}
}

func (x *MsgCreateNewTopic) GetCreator() string {
	if x != nil {
		return x.Creator
	}
	return ""
}

func (x *MsgCreateNewTopic) GetMetadata() string {
	if x != nil {
		return x.Metadata
	}
	return ""
}

func (x *MsgCreateNewTopic) GetLossMethod() string {
	if x != nil {
		return x.LossMethod
	}
	return ""
}

func (x *MsgCreateNewTopic) GetEpochLength() int64 {
	if x != nil {
		return x.EpochLength
	}
	return 0
}

func (x *MsgCreateNewTopic) GetGroundTruthLag() int64 {
	if x != nil {
		return x.GroundTruthLag
	}
	return 0
}

func (x *MsgCreateNewTopic) GetPNorm() string {
	if x != nil {
		return x.PNorm
	}
	return ""
}

func (x *MsgCreateNewTopic) GetAlphaRegret() string {
	if x != nil {
		return x.AlphaRegret
	}
	return ""
}

func (x *MsgCreateNewTopic) GetAllowNegative() bool {
	if x != nil {
		return x.AllowNegative
	}
	return false
}

func (x *MsgCreateNewTopic) GetEpsilon() string {
	if x != nil {
		return x.Epsilon
	}
	return ""
}

func (x *MsgCreateNewTopic) GetWorkerSubmissionWindow() int64 {
	if x != nil {
		return x.WorkerSubmissionWindow
	}
	return 0
}

type MsgCreateNewTopicResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	TopicId uint64 `protobuf:"varint,1,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"`
}

func (x *MsgCreateNewTopicResponse) Reset() {
	*x = MsgCreateNewTopicResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgCreateNewTopicResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgCreateNewTopicResponse) ProtoMessage() {}

// Deprecated: Use MsgCreateNewTopicResponse.ProtoReflect.Descriptor instead.
func (*MsgCreateNewTopicResponse) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{4}
}

func (x *MsgCreateNewTopicResponse) GetTopicId() uint64 {
	if x != nil {
		return x.TopicId
	}
	return 0
}

type MsgInsertReputerPayload struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Sender             string              `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"`
	ReputerValueBundle *ReputerValueBundle `protobuf:"bytes,2,opt,name=reputer_value_bundle,json=reputerValueBundle,proto3" json:"reputer_value_bundle,omitempty"`
}

func (x *MsgInsertReputerPayload) Reset() {
	*x = MsgInsertReputerPayload{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgInsertReputerPayload) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgInsertReputerPayload) ProtoMessage() {}

// Deprecated: Use MsgInsertReputerPayload.ProtoReflect.Descriptor instead.
func (*MsgInsertReputerPayload) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{5}
}

func (x *MsgInsertReputerPayload) GetSender() string {
	if x != nil {
		return x.Sender
	}
	return ""
}

func (x *MsgInsertReputerPayload) GetReputerValueBundle() *ReputerValueBundle {
	if x != nil {
		return x.ReputerValueBundle
	}
	return nil
}

type MsgInsertReputerPayloadResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *MsgInsertReputerPayloadResponse) Reset() {
	*x = MsgInsertReputerPayloadResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgInsertReputerPayloadResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgInsertReputerPayloadResponse) ProtoMessage() {}

// Deprecated: Use MsgInsertReputerPayloadResponse.ProtoReflect.Descriptor instead.
func (*MsgInsertReputerPayloadResponse) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{6}
}

type MsgInsertWorkerPayload struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Sender           string            `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"`
	WorkerDataBundle *WorkerDataBundle `protobuf:"bytes,2,opt,name=worker_data_bundle,json=workerDataBundle,proto3" json:"worker_data_bundle,omitempty"`
}

func (x *MsgInsertWorkerPayload) Reset() {
	*x = MsgInsertWorkerPayload{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgInsertWorkerPayload) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgInsertWorkerPayload) ProtoMessage() {}

// Deprecated: Use MsgInsertWorkerPayload.ProtoReflect.Descriptor instead.
func (*MsgInsertWorkerPayload) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{7}
}

func (x *MsgInsertWorkerPayload) GetSender() string {
	if x != nil {
		return x.Sender
	}
	return ""
}

func (x *MsgInsertWorkerPayload) GetWorkerDataBundle() *WorkerDataBundle {
	if x != nil {
		return x.WorkerDataBundle
	}
	return nil
}

type MsgInsertWorkerPayloadResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *MsgInsertWorkerPayloadResponse) Reset() {
	*x = MsgInsertWorkerPayloadResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgInsertWorkerPayloadResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgInsertWorkerPayloadResponse) ProtoMessage() {}

// Deprecated: Use MsgInsertWorkerPayloadResponse.ProtoReflect.Descriptor instead.
func (*MsgInsertWorkerPayloadResponse) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{8}
}

type MsgRegister struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Sender    string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"`
	TopicId   uint64 `protobuf:"varint,4,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"`
	Owner     string `protobuf:"bytes,5,opt,name=owner,proto3" json:"owner,omitempty"`
	IsReputer bool   `protobuf:"varint,6,opt,name=is_reputer,json=isReputer,proto3" json:"is_reputer,omitempty"`
}

func (x *MsgRegister) Reset() {
	*x = MsgRegister{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgRegister) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgRegister) ProtoMessage() {}

// Deprecated: Use MsgRegister.ProtoReflect.Descriptor instead.
func (*MsgRegister) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{9}
}

func (x *MsgRegister) GetSender() string {
	if x != nil {
		return x.Sender
	}
	return ""
}

func (x *MsgRegister) GetTopicId() uint64 {
	if x != nil {
		return x.TopicId
	}
	return 0
}

func (x *MsgRegister) GetOwner() string {
	if x != nil {
		return x.Owner
	}
	return ""
}

func (x *MsgRegister) GetIsReputer() bool {
	if x != nil {
		return x.IsReputer
	}
	return false
}

type MsgRegisterResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Success bool   `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
}

func (x *MsgRegisterResponse) Reset() {
	*x = MsgRegisterResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgRegisterResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgRegisterResponse) ProtoMessage() {}

// Deprecated: Use MsgRegisterResponse.ProtoReflect.Descriptor instead.
func (*MsgRegisterResponse) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{10}
}

func (x *MsgRegisterResponse) GetSuccess() bool {
	if x != nil {
		return x.Success
	}
	return false
}

func (x *MsgRegisterResponse) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

type MsgRemoveRegistration struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Sender    string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"`
	TopicId   uint64 `protobuf:"varint,2,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"`
	IsReputer bool   `protobuf:"varint,3,opt,name=is_reputer,json=isReputer,proto3" json:"is_reputer,omitempty"`
}

func (x *MsgRemoveRegistration) Reset() {
	*x = MsgRemoveRegistration{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgRemoveRegistration) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgRemoveRegistration) ProtoMessage() {}

// Deprecated: Use MsgRemoveRegistration.ProtoReflect.Descriptor instead.
func (*MsgRemoveRegistration) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{11}
}

func (x *MsgRemoveRegistration) GetSender() string {
	if x != nil {
		return x.Sender
	}
	return ""
}

func (x *MsgRemoveRegistration) GetTopicId() uint64 {
	if x != nil {
		return x.TopicId
	}
	return 0
}

func (x *MsgRemoveRegistration) GetIsReputer() bool {
	if x != nil {
		return x.IsReputer
	}
	return false
}

type MsgRemoveRegistrationResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Success bool   `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
}

func (x *MsgRemoveRegistrationResponse) Reset() {
	*x = MsgRemoveRegistrationResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgRemoveRegistrationResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgRemoveRegistrationResponse) ProtoMessage() {}

// Deprecated: Use MsgRemoveRegistrationResponse.ProtoReflect.Descriptor instead.
func (*MsgRemoveRegistrationResponse) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{12}
}

func (x *MsgRemoveRegistrationResponse) GetSuccess() bool {
	if x != nil {
		return x.Success
	}
	return false
}

func (x *MsgRemoveRegistrationResponse) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

type MsgAddStake struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Sender  string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"`
	TopicId uint64 `protobuf:"varint,2,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"`
	Amount  string `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"`
}

func (x *MsgAddStake) Reset() {
	*x = MsgAddStake{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgAddStake) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgAddStake) ProtoMessage() {}

// Deprecated: Use MsgAddStake.ProtoReflect.Descriptor instead.
func (*MsgAddStake) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{13}
}

func (x *MsgAddStake) GetSender() string {
	if x != nil {
		return x.Sender
	}
	return ""
}

func (x *MsgAddStake) GetTopicId() uint64 {
	if x != nil {
		return x.TopicId
	}
	return 0
}

func (x *MsgAddStake) GetAmount() string {
	if x != nil {
		return x.Amount
	}
	return ""
}

type MsgAddStakeResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *MsgAddStakeResponse) Reset() {
	*x = MsgAddStakeResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgAddStakeResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgAddStakeResponse) ProtoMessage() {}

// Deprecated: Use MsgAddStakeResponse.ProtoReflect.Descriptor instead.
func (*MsgAddStakeResponse) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{14}
}

type MsgRemoveStake struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Sender  string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"`
	TopicId uint64 `protobuf:"varint,2,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"`
	Amount  string `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"`
}

func (x *MsgRemoveStake) Reset() {
	*x = MsgRemoveStake{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[15]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgRemoveStake) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgRemoveStake) ProtoMessage() {}

// Deprecated: Use MsgRemoveStake.ProtoReflect.Descriptor instead.
func (*MsgRemoveStake) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{15}
}

func (x *MsgRemoveStake) GetSender() string {
	if x != nil {
		return x.Sender
	}
	return ""
}

func (x *MsgRemoveStake) GetTopicId() uint64 {
	if x != nil {
		return x.TopicId
	}
	return 0
}

func (x *MsgRemoveStake) GetAmount() string {
	if x != nil {
		return x.Amount
	}
	return ""
}

type MsgRemoveStakeResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *MsgRemoveStakeResponse) Reset() {
	*x = MsgRemoveStakeResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[16]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgRemoveStakeResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgRemoveStakeResponse) ProtoMessage() {}

// Deprecated: Use MsgRemoveStakeResponse.ProtoReflect.Descriptor instead.
func (*MsgRemoveStakeResponse) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{16}
}

type MsgCancelRemoveStake struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Sender  string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"`
	TopicId uint64 `protobuf:"varint,2,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"`
}

func (x *MsgCancelRemoveStake) Reset() {
	*x = MsgCancelRemoveStake{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[17]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgCancelRemoveStake) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgCancelRemoveStake) ProtoMessage() {}

// Deprecated: Use MsgCancelRemoveStake.ProtoReflect.Descriptor instead.
func (*MsgCancelRemoveStake) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{17}
}

func (x *MsgCancelRemoveStake) GetSender() string {
	if x != nil {
		return x.Sender
	}
	return ""
}

func (x *MsgCancelRemoveStake) GetTopicId() uint64 {
	if x != nil {
		return x.TopicId
	}
	return 0
}

type MsgCancelRemoveStakeResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *MsgCancelRemoveStakeResponse) Reset() {
	*x = MsgCancelRemoveStakeResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[18]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgCancelRemoveStakeResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgCancelRemoveStakeResponse) ProtoMessage() {}

// Deprecated: Use MsgCancelRemoveStakeResponse.ProtoReflect.Descriptor instead.
func (*MsgCancelRemoveStakeResponse) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{18}
}

type MsgDelegateStake struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Sender  string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"`
	TopicId uint64 `protobuf:"varint,2,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"`
	Reputer string `protobuf:"bytes,3,opt,name=reputer,proto3" json:"reputer,omitempty"`
	Amount  string `protobuf:"bytes,4,opt,name=amount,proto3" json:"amount,omitempty"`
}

func (x *MsgDelegateStake) Reset() {
	*x = MsgDelegateStake{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[19]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgDelegateStake) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgDelegateStake) ProtoMessage() {}

// Deprecated: Use MsgDelegateStake.ProtoReflect.Descriptor instead.
func (*MsgDelegateStake) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{19}
}

func (x *MsgDelegateStake) GetSender() string {
	if x != nil {
		return x.Sender
	}
	return ""
}

func (x *MsgDelegateStake) GetTopicId() uint64 {
	if x != nil {
		return x.TopicId
	}
	return 0
}

func (x *MsgDelegateStake) GetReputer() string {
	if x != nil {
		return x.Reputer
	}
	return ""
}

func (x *MsgDelegateStake) GetAmount() string {
	if x != nil {
		return x.Amount
	}
	return ""
}

type MsgDelegateStakeResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *MsgDelegateStakeResponse) Reset() {
	*x = MsgDelegateStakeResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[20]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgDelegateStakeResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgDelegateStakeResponse) ProtoMessage() {}

// Deprecated: Use MsgDelegateStakeResponse.ProtoReflect.Descriptor instead.
func (*MsgDelegateStakeResponse) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{20}
}

type MsgRemoveDelegateStake struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Sender  string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"`
	Reputer string `protobuf:"bytes,2,opt,name=reputer,proto3" json:"reputer,omitempty"`
	TopicId uint64 `protobuf:"varint,3,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"`
	Amount  string `protobuf:"bytes,4,opt,name=amount,proto3" json:"amount,omitempty"`
}

func (x *MsgRemoveDelegateStake) Reset() {
	*x = MsgRemoveDelegateStake{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[21]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgRemoveDelegateStake) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgRemoveDelegateStake) ProtoMessage() {}

// Deprecated: Use MsgRemoveDelegateStake.ProtoReflect.Descriptor instead.
func (*MsgRemoveDelegateStake) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{21}
}

func (x *MsgRemoveDelegateStake) GetSender() string {
	if x != nil {
		return x.Sender
	}
	return ""
}

func (x *MsgRemoveDelegateStake) GetReputer() string {
	if x != nil {
		return x.Reputer
	}
	return ""
}

func (x *MsgRemoveDelegateStake) GetTopicId() uint64 {
	if x != nil {
		return x.TopicId
	}
	return 0
}

func (x *MsgRemoveDelegateStake) GetAmount() string {
	if x != nil {
		return x.Amount
	}
	return ""
}

type MsgRemoveDelegateStakeResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *MsgRemoveDelegateStakeResponse) Reset() {
	*x = MsgRemoveDelegateStakeResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[22]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgRemoveDelegateStakeResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgRemoveDelegateStakeResponse) ProtoMessage() {}

// Deprecated: Use MsgRemoveDelegateStakeResponse.ProtoReflect.Descriptor instead.
func (*MsgRemoveDelegateStakeResponse) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{22}
}

type MsgCancelRemoveDelegateStake struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Sender    string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"`
	TopicId   uint64 `protobuf:"varint,2,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"`
	Delegator string `protobuf:"bytes,3,opt,name=delegator,proto3" json:"delegator,omitempty"`
	Reputer   string `protobuf:"bytes,4,opt,name=reputer,proto3" json:"reputer,omitempty"`
}

func (x *MsgCancelRemoveDelegateStake) Reset() {
	*x = MsgCancelRemoveDelegateStake{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[23]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgCancelRemoveDelegateStake) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgCancelRemoveDelegateStake) ProtoMessage() {}

// Deprecated: Use MsgCancelRemoveDelegateStake.ProtoReflect.Descriptor instead.
func (*MsgCancelRemoveDelegateStake) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{23}
}

func (x *MsgCancelRemoveDelegateStake) GetSender() string {
	if x != nil {
		return x.Sender
	}
	return ""
}

func (x *MsgCancelRemoveDelegateStake) GetTopicId() uint64 {
	if x != nil {
		return x.TopicId
	}
	return 0
}

func (x *MsgCancelRemoveDelegateStake) GetDelegator() string {
	if x != nil {
		return x.Delegator
	}
	return ""
}

func (x *MsgCancelRemoveDelegateStake) GetReputer() string {
	if x != nil {
		return x.Reputer
	}
	return ""
}

type MsgCancelRemoveDelegateStakeResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *MsgCancelRemoveDelegateStakeResponse) Reset() {
	*x = MsgCancelRemoveDelegateStakeResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[24]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgCancelRemoveDelegateStakeResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgCancelRemoveDelegateStakeResponse) ProtoMessage() {}

// Deprecated: Use MsgCancelRemoveDelegateStakeResponse.ProtoReflect.Descriptor instead.
func (*MsgCancelRemoveDelegateStakeResponse) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{24}
}

// Inferences are requested by consumers who fund topics by sending ALLO to
// ecosystem account via TopicFund messages
type MsgFundTopic struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Sender  string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"`
	TopicId uint64 `protobuf:"varint,2,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"`
	Amount  string `protobuf:"bytes,3,opt,name=amount,proto3" json:"amount,omitempty"` // how many funds to send from alice with this Inference Request
}

func (x *MsgFundTopic) Reset() {
	*x = MsgFundTopic{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[25]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgFundTopic) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgFundTopic) ProtoMessage() {}

// Deprecated: Use MsgFundTopic.ProtoReflect.Descriptor instead.
func (*MsgFundTopic) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{25}
}

func (x *MsgFundTopic) GetSender() string {
	if x != nil {
		return x.Sender
	}
	return ""
}

func (x *MsgFundTopic) GetTopicId() uint64 {
	if x != nil {
		return x.TopicId
	}
	return 0
}

func (x *MsgFundTopic) GetAmount() string {
	if x != nil {
		return x.Amount
	}
	return ""
}

type MsgFundTopicResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *MsgFundTopicResponse) Reset() {
	*x = MsgFundTopicResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[26]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgFundTopicResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgFundTopicResponse) ProtoMessage() {}

// Deprecated: Use MsgFundTopicResponse.ProtoReflect.Descriptor instead.
func (*MsgFundTopicResponse) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{26}
}

type MsgAddToWhitelistAdmin struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Sender  string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"`
	Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
}

func (x *MsgAddToWhitelistAdmin) Reset() {
	*x = MsgAddToWhitelistAdmin{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[27]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgAddToWhitelistAdmin) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgAddToWhitelistAdmin) ProtoMessage() {}

// Deprecated: Use MsgAddToWhitelistAdmin.ProtoReflect.Descriptor instead.
func (*MsgAddToWhitelistAdmin) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{27}
}

func (x *MsgAddToWhitelistAdmin) GetSender() string {
	if x != nil {
		return x.Sender
	}
	return ""
}

func (x *MsgAddToWhitelistAdmin) GetAddress() string {
	if x != nil {
		return x.Address
	}
	return ""
}

type MsgAddToWhitelistAdminResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *MsgAddToWhitelistAdminResponse) Reset() {
	*x = MsgAddToWhitelistAdminResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[28]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgAddToWhitelistAdminResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgAddToWhitelistAdminResponse) ProtoMessage() {}

// Deprecated: Use MsgAddToWhitelistAdminResponse.ProtoReflect.Descriptor instead.
func (*MsgAddToWhitelistAdminResponse) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{28}
}

type MsgRemoveFromWhitelistAdmin struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Sender  string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"`
	Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
}

func (x *MsgRemoveFromWhitelistAdmin) Reset() {
	*x = MsgRemoveFromWhitelistAdmin{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[29]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgRemoveFromWhitelistAdmin) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgRemoveFromWhitelistAdmin) ProtoMessage() {}

// Deprecated: Use MsgRemoveFromWhitelistAdmin.ProtoReflect.Descriptor instead.
func (*MsgRemoveFromWhitelistAdmin) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{29}
}

func (x *MsgRemoveFromWhitelistAdmin) GetSender() string {
	if x != nil {
		return x.Sender
	}
	return ""
}

func (x *MsgRemoveFromWhitelistAdmin) GetAddress() string {
	if x != nil {
		return x.Address
	}
	return ""
}

type MsgRemoveFromWhitelistAdminResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *MsgRemoveFromWhitelistAdminResponse) Reset() {
	*x = MsgRemoveFromWhitelistAdminResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[30]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgRemoveFromWhitelistAdminResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgRemoveFromWhitelistAdminResponse) ProtoMessage() {}

// Deprecated: Use MsgRemoveFromWhitelistAdminResponse.ProtoReflect.Descriptor instead.
func (*MsgRemoveFromWhitelistAdminResponse) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{30}
}

type MsgRewardDelegateStakeResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *MsgRewardDelegateStakeResponse) Reset() {
	*x = MsgRewardDelegateStakeResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[31]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgRewardDelegateStakeResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgRewardDelegateStakeResponse) ProtoMessage() {}

// Deprecated: Use MsgRewardDelegateStakeResponse.ProtoReflect.Descriptor instead.
func (*MsgRewardDelegateStakeResponse) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{31}
}

type MsgRewardDelegateStake struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Sender  string `protobuf:"bytes,1,opt,name=sender,proto3" json:"sender,omitempty"`
	TopicId uint64 `protobuf:"varint,2,opt,name=topic_id,json=topicId,proto3" json:"topic_id,omitempty"`
	Reputer string `protobuf:"bytes,3,opt,name=reputer,proto3" json:"reputer,omitempty"`
}

func (x *MsgRewardDelegateStake) Reset() {
	*x = MsgRewardDelegateStake{}
	if protoimpl.UnsafeEnabled {
		mi := &file_emissions_v2_tx_proto_msgTypes[32]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MsgRewardDelegateStake) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MsgRewardDelegateStake) ProtoMessage() {}

// Deprecated: Use MsgRewardDelegateStake.ProtoReflect.Descriptor instead.
func (*MsgRewardDelegateStake) Descriptor() ([]byte, []int) {
	return file_emissions_v2_tx_proto_rawDescGZIP(), []int{32}
}

func (x *MsgRewardDelegateStake) GetSender() string {
	if x != nil {
		return x.Sender
	}
	return ""
}

func (x *MsgRewardDelegateStake) GetTopicId() uint64 {
	if x != nil {
		return x.TopicId
	}
	return 0
}

func (x *MsgRewardDelegateStake) GetReputer() string {
	if x != nil {
		return x.Reputer
	}
	return ""
}

var File_emissions_v2_tx_proto protoreflect.FileDescriptor

var file_emissions_v2_tx_proto_rawDesc = []byte{
	0x0a, 0x15, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x74,
	0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
	0x6e, 0x73, 0x2e, 0x76, 0x32, 0x1a, 0x11, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x6d, 0x69,
	0x6e, 0x6f, 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, 0x18, 0x65, 0x6d,
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x6e, 0x6f, 0x6e, 0x63, 0x65,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
	0x73, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x1a, 0x18, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x32,
	0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x65, 0x6d,
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x65,
	0x72, 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, 0x22, 0xbd, 0x1c,
	0x0a, 0x0e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
	0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28,
	0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x19, 0x6d, 0x61,
	0x78, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x67,
	0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x16, 0x6d,
	0x61, 0x78, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x4d, 0x73, 0x67, 0x4c,
	0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x61, 0x0a, 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x6f, 0x70,
	0x69, 0x63, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42,
	0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e,
	0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f,
	0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f,
	0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x54, 0x6f, 0x70,
	0x69, 0x63, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x2f, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f,
	0x74, 0x6f, 0x70, 0x69, 0x63, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b,
	0x18, 0x04, 0x20, 0x03, 0x28, 0x04, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x54, 0x6f, 0x70, 0x69, 0x63,
	0x73, 0x50, 0x65, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x66, 0x0a, 0x16, 0x72, 0x65, 0x71,
	0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x73, 0x74,
	0x61, 0x6b, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x30, 0xc8, 0xde, 0x1f, 0x00, 0xda,
	0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f,
	0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d,
	0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x14, 0x72, 0x65, 0x71,
	0x75, 0x69, 0x72, 0x65, 0x64, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x53, 0x74, 0x61, 0x6b,
	0x65, 0x12, 0x39, 0x0a, 0x19, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6b,
	0x65, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x06,
	0x20, 0x03, 0x28, 0x03, 0x52, 0x16, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b,
	0x65, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x28, 0x0a, 0x10,
	0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68,
	0x18, 0x07, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x45, 0x70, 0x6f, 0x63, 0x68,
	0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x5a, 0x0a, 0x0c, 0x62, 0x65, 0x74, 0x61, 0x5f, 0x65,
	0x6e, 0x74, 0x72, 0x6f, 0x70, 0x79, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde,
	0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d,
	0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f,
	0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74,
	0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x0b, 0x62, 0x65, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x6f,
	0x70, 0x79, 0x12, 0x5c, 0x0a, 0x0d, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x72,
	0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda,
	0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c,
	0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c,
	0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44,
	0x65, 0x63, 0x52, 0x0c, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65,
	0x12, 0x6d, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x67, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74,
	0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09,
	0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62,
	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77,
	0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e,
	0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x14, 0x6d, 0x61, 0x78, 0x47, 0x72,
	0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12,
	0x65, 0x0a, 0x12, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x66, 0x72, 0x61,
	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f,
	0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
	0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61,
	0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68,
	0x2e, 0x44, 0x65, 0x63, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x46, 0x72,
	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x1f, 0x6d, 0x61, 0x78, 0x5f, 0x75, 0x6e,
	0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72,
	0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x04, 0x52,
	0x1c, 0x6d, 0x61, 0x78, 0x55, 0x6e, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x57,
	0x6f, 0x72, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x47, 0x0a,
	0x20, 0x6d, 0x61, 0x78, 0x5f, 0x75, 0x6e, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64,
	0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x04, 0x52, 0x1d, 0x6d, 0x61, 0x78, 0x55, 0x6e, 0x66, 0x75,
	0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x7a, 0x0a, 0x1d, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f,
	0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x5f, 0x69, 0x6d, 0x70,
	0x6f, 0x72, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x09, 0x42, 0x37, 0xc8,
	0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f,
	0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
	0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61,
	0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x1a, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x77,
	0x61, 0x72, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e,
	0x63, 0x65, 0x12, 0x85, 0x01, 0x0a, 0x23, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x77,
	0x61, 0x72, 0x64, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x5f,
	0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x10, 0x20, 0x03, 0x28, 0x09,
	0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62,
	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77,
	0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e,
	0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x1f, 0x74, 0x6f, 0x70, 0x69, 0x63,
	0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x46, 0x65, 0x65, 0x52, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65,
	0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x65, 0x0a, 0x12, 0x74, 0x6f,
	0x70, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61,
	0x18, 0x11, 0x20, 0x03, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f,
	0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72,
	0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61,
	0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52,
	0x10, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x41, 0x6c, 0x70, 0x68,
	0x61, 0x12, 0x63, 0x0a, 0x11, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64,
	0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x18, 0x12, 0x20, 0x03, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde,
	0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d,
	0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f,
	0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74,
	0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x0f, 0x74, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72,
	0x64, 0x41, 0x6c, 0x70, 0x68, 0x61, 0x12, 0x85, 0x01, 0x0a, 0x23, 0x76, 0x61, 0x6c, 0x69, 0x64,
	0x61, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x76, 0x73, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x5f,
	0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x13,
	0x20, 0x03, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69,
	0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d,
	0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63,
	0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x1f, 0x76,
	0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x56, 0x73, 0x41, 0x6c, 0x6c, 0x6f, 0x72,
	0x61, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x3c,
	0x0a, 0x1b, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x5f, 0x74, 0x6f,
	0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x18, 0x14, 0x20,
	0x03, 0x28, 0x04, 0x52, 0x17, 0x6d, 0x61, 0x78, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x54,
	0x6f, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x12, 0x3a, 0x0a, 0x1a,
	0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x70, 0x5f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x73,
	0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x15, 0x20, 0x03, 0x28, 0x04,
	0x52, 0x16, 0x6d, 0x61, 0x78, 0x54, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x72, 0x73,
	0x54, 0x6f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x40, 0x0a, 0x1d, 0x6d, 0x61, 0x78, 0x5f,
	0x74, 0x6f, 0x70, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x73, 0x5f,
	0x74, 0x6f, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x16, 0x20, 0x03, 0x28, 0x04, 0x52,
	0x19, 0x6d, 0x61, 0x78, 0x54, 0x6f, 0x70, 0x46, 0x6f, 0x72, 0x65, 0x63, 0x61, 0x73, 0x74, 0x65,
	0x72, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x3a, 0x0a, 0x1a, 0x6d, 0x61,
	0x78, 0x5f, 0x74, 0x6f, 0x70, 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x73, 0x5f, 0x74,
	0x6f, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x17, 0x20, 0x03, 0x28, 0x04, 0x52, 0x16,
	0x6d, 0x61, 0x78, 0x54, 0x6f, 0x70, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x73, 0x54, 0x6f,
	0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x5a, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
	0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x18, 0x20, 0x03, 0x28, 0x09,
	0x42, 0x30, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73,
	0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2,
	0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0,
	0x2a, 0x01, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x46,
	0x65, 0x65, 0x12, 0x3b, 0x0a, 0x1a, 0x67, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x64,
	0x65, 0x73, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x74, 0x65, 0x72, 0x73,
	0x18, 0x19, 0x20, 0x03, 0x28, 0x04, 0x52, 0x17, 0x67, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74,
	0x44, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x72, 0x73, 0x12,
	0x4b, 0x0a, 0x23, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x74,
	0x6f, 0x5f, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x5f,
	0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x03, 0x52, 0x1e, 0x6d, 0x61,
	0x78, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x54, 0x6f, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c,
	0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x24,
	0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x66,
	0x75, 0x6c, 0x66, 0x69, 0x6c, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x70,
	0x75, 0x74, 0x65, 0x72, 0x18, 0x1b, 0x20, 0x03, 0x28, 0x03, 0x52, 0x1f, 0x6d, 0x61, 0x78, 0x52,
	0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x54, 0x6f, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x4e, 0x6f,
	0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x12, 0x5b, 0x0a, 0x10, 0x72,
	0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x18,
	0x1c, 0x20, 0x03, 0x28, 0x09, 0x42, 0x30, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63,
	0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68,
	0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49,
	0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61,
	0x75, 0x6c, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x1d,
	0x20, 0x03, 0x28, 0x04, 0x52, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x61, 0x67,
	0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61,
	0x67, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c,
	0x6d, 0x61, 0x78, 0x50, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x40, 0x0a, 0x1d,
	0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68,
	0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x1f, 0x20,
	0x03, 0x28, 0x03, 0x52, 0x19, 0x6d, 0x69, 0x6e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x4c, 0x65, 0x6e,
	0x67, 0x74, 0x68, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x28,
	0x0a, 0x10, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x6e,
	0x74, 0x68, 0x18, 0x20, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73,
	0x50, 0x65, 0x72, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x12, 0x65, 0x0a, 0x12, 0x70, 0x5f, 0x72, 0x65,
	0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x21,
	0x20, 0x03, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69,
	0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d,
	0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63,
	0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x10, 0x70,
	0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12,
	0x63, 0x0a, 0x11, 0x70, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x65,
	0x63, 0x61, 0x73, 0x74, 0x18, 0x22, 0x20, 0x03, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00,
	0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61,
	0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c,
	0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e,
	0x44, 0x65, 0x63, 0x52, 0x0f, 0x70, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x46, 0x6f, 0x72, 0x65,
	0x63, 0x61, 0x73, 0x74, 0x12, 0x61, 0x0a, 0x10, 0x70, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64,
	0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x18, 0x23, 0x20, 0x03, 0x28, 0x09, 0x42, 0x37,
	0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63,
	0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
	0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d,
	0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x0e, 0x70, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64,
	0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x12, 0x65, 0x0a, 0x12, 0x63, 0x5f, 0x72, 0x65, 0x77,
	0x61, 0x72, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x24, 0x20,
	0x03, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74,
	0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e,
	0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68,
	0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x10, 0x63, 0x52,
	0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x63,
	0x0a, 0x11, 0x63, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x63,
	0x61, 0x73, 0x74, 0x18, 0x25, 0x20, 0x03, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda,
	0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c,
	0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c,
	0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44,
	0x65, 0x63, 0x52, 0x0f, 0x63, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x46, 0x6f, 0x72, 0x65, 0x63,
	0x61, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x06, 0x63, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x18, 0x26, 0x20,
	0x03, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74,
	0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e,
	0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68,
	0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x05, 0x63, 0x4e,
	0x6f, 0x72, 0x6d, 0x12, 0x77, 0x0a, 0x1c, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x66, 0x65, 0x65,
	0x5f, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x5f, 0x64, 0x65, 0x63, 0x61, 0x79, 0x5f, 0x72,
	0x61, 0x74, 0x65, 0x18, 0x27, 0x20, 0x03, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda,
	0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c,
	0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c,
	0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44,
	0x65, 0x63, 0x52, 0x18, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x46, 0x65, 0x65, 0x52, 0x65, 0x76, 0x65,
	0x6e, 0x75, 0x65, 0x44, 0x65, 0x63, 0x61, 0x79, 0x52, 0x61, 0x74, 0x65, 0x12, 0x60, 0x0a, 0x0f,
	0x65, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x18,
	0x28, 0x20, 0x03, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67,
	0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61,
	0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d,
	0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x0e,
	0x65, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x12, 0x76,
	0x0a, 0x1b, 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f,
	0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x18, 0x29, 0x20,
	0x03, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74,
	0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e,
	0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68,
	0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x18, 0x6d, 0x69,
	0x6e, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52,
	0x65, 0x76, 0x65, 0x6e, 0x75, 0x65, 0x12, 0x56, 0x0a, 0x29, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x6d,
	0x61, 0x78, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x6b, 0x65,
	0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x6c,
	0x6f, 0x63, 0x6b, 0x18, 0x2a, 0x20, 0x03, 0x28, 0x04, 0x52, 0x23, 0x68, 0x61, 0x6c, 0x66, 0x4d,
	0x61, 0x78, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65,
	0x6d, 0x6f, 0x76, 0x61, 0x6c, 0x73, 0x45, 0x6e, 0x64, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x5a,
	0x0a, 0x10, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x66,
	0x65, 0x65, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x09, 0x42, 0x30, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde,
	0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d,
	0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f,
	0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61,
	0x53, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x46, 0x65, 0x65, 0x12, 0x61, 0x0a, 0x10, 0x65, 0x70,
	0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x5f, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x64, 0x69, 0x76, 0x18, 0x2c,
	0x20, 0x03, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69,
	0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d,
	0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63,
	0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x0e, 0x65,
	0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x53, 0x61, 0x66, 0x65, 0x44, 0x69, 0x76, 0x22, 0x6c, 0x0a,
	0x0f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
	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, 0x34, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61,
	0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73,
	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
	0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x3a, 0x0b,
	0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x4d,
	0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf9, 0x04, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x43, 0x72,
	0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 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, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f,
	0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x73, 0x73, 0x4d, 0x65, 0x74,
	0x68, 0x6f, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x5f, 0x6c, 0x65, 0x6e,
	0x67, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x65, 0x70, 0x6f, 0x63, 0x68,
	0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64,
	0x5f, 0x74, 0x72, 0x75, 0x74, 0x68, 0x5f, 0x6c, 0x61, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, 0x75, 0x74, 0x68, 0x4c, 0x61, 0x67,
	0x12, 0x4e, 0x0a, 0x06, 0x70, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09,
	0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62,
	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77,
	0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e,
	0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x05, 0x70, 0x4e, 0x6f, 0x72, 0x6d,
	0x12, 0x5a, 0x0a, 0x0c, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x5f, 0x72, 0x65, 0x67, 0x72, 0x65, 0x74,
	0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f,
	0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72,
	0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61,
	0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52,
	0x0b, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, 0x65, 0x67, 0x72, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e,
	0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x0c,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4e, 0x65, 0x67, 0x61, 0x74,
	0x69, 0x76, 0x65, 0x12, 0x51, 0x0a, 0x07, 0x65, 0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x18, 0x0d,
	0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x2f, 0x67, 0x69,
	0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d,
	0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63,
	0x68, 0x61, 0x69, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x07, 0x65,
	0x70, 0x73, 0x69, 0x6c, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x18, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72,
	0x5f, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x77, 0x69, 0x6e, 0x64,
	0x6f, 0x77, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72,
	0x53, 0x75, 0x62, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77,
	0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x4a, 0x04,
	0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07,
	0x4a, 0x04, 0x08, 0x09, 0x10, 0x0a, 0x52, 0x0a, 0x6c, 0x6f, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67,
	0x69, 0x63, 0x52, 0x0f, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x6f,
	0x67, 0x69, 0x63, 0x52, 0x10, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6d,
	0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x61,
	0x72, 0x67, 0x22, 0x36, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e,
	0x65, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x22, 0x92, 0x01, 0x0a, 0x17, 0x4d,
	0x73, 0x67, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x50,
	0x61, 0x79, 0x6c, 0x6f, 0x61, 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, 0x52,
	0x0a, 0x14, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f,
	0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x65,
	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x70, 0x75,
	0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x12,
	0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x75, 0x6e, 0x64,
	0x6c, 0x65, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22,
	0x21, 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x70, 0x75,
	0x74, 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74,
	0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 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, 0x4c, 0x0a, 0x12, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f,
	0x64, 0x61, 0x74, 0x61, 0x5f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x32,
	0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x42, 0x75, 0x6e, 0x64, 0x6c,
	0x65, 0x52, 0x10, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x42, 0x75, 0x6e,
	0x64, 0x6c, 0x65, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72,
	0x22, 0x20, 0x0a, 0x1e, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, 0x72,
	0x6b, 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x22, 0xaa, 0x01, 0x0a, 0x0b, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74,
	0x65, 0x72, 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, 0x19, 0x0a, 0x08, 0x74, 0x6f,
	0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f,
	0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x69,
	0x73, 0x5f, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x09, 0x69, 0x73, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a,
	0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08,
	0x03, 0x10, 0x04, 0x52, 0x0b, 0x6c, 0x69, 0x62, 0x5f, 0x70, 0x32, 0x70, 0x5f, 0x6b, 0x65, 0x79,
	0x52, 0x0d, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22,
	0x49, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73,
	0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
	0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x76, 0x0a, 0x15, 0x4d, 0x73,
	0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 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, 0x19, 0x0a, 0x08, 0x74,
	0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74,
	0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x70,
	0x75, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x52, 0x65,
	0x70, 0x75, 0x74, 0x65, 0x72, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64,
	0x65, 0x72, 0x22, 0x53, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52,
	0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a,
	0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x97, 0x01, 0x0a, 0x0b, 0x4d, 0x73, 0x67, 0x41,
	0x64, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65,
	0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12,
	0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x06, 0x61, 0x6d,
	0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xc8, 0xde, 0x1f, 0x00,
	0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f,
	0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73,
	0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d,
	0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65,
	0x72, 0x22, 0x15, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x65,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x0e, 0x4d, 0x73, 0x67,
	0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73,
	0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e,
	0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12, 0x48,
	0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30,
	0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64,
	0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d,
	0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01,
	0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73,
	0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f,
	0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
	0x56, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x6d, 0x6f,
	0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65,
	0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12,
	0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a,
	0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x1e, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x43, 0x61,
	0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb6, 0x01, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x44,
	0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x16, 0x0a, 0x06,
	0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65,
	0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69, 0x64,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64, 0x12,
	0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x07, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x12, 0x48, 0x0a, 0x06, 0x61, 0x6d, 0x6f,
	0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xc8, 0xde, 0x1f, 0x00, 0xda,
	0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f,
	0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d,
	0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f,
	0x75, 0x6e, 0x74, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72,
	0x22, 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53,
	0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbc, 0x01, 0x0a,
	0x16, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61,
	0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65,
	0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12,
	0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x07, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70,
	0x69, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70,
	0x69, 0x63, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f,
	0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e,
	0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e,
	0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0b,
	0x82, 0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x20, 0x0a, 0x1e, 0x4d,
	0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65,
	0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x96, 0x01,
	0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76,
	0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x16,
	0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
	0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f,
	0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49,
	0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x12,
	0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x07, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a, 0x06,
	0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x26, 0x0a, 0x24, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e,
	0x63, 0x65, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74,
	0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x98,
	0x01, 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x46, 0x75, 0x6e, 0x64, 0x54, 0x6f, 0x70, 0x69, 0x63, 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, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63,
	0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63,
	0x49, 0x64, 0x12, 0x48, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x42, 0x30, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x15, 0x63, 0x6f, 0x73, 0x6d,
	0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x49, 0x6e,
	0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8,
	0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0b, 0x82, 0xe7,
	0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x4d, 0x73, 0x67,
	0x46, 0x75, 0x6e, 0x64, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x22, 0x57, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x57, 0x68, 0x69,
	0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 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, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x0b, 0x82,
	0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x20, 0x0a, 0x1e, 0x4d, 0x73,
	0x67, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41,
	0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5c, 0x0a, 0x1b,
	0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x57, 0x68, 0x69,
	0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 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, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x0b, 0x82,
	0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x25, 0x0a, 0x23, 0x4d, 0x73,
	0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x57, 0x68, 0x69, 0x74, 0x65,
	0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x22, 0x20, 0x0a, 0x1e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x65,
	0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x22, 0x72, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64,
	0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x16, 0x0a,
	0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73,
	0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x5f, 0x69,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x49, 0x64,
	0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x07, 0x72, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x3a, 0x0b, 0x82, 0xe7, 0xb0, 0x2a,
	0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x32, 0xa9, 0x0c, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12,
	0x54, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12,
	0x1d, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4d,
	0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x25,
	0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73,
	0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e,
	0x65, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x1f, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69,
	0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
	0x4e, 0x65, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x1a, 0x27, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73,
	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74,
	0x65, 0x4e, 0x65, 0x77, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x48, 0x0a, 0x08, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x19, 0x2e,
	0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67,
	0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x21, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73,
	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73,
	0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x12, 0x52,
	0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x12, 0x23, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x32,
	0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74,
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x2b, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
	0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52,
	0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x08, 0x41, 0x64, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12,
	0x19, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4d,
	0x73, 0x67, 0x41, 0x64, 0x64, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x1a, 0x21, 0x2e, 0x65, 0x6d, 0x69,
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64,
	0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a,
	0x0b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x1c, 0x2e, 0x65,
	0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x52,
	0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x1a, 0x24, 0x2e, 0x65, 0x6d, 0x69,
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d,
	0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x63, 0x0a, 0x11, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65,
	0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x22, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
	0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65,
	0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x1a, 0x2a, 0x2e, 0x65, 0x6d, 0x69, 0x73,
	0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63,
	0x65, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74,
	0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x1e, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
	0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74,
	0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x1a, 0x26, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
	0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74,
	0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69,
	0x0a, 0x13, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65,
	0x53, 0x74, 0x61, 0x6b, 0x65, 0x12, 0x24, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
	0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x44, 0x65,
	0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x1a, 0x2c, 0x2e, 0x65, 0x6d,
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65,
	0x77, 0x61, 0x72, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b,
	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x13, 0x52, 0x65, 0x6d,
	0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65,
	0x12, 0x24, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e,
	0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74,
	0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x1a, 0x2c, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
	0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44,
	0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x19, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65,
	0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b,
	0x65, 0x12, 0x2a, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x32,
	0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65,
	0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x1a, 0x32, 0x2e,
	0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67,
	0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x6c, 0x65,
	0x67, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x4b, 0x0a, 0x09, 0x46, 0x75, 0x6e, 0x64, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x1a,
	0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73,
	0x67, 0x46, 0x75, 0x6e, 0x64, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x1a, 0x22, 0x2e, 0x65, 0x6d, 0x69,
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x46, 0x75, 0x6e,
	0x64, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69,
	0x0a, 0x13, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74,
	0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x24, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
	0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x57, 0x68, 0x69,
	0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x1a, 0x2c, 0x2e, 0x65, 0x6d,
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64,
	0x64, 0x54, 0x6f, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69,
	0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x18, 0x52, 0x65, 0x6d,
	0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74,
	0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x29, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
	0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72,
	0x6f, 0x6d, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e,
	0x1a, 0x31, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e,
	0x4d, 0x73, 0x67, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x57, 0x68, 0x69,
	0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x13, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, 0x72,
	0x6b, 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x2e, 0x65, 0x6d, 0x69,
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x73,
	0x65, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
	0x1a, 0x2c, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e,
	0x4d, 0x73, 0x67, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50,
	0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c,
	0x0a, 0x14, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x50,
	0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x25, 0x2e, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
	0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52,
	0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x2d, 0x2e,
	0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x73, 0x67,
	0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x70, 0x75, 0x74, 0x65, 0x72, 0x50, 0x61, 0x79,
	0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7,
	0xb0, 0x2a, 0x01, 0x42, 0xbd, 0x01, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x65, 0x6d, 0x69, 0x73,
	0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74,
	0x6f, 0x50, 0x01, 0x5a, 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
	0x61, 0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61,
	0x6c, 0x6c, 0x6f, 0x72, 0x61, 0x2d, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x2f, 0x78, 0x2f, 0x65, 0x6d,
	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6d, 0x69, 0x73,
	0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x32, 0x3b, 0x65, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
	0x6e, 0x73, 0x76, 0x32, 0xa2, 0x02, 0x03, 0x45, 0x58, 0x58, 0xaa, 0x02, 0x0c, 0x45, 0x6d, 0x69,
	0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x0c, 0x45, 0x6d, 0x69, 0x73,
	0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x32, 0xe2, 0x02, 0x18, 0x45, 0x6d, 0x69, 0x73, 0x73,
	0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64,
	0x61, 0x74, 0x61, 0xea, 0x02, 0x0d, 0x45, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a,
	0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_emissions_v2_tx_proto_rawDescOnce sync.Once
	file_emissions_v2_tx_proto_rawDescData = file_emissions_v2_tx_proto_rawDesc
)

func file_emissions_v2_tx_proto_rawDescGZIP() []byte {
	file_emissions_v2_tx_proto_rawDescOnce.Do(func() {
		file_emissions_v2_tx_proto_rawDescData = protoimpl.X.CompressGZIP(file_emissions_v2_tx_proto_rawDescData)
	})
	return file_emissions_v2_tx_proto_rawDescData
}

var file_emissions_v2_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 33)
var file_emissions_v2_tx_proto_goTypes = []interface{}{
	(*OptionalParams)(nil),                       // 0: emissions.v2.OptionalParams
	(*MsgUpdateParams)(nil),                      // 1: emissions.v2.MsgUpdateParams
	(*MsgUpdateParamsResponse)(nil),              // 2: emissions.v2.MsgUpdateParamsResponse
	(*MsgCreateNewTopic)(nil),                    // 3: emissions.v2.MsgCreateNewTopic
	(*MsgCreateNewTopicResponse)(nil),            // 4: emissions.v2.MsgCreateNewTopicResponse
	(*MsgInsertReputerPayload)(nil),              // 5: emissions.v2.MsgInsertReputerPayload
	(*MsgInsertReputerPayloadResponse)(nil),      // 6: emissions.v2.MsgInsertReputerPayloadResponse
	(*MsgInsertWorkerPayload)(nil),               // 7: emissions.v2.MsgInsertWorkerPayload
	(*MsgInsertWorkerPayloadResponse)(nil),       // 8: emissions.v2.MsgInsertWorkerPayloadResponse
	(*MsgRegister)(nil),                          // 9: emissions.v2.MsgRegister
	(*MsgRegisterResponse)(nil),                  // 10: emissions.v2.MsgRegisterResponse
	(*MsgRemoveRegistration)(nil),                // 11: emissions.v2.MsgRemoveRegistration
	(*MsgRemoveRegistrationResponse)(nil),        // 12: emissions.v2.MsgRemoveRegistrationResponse
	(*MsgAddStake)(nil),                          // 13: emissions.v2.MsgAddStake
	(*MsgAddStakeResponse)(nil),                  // 14: emissions.v2.MsgAddStakeResponse
	(*MsgRemoveStake)(nil),                       // 15: emissions.v2.MsgRemoveStake
	(*MsgRemoveStakeResponse)(nil),               // 16: emissions.v2.MsgRemoveStakeResponse
	(*MsgCancelRemoveStake)(nil),                 // 17: emissions.v2.MsgCancelRemoveStake
	(*MsgCancelRemoveStakeResponse)(nil),         // 18: emissions.v2.MsgCancelRemoveStakeResponse
	(*MsgDelegateStake)(nil),                     // 19: emissions.v2.MsgDelegateStake
	(*MsgDelegateStakeResponse)(nil),             // 20: emissions.v2.MsgDelegateStakeResponse
	(*MsgRemoveDelegateStake)(nil),               // 21: emissions.v2.MsgRemoveDelegateStake
	(*MsgRemoveDelegateStakeResponse)(nil),       // 22: emissions.v2.MsgRemoveDelegateStakeResponse
	(*MsgCancelRemoveDelegateStake)(nil),         // 23: emissions.v2.MsgCancelRemoveDelegateStake
	(*MsgCancelRemoveDelegateStakeResponse)(nil), // 24: emissions.v2.MsgCancelRemoveDelegateStakeResponse
	(*MsgFundTopic)(nil),                         // 25: emissions.v2.MsgFundTopic
	(*MsgFundTopicResponse)(nil),                 // 26: emissions.v2.MsgFundTopicResponse
	(*MsgAddToWhitelistAdmin)(nil),               // 27: emissions.v2.MsgAddToWhitelistAdmin
	(*MsgAddToWhitelistAdminResponse)(nil),       // 28: emissions.v2.MsgAddToWhitelistAdminResponse
	(*MsgRemoveFromWhitelistAdmin)(nil),          // 29: emissions.v2.MsgRemoveFromWhitelistAdmin
	(*MsgRemoveFromWhitelistAdminResponse)(nil),  // 30: emissions.v2.MsgRemoveFromWhitelistAdminResponse
	(*MsgRewardDelegateStakeResponse)(nil),       // 31: emissions.v2.MsgRewardDelegateStakeResponse
	(*MsgRewardDelegateStake)(nil),               // 32: emissions.v2.MsgRewardDelegateStake
	(*ReputerValueBundle)(nil),                   // 33: emissions.v2.ReputerValueBundle
	(*WorkerDataBundle)(nil),                     // 34: emissions.v2.WorkerDataBundle
}
var file_emissions_v2_tx_proto_depIdxs = []int32{
	0,  // 0: emissions.v2.MsgUpdateParams.params:type_name -> emissions.v2.OptionalParams
	33, // 1: emissions.v2.MsgInsertReputerPayload.reputer_value_bundle:type_name -> emissions.v2.ReputerValueBundle
	34, // 2: emissions.v2.MsgInsertWorkerPayload.worker_data_bundle:type_name -> emissions.v2.WorkerDataBundle
	1,  // 3: emissions.v2.Msg.UpdateParams:input_type -> emissions.v2.MsgUpdateParams
	3,  // 4: emissions.v2.Msg.CreateNewTopic:input_type -> emissions.v2.MsgCreateNewTopic
	9,  // 5: emissions.v2.Msg.Register:input_type -> emissions.v2.MsgRegister
	11, // 6: emissions.v2.Msg.RemoveRegistration:input_type -> emissions.v2.MsgRemoveRegistration
	13, // 7: emissions.v2.Msg.AddStake:input_type -> emissions.v2.MsgAddStake
	15, // 8: emissions.v2.Msg.RemoveStake:input_type -> emissions.v2.MsgRemoveStake
	17, // 9: emissions.v2.Msg.CancelRemoveStake:input_type -> emissions.v2.MsgCancelRemoveStake
	19, // 10: emissions.v2.Msg.DelegateStake:input_type -> emissions.v2.MsgDelegateStake
	32, // 11: emissions.v2.Msg.RewardDelegateStake:input_type -> emissions.v2.MsgRewardDelegateStake
	21, // 12: emissions.v2.Msg.RemoveDelegateStake:input_type -> emissions.v2.MsgRemoveDelegateStake
	23, // 13: emissions.v2.Msg.CancelRemoveDelegateStake:input_type -> emissions.v2.MsgCancelRemoveDelegateStake
	25, // 14: emissions.v2.Msg.FundTopic:input_type -> emissions.v2.MsgFundTopic
	27, // 15: emissions.v2.Msg.AddToWhitelistAdmin:input_type -> emissions.v2.MsgAddToWhitelistAdmin
	29, // 16: emissions.v2.Msg.RemoveFromWhitelistAdmin:input_type -> emissions.v2.MsgRemoveFromWhitelistAdmin
	7,  // 17: emissions.v2.Msg.InsertWorkerPayload:input_type -> emissions.v2.MsgInsertWorkerPayload
	5,  // 18: emissions.v2.Msg.InsertReputerPayload:input_type -> emissions.v2.MsgInsertReputerPayload
	2,  // 19: emissions.v2.Msg.UpdateParams:output_type -> emissions.v2.MsgUpdateParamsResponse
	4,  // 20: emissions.v2.Msg.CreateNewTopic:output_type -> emissions.v2.MsgCreateNewTopicResponse
	10, // 21: emissions.v2.Msg.Register:output_type -> emissions.v2.MsgRegisterResponse
	12, // 22: emissions.v2.Msg.RemoveRegistration:output_type -> emissions.v2.MsgRemoveRegistrationResponse
	14, // 23: emissions.v2.Msg.AddStake:output_type -> emissions.v2.MsgAddStakeResponse
	16, // 24: emissions.v2.Msg.RemoveStake:output_type -> emissions.v2.MsgRemoveStakeResponse
	18, // 25: emissions.v2.Msg.CancelRemoveStake:output_type -> emissions.v2.MsgCancelRemoveStakeResponse
	20, // 26: emissions.v2.Msg.DelegateStake:output_type -> emissions.v2.MsgDelegateStakeResponse
	31, // 27: emissions.v2.Msg.RewardDelegateStake:output_type -> emissions.v2.MsgRewardDelegateStakeResponse
	22, // 28: emissions.v2.Msg.RemoveDelegateStake:output_type -> emissions.v2.MsgRemoveDelegateStakeResponse
	24, // 29: emissions.v2.Msg.CancelRemoveDelegateStake:output_type -> emissions.v2.MsgCancelRemoveDelegateStakeResponse
	26, // 30: emissions.v2.Msg.FundTopic:output_type -> emissions.v2.MsgFundTopicResponse
	28, // 31: emissions.v2.Msg.AddToWhitelistAdmin:output_type -> emissions.v2.MsgAddToWhitelistAdminResponse
	30, // 32: emissions.v2.Msg.RemoveFromWhitelistAdmin:output_type -> emissions.v2.MsgRemoveFromWhitelistAdminResponse
	8,  // 33: emissions.v2.Msg.InsertWorkerPayload:output_type -> emissions.v2.MsgInsertWorkerPayloadResponse
	6,  // 34: emissions.v2.Msg.InsertReputerPayload:output_type -> emissions.v2.MsgInsertReputerPayloadResponse
	19, // [19:35] is the sub-list for method output_type
	3,  // [3:19] is the sub-list for method input_type
	3,  // [3:3] is the sub-list for extension type_name
	3,  // [3:3] is the sub-list for extension extendee
	0,  // [0:3] is the sub-list for field type_name
}

func init() { file_emissions_v2_tx_proto_init() }
func file_emissions_v2_tx_proto_init() {
	if File_emissions_v2_tx_proto != nil {
		return
	}
	file_emissions_v2_nonce_proto_init()
	file_emissions_v2_reputer_proto_init()
	file_emissions_v2_types_proto_init()
	file_emissions_v2_worker_proto_init()
	if !protoimpl.UnsafeEnabled {
		file_emissions_v2_tx_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*OptionalParams); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_emissions_v2_tx_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgUpdateParams); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_emissions_v2_tx_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgUpdateParamsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_emissions_v2_tx_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgCreateNewTopic); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_emissions_v2_tx_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgCreateNewTopicResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_emissions_v2_tx_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgInsertReputerPayload); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_emissions_v2_tx_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgInsertReputerPayloadResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_emissions_v2_tx_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgInsertWorkerPayload); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_emissions_v2_tx_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgInsertWorkerPayloadResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_emissions_v2_tx_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgRegister); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_emissions_v2_tx_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgRegisterResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_emissions_v2_tx_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgRemoveRegistration); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_emissions_v2_tx_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgRemoveRegistrationResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_emissions_v2_tx_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgAddStake); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_emissions_v2_tx_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgAddStakeResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_emissions_v2_tx_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgRemoveStake); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_emissions_v2_tx_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgRemoveStakeResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_emissions_v2_tx_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgCancelRemoveStake); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_emissions_v2_tx_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgCancelRemoveStakeResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_emissions_v2_tx_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgDelegateStake); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_emissions_v2_tx_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgDelegateStakeResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_emissions_v2_tx_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgRemoveDelegateStake); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_emissions_v2_tx_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgRemoveDelegateStakeResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_emissions_v2_tx_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgCancelRemoveDelegateStake); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_emissions_v2_tx_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgCancelRemoveDelegateStakeResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_emissions_v2_tx_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgFundTopic); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_emissions_v2_tx_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgFundTopicResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_emissions_v2_tx_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgAddToWhitelistAdmin); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_emissions_v2_tx_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgAddToWhitelistAdminResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_emissions_v2_tx_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgRemoveFromWhitelistAdmin); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_emissions_v2_tx_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgRemoveFromWhitelistAdminResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_emissions_v2_tx_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgRewardDelegateStakeResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_emissions_v2_tx_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MsgRewardDelegateStake); 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_emissions_v2_tx_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   33,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_emissions_v2_tx_proto_goTypes,
		DependencyIndexes: file_emissions_v2_tx_proto_depIdxs,
		MessageInfos:      file_emissions_v2_tx_proto_msgTypes,
	}.Build()
	File_emissions_v2_tx_proto = out.File
	file_emissions_v2_tx_proto_rawDesc = nil
	file_emissions_v2_tx_proto_goTypes = nil
	file_emissions_v2_tx_proto_depIdxs = nil
}
