// Code generated by protoc-gen-gogo. DO NOT EDIT.
// source: greenfield/storage/params.proto

package types

import (
	fmt "fmt"
	_ "github.com/cosmos/gogoproto/gogoproto"
	proto "github.com/cosmos/gogoproto/proto"
	io "io"
	math "math"
	math_bits "math/bits"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package

// Params defines the parameters for the module.
type Params struct {
	VersionedParams VersionedParams `protobuf:"bytes,1,opt,name=versioned_params,json=versionedParams,proto3" json:"versioned_params"`
	// max_payload_size is the maximum size of the payload, default: 2G
	MaxPayloadSize uint64 `protobuf:"varint,2,opt,name=max_payload_size,json=maxPayloadSize,proto3" json:"max_payload_size,omitempty"`
	// relayer fee for the mirror bucket tx to bsc
	BscMirrorBucketRelayerFee string `protobuf:"bytes,3,opt,name=bsc_mirror_bucket_relayer_fee,json=bscMirrorBucketRelayerFee,proto3" json:"bsc_mirror_bucket_relayer_fee,omitempty"`
	// relayer fee for the ACK or FAIL_ACK package of the mirror bucket tx to bsc
	BscMirrorBucketAckRelayerFee string `protobuf:"bytes,4,opt,name=bsc_mirror_bucket_ack_relayer_fee,json=bscMirrorBucketAckRelayerFee,proto3" json:"bsc_mirror_bucket_ack_relayer_fee,omitempty"`
	// relayer fee for the mirror object tx to bsc
	BscMirrorObjectRelayerFee string `protobuf:"bytes,5,opt,name=bsc_mirror_object_relayer_fee,json=bscMirrorObjectRelayerFee,proto3" json:"bsc_mirror_object_relayer_fee,omitempty"`
	// Relayer fee for the ACK or FAIL_ACK package of the mirror object tx to bsc
	BscMirrorObjectAckRelayerFee string `protobuf:"bytes,6,opt,name=bsc_mirror_object_ack_relayer_fee,json=bscMirrorObjectAckRelayerFee,proto3" json:"bsc_mirror_object_ack_relayer_fee,omitempty"`
	// relayer fee for the mirror object tx to bsc
	BscMirrorGroupRelayerFee string `protobuf:"bytes,7,opt,name=bsc_mirror_group_relayer_fee,json=bscMirrorGroupRelayerFee,proto3" json:"bsc_mirror_group_relayer_fee,omitempty"`
	// Relayer fee for the ACK or FAIL_ACK package of the mirror object tx to bsc
	BscMirrorGroupAckRelayerFee string `protobuf:"bytes,8,opt,name=bsc_mirror_group_ack_relayer_fee,json=bscMirrorGroupAckRelayerFee,proto3" json:"bsc_mirror_group_ack_relayer_fee,omitempty"`
	// The maximum number of buckets that can be created per account
	MaxBucketsPerAccount uint32 `protobuf:"varint,9,opt,name=max_buckets_per_account,json=maxBucketsPerAccount,proto3" json:"max_buckets_per_account,omitempty"`
	// The window to count the discontinued objects or buckets
	DiscontinueCountingWindow uint64 `protobuf:"varint,10,opt,name=discontinue_counting_window,json=discontinueCountingWindow,proto3" json:"discontinue_counting_window,omitempty"`
	// The max objects can be requested in a window
	DiscontinueObjectMax uint64 `protobuf:"varint,11,opt,name=discontinue_object_max,json=discontinueObjectMax,proto3" json:"discontinue_object_max,omitempty"`
	// The max buckets can be requested in a window
	DiscontinueBucketMax uint64 `protobuf:"varint,12,opt,name=discontinue_bucket_max,json=discontinueBucketMax,proto3" json:"discontinue_bucket_max,omitempty"`
	// The object will be deleted after the confirm period in seconds
	DiscontinueConfirmPeriod int64 `protobuf:"varint,13,opt,name=discontinue_confirm_period,json=discontinueConfirmPeriod,proto3" json:"discontinue_confirm_period,omitempty"`
	// The max delete objects in each end block
	DiscontinueDeletionMax uint64 `protobuf:"varint,14,opt,name=discontinue_deletion_max,json=discontinueDeletionMax,proto3" json:"discontinue_deletion_max,omitempty"`
	// The max number for deleting policy in each end block
	StalePolicyCleanupMax uint64 `protobuf:"varint,15,opt,name=stale_policy_cleanup_max,json=stalePolicyCleanupMax,proto3" json:"stale_policy_cleanup_max,omitempty"`
	// The min interval for making quota smaller in seconds
	MinQuotaUpdateInterval uint64 `protobuf:"varint,16,opt,name=min_quota_update_interval,json=minQuotaUpdateInterval,proto3" json:"min_quota_update_interval,omitempty"`
	// the max number of local virtual group per bucket
	MaxLocalVirtualGroupNumPerBucket uint32 `protobuf:"varint,17,opt,name=max_local_virtual_group_num_per_bucket,json=maxLocalVirtualGroupNumPerBucket,proto3" json:"max_local_virtual_group_num_per_bucket,omitempty"`
	// relayer fee for the mirror bucket tx to op chain
	OpMirrorBucketRelayerFee string `protobuf:"bytes,18,opt,name=op_mirror_bucket_relayer_fee,json=opMirrorBucketRelayerFee,proto3" json:"op_mirror_bucket_relayer_fee,omitempty"`
	// relayer fee for the ACK or FAIL_ACK package of the mirror bucket tx to op chain
	OpMirrorBucketAckRelayerFee string `protobuf:"bytes,19,opt,name=op_mirror_bucket_ack_relayer_fee,json=opMirrorBucketAckRelayerFee,proto3" json:"op_mirror_bucket_ack_relayer_fee,omitempty"`
	// relayer fee for the mirror object tx to op chain
	OpMirrorObjectRelayerFee string `protobuf:"bytes,20,opt,name=op_mirror_object_relayer_fee,json=opMirrorObjectRelayerFee,proto3" json:"op_mirror_object_relayer_fee,omitempty"`
	// Relayer fee for the ACK or FAIL_ACK package of the mirror object tx to op chain
	OpMirrorObjectAckRelayerFee string `protobuf:"bytes,21,opt,name=op_mirror_object_ack_relayer_fee,json=opMirrorObjectAckRelayerFee,proto3" json:"op_mirror_object_ack_relayer_fee,omitempty"`
	// relayer fee for the mirror object tx to op chain
	OpMirrorGroupRelayerFee string `protobuf:"bytes,22,opt,name=op_mirror_group_relayer_fee,json=opMirrorGroupRelayerFee,proto3" json:"op_mirror_group_relayer_fee,omitempty"`
	// Relayer fee for the ACK or FAIL_ACK package of the mirror object tx to op chain
	OpMirrorGroupAckRelayerFee string `protobuf:"bytes,23,opt,name=op_mirror_group_ack_relayer_fee,json=opMirrorGroupAckRelayerFee,proto3" json:"op_mirror_group_ack_relayer_fee,omitempty"`
}

func (m *Params) Reset()      { *m = Params{} }
func (*Params) ProtoMessage() {}
func (*Params) Descriptor() ([]byte, []int) {
	return fileDescriptor_127b8b1511d84eca, []int{0}
}
func (m *Params) XXX_Unmarshal(b []byte) error {
	return m.Unmarshal(b)
}
func (m *Params) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	if deterministic {
		return xxx_messageInfo_Params.Marshal(b, m, deterministic)
	} else {
		b = b[:cap(b)]
		n, err := m.MarshalToSizedBuffer(b)
		if err != nil {
			return nil, err
		}
		return b[:n], nil
	}
}
func (m *Params) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Params.Merge(m, src)
}
func (m *Params) XXX_Size() int {
	return m.Size()
}
func (m *Params) XXX_DiscardUnknown() {
	xxx_messageInfo_Params.DiscardUnknown(m)
}

var xxx_messageInfo_Params proto.InternalMessageInfo

func (m *Params) GetVersionedParams() VersionedParams {
	if m != nil {
		return m.VersionedParams
	}
	return VersionedParams{}
}

func (m *Params) GetMaxPayloadSize() uint64 {
	if m != nil {
		return m.MaxPayloadSize
	}
	return 0
}

func (m *Params) GetBscMirrorBucketRelayerFee() string {
	if m != nil {
		return m.BscMirrorBucketRelayerFee
	}
	return ""
}

func (m *Params) GetBscMirrorBucketAckRelayerFee() string {
	if m != nil {
		return m.BscMirrorBucketAckRelayerFee
	}
	return ""
}

func (m *Params) GetBscMirrorObjectRelayerFee() string {
	if m != nil {
		return m.BscMirrorObjectRelayerFee
	}
	return ""
}

func (m *Params) GetBscMirrorObjectAckRelayerFee() string {
	if m != nil {
		return m.BscMirrorObjectAckRelayerFee
	}
	return ""
}

func (m *Params) GetBscMirrorGroupRelayerFee() string {
	if m != nil {
		return m.BscMirrorGroupRelayerFee
	}
	return ""
}

func (m *Params) GetBscMirrorGroupAckRelayerFee() string {
	if m != nil {
		return m.BscMirrorGroupAckRelayerFee
	}
	return ""
}

func (m *Params) GetMaxBucketsPerAccount() uint32 {
	if m != nil {
		return m.MaxBucketsPerAccount
	}
	return 0
}

func (m *Params) GetDiscontinueCountingWindow() uint64 {
	if m != nil {
		return m.DiscontinueCountingWindow
	}
	return 0
}

func (m *Params) GetDiscontinueObjectMax() uint64 {
	if m != nil {
		return m.DiscontinueObjectMax
	}
	return 0
}

func (m *Params) GetDiscontinueBucketMax() uint64 {
	if m != nil {
		return m.DiscontinueBucketMax
	}
	return 0
}

func (m *Params) GetDiscontinueConfirmPeriod() int64 {
	if m != nil {
		return m.DiscontinueConfirmPeriod
	}
	return 0
}

func (m *Params) GetDiscontinueDeletionMax() uint64 {
	if m != nil {
		return m.DiscontinueDeletionMax
	}
	return 0
}

func (m *Params) GetStalePolicyCleanupMax() uint64 {
	if m != nil {
		return m.StalePolicyCleanupMax
	}
	return 0
}

func (m *Params) GetMinQuotaUpdateInterval() uint64 {
	if m != nil {
		return m.MinQuotaUpdateInterval
	}
	return 0
}

func (m *Params) GetMaxLocalVirtualGroupNumPerBucket() uint32 {
	if m != nil {
		return m.MaxLocalVirtualGroupNumPerBucket
	}
	return 0
}

func (m *Params) GetOpMirrorBucketRelayerFee() string {
	if m != nil {
		return m.OpMirrorBucketRelayerFee
	}
	return ""
}

func (m *Params) GetOpMirrorBucketAckRelayerFee() string {
	if m != nil {
		return m.OpMirrorBucketAckRelayerFee
	}
	return ""
}

func (m *Params) GetOpMirrorObjectRelayerFee() string {
	if m != nil {
		return m.OpMirrorObjectRelayerFee
	}
	return ""
}

func (m *Params) GetOpMirrorObjectAckRelayerFee() string {
	if m != nil {
		return m.OpMirrorObjectAckRelayerFee
	}
	return ""
}

func (m *Params) GetOpMirrorGroupRelayerFee() string {
	if m != nil {
		return m.OpMirrorGroupRelayerFee
	}
	return ""
}

func (m *Params) GetOpMirrorGroupAckRelayerFee() string {
	if m != nil {
		return m.OpMirrorGroupAckRelayerFee
	}
	return ""
}

// VersionedParams defines the parameters for the storage module with multi version, each version store with different timestamp.
type VersionedParams struct {
	// max_segment_size is the maximum size of a segment. default: 16M
	MaxSegmentSize uint64 `protobuf:"varint,1,opt,name=max_segment_size,json=maxSegmentSize,proto3" json:"max_segment_size,omitempty"`
	// redundant_data_check_num is the num of data chunks of EC redundancy algorithm
	RedundantDataChunkNum uint32 `protobuf:"varint,2,opt,name=redundant_data_chunk_num,json=redundantDataChunkNum,proto3" json:"redundant_data_chunk_num,omitempty"`
	// redundant_data_check_num is the num of parity chunks of EC redundancy algorithm
	RedundantParityChunkNum uint32 `protobuf:"varint,3,opt,name=redundant_parity_chunk_num,json=redundantParityChunkNum,proto3" json:"redundant_parity_chunk_num,omitempty"`
	// min_charge_size is the minimum charge size of the payload, objects smaller than this size will be charged as this size
	MinChargeSize uint64 `protobuf:"varint,4,opt,name=min_charge_size,json=minChargeSize,proto3" json:"min_charge_size,omitempty"`
}

func (m *VersionedParams) Reset()      { *m = VersionedParams{} }
func (*VersionedParams) ProtoMessage() {}
func (*VersionedParams) Descriptor() ([]byte, []int) {
	return fileDescriptor_127b8b1511d84eca, []int{1}
}
func (m *VersionedParams) XXX_Unmarshal(b []byte) error {
	return m.Unmarshal(b)
}
func (m *VersionedParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	if deterministic {
		return xxx_messageInfo_VersionedParams.Marshal(b, m, deterministic)
	} else {
		b = b[:cap(b)]
		n, err := m.MarshalToSizedBuffer(b)
		if err != nil {
			return nil, err
		}
		return b[:n], nil
	}
}
func (m *VersionedParams) XXX_Merge(src proto.Message) {
	xxx_messageInfo_VersionedParams.Merge(m, src)
}
func (m *VersionedParams) XXX_Size() int {
	return m.Size()
}
func (m *VersionedParams) XXX_DiscardUnknown() {
	xxx_messageInfo_VersionedParams.DiscardUnknown(m)
}

var xxx_messageInfo_VersionedParams proto.InternalMessageInfo

func (m *VersionedParams) GetMaxSegmentSize() uint64 {
	if m != nil {
		return m.MaxSegmentSize
	}
	return 0
}

func (m *VersionedParams) GetRedundantDataChunkNum() uint32 {
	if m != nil {
		return m.RedundantDataChunkNum
	}
	return 0
}

func (m *VersionedParams) GetRedundantParityChunkNum() uint32 {
	if m != nil {
		return m.RedundantParityChunkNum
	}
	return 0
}

func (m *VersionedParams) GetMinChargeSize() uint64 {
	if m != nil {
		return m.MinChargeSize
	}
	return 0
}

func init() {
	proto.RegisterType((*Params)(nil), "greenfield.storage.Params")
	proto.RegisterType((*VersionedParams)(nil), "greenfield.storage.VersionedParams")
}

func init() { proto.RegisterFile("greenfield/storage/params.proto", fileDescriptor_127b8b1511d84eca) }

var fileDescriptor_127b8b1511d84eca = []byte{
	// 828 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x55, 0x4d, 0x6f, 0xdb, 0x36,
	0x18, 0xb6, 0x16, 0x2f, 0x5b, 0x99, 0xa5, 0xc9, 0xb4, 0xa4, 0x51, 0x92, 0xce, 0xd1, 0x3a, 0xa0,
	0xf0, 0x65, 0x36, 0xb0, 0x0f, 0x74, 0x1f, 0x45, 0xb1, 0xc6, 0xed, 0x8a, 0x02, 0x6b, 0xe7, 0xb9,
	0x5b, 0x06, 0xec, 0x42, 0x50, 0x14, 0xa3, 0x70, 0x96, 0x48, 0x8d, 0xa2, 0x5c, 0xbb, 0xbf, 0x62,
	0xc7, 0x1d, 0xf7, 0x73, 0x7a, 0xec, 0x71, 0x97, 0x7d, 0x20, 0xf9, 0x23, 0x03, 0x5f, 0xaa, 0xb6,
	0x28, 0x25, 0xbb, 0x09, 0x7c, 0x3e, 0xf8, 0xf0, 0xd5, 0xfb, 0x92, 0xe8, 0x28, 0x51, 0x8c, 0x89,
	0x53, 0xce, 0xd2, 0x78, 0x58, 0x68, 0xa9, 0x48, 0xc2, 0x86, 0x39, 0x51, 0x24, 0x2b, 0x06, 0xb9,
	0x92, 0x5a, 0xfa, 0xfe, 0x8a, 0x30, 0xa8, 0x08, 0x07, 0x3b, 0x89, 0x4c, 0x24, 0xc0, 0x43, 0xf3,
	0x65, 0x99, 0xb7, 0xfe, 0xda, 0x40, 0xeb, 0x63, 0x90, 0xfa, 0x3f, 0xa0, 0xed, 0x19, 0x53, 0x05,
	0x97, 0x82, 0xc5, 0xd8, 0xda, 0x05, 0x5e, 0xe8, 0xf5, 0x37, 0x3e, 0xfe, 0x70, 0xd0, 0xf6, 0x1b,
	0x9c, 0xbc, 0xe6, 0x5a, 0xf9, 0x71, 0xf7, 0xe5, 0xdf, 0x47, 0x9d, 0xc9, 0xd6, 0xcc, 0x5d, 0xf6,
	0xfb, 0x68, 0x3b, 0x23, 0x73, 0x9c, 0x93, 0x45, 0x2a, 0x49, 0x8c, 0x0b, 0xfe, 0x82, 0x05, 0x6f,
	0x84, 0x5e, 0xbf, 0x3b, 0xb9, 0x9e, 0x91, 0xf9, 0xd8, 0x2e, 0x3f, 0xe3, 0x2f, 0x98, 0xff, 0x35,
	0x7a, 0x3f, 0x2a, 0x28, 0xce, 0xb8, 0x52, 0x52, 0xe1, 0xa8, 0xa4, 0x53, 0xa6, 0xb1, 0x62, 0x29,
	0x59, 0x30, 0x85, 0x4f, 0x19, 0x0b, 0xd6, 0x42, 0xaf, 0x7f, 0x6d, 0xb2, 0x1f, 0x15, 0xf4, 0x09,
	0x70, 0x8e, 0x81, 0x32, 0xb1, 0x8c, 0x6f, 0x18, 0xf3, 0x1f, 0xa1, 0x0f, 0xda, 0x0e, 0x84, 0x4e,
	0x1d, 0x97, 0x2e, 0xb8, 0xdc, 0x6c, 0xb8, 0xdc, 0xa7, 0xd3, 0x9a, 0x91, 0x1b, 0x45, 0x46, 0xbf,
	0x30, 0xea, 0x46, 0x79, 0xb3, 0x11, 0xe5, 0x3b, 0xa0, 0x5c, 0x19, 0xa5, 0x72, 0x68, 0x46, 0x59,
	0x6f, 0x44, 0xb1, 0x2e, 0x6e, 0x94, 0x7b, 0xe8, 0x66, 0xcd, 0x28, 0x51, 0xb2, 0xcc, 0x1d, 0x8f,
	0xb7, 0xc0, 0x23, 0x58, 0x7a, 0x3c, 0x32, 0x8c, 0x9a, 0xfe, 0x21, 0x0a, 0x5b, 0xfa, 0x66, 0x8e,
	0xb7, 0xc1, 0xe3, 0xd0, 0xf5, 0x70, 0x63, 0x7c, 0x86, 0xf6, 0xcc, 0x6f, 0xb4, 0x35, 0x2d, 0x70,
	0xce, 0x14, 0x26, 0x94, 0xca, 0x52, 0xe8, 0xe0, 0x5a, 0xe8, 0xf5, 0x37, 0x27, 0x3b, 0x19, 0x99,
	0xdb, 0x52, 0x16, 0x63, 0xa6, 0xee, 0x5b, 0xcc, 0xbf, 0x87, 0x0e, 0x63, 0x5e, 0x50, 0x29, 0x34,
	0x17, 0x25, 0xc3, 0xb0, 0xc8, 0x45, 0x82, 0x9f, 0x73, 0x11, 0xcb, 0xe7, 0x01, 0x82, 0x46, 0xd8,
	0xaf, 0x51, 0x46, 0x15, 0xe3, 0x27, 0x20, 0xf8, 0x9f, 0xa2, 0x1b, 0x75, 0x7d, 0x55, 0xc7, 0x8c,
	0xcc, 0x83, 0x0d, 0x90, 0xee, 0xd4, 0x50, 0x5b, 0xbd, 0x27, 0x64, 0xde, 0x54, 0x55, 0x8d, 0x60,
	0x54, 0xef, 0xb4, 0x54, 0x36, 0xb3, 0x51, 0xdd, 0x45, 0x07, 0x6e, 0x56, 0x71, 0xca, 0x55, 0x66,
	0x8e, 0xca, 0x65, 0x1c, 0x6c, 0x86, 0x5e, 0x7f, 0x6d, 0x12, 0x38, 0x51, 0x81, 0x30, 0x06, 0xdc,
	0xff, 0x1c, 0xd5, 0x31, 0x1c, 0xb3, 0x94, 0x69, 0x2e, 0x05, 0xec, 0x7a, 0x1d, 0x76, 0xad, 0x67,
	0x7a, 0x50, 0xc1, 0x66, 0xdf, 0x3b, 0x28, 0x28, 0x34, 0x49, 0x19, 0xce, 0x65, 0xca, 0xe9, 0x02,
	0xd3, 0x94, 0x11, 0x51, 0xe6, 0xa0, 0xdc, 0x02, 0xe5, 0x2e, 0xe0, 0x63, 0x80, 0x47, 0x16, 0x35,
	0xc2, 0x2f, 0xd0, 0x7e, 0xc6, 0x05, 0xfe, 0xb5, 0x94, 0x9a, 0xe0, 0x32, 0x8f, 0x89, 0x66, 0x98,
	0x0b, 0xcd, 0xd4, 0x8c, 0xa4, 0xc1, 0xb6, 0xdd, 0x33, 0xe3, 0xe2, 0x7b, 0x83, 0xff, 0x08, 0xf0,
	0xe3, 0x0a, 0xf5, 0xc7, 0xe8, 0xb6, 0xf9, 0x9d, 0xa9, 0xa4, 0x24, 0xc5, 0x33, 0xae, 0x74, 0x49,
	0xd2, 0xaa, 0x39, 0x44, 0x09, 0x67, 0xae, 0xaa, 0x16, 0xbc, 0x0b, 0x7f, 0x37, 0xcc, 0xc8, 0xfc,
	0x5b, 0x43, 0x3e, 0xb1, 0x5c, 0xe8, 0x90, 0xa7, 0xa5, 0x39, 0xbc, 0x2d, 0xa0, 0xe9, 0x53, 0x99,
	0xff, 0xcf, 0xf0, 0xfa, 0xb6, 0x4f, 0x65, 0x7e, 0xc5, 0xec, 0x3e, 0x44, 0x61, 0x4b, 0xdf, 0xec,
	0xd3, 0xf7, 0x6c, 0x9f, 0xba, 0x1e, 0xad, 0x71, 0x59, 0xd9, 0x5c, 0x32, 0xb8, 0x3b, 0x6e, 0x8c,
	0xd6, 0xdc, 0x3a, 0x31, 0xae, 0x18, 0xdb, 0x5d, 0x37, 0xc6, 0x65, 0x53, 0x7b, 0x17, 0x1d, 0xae,
	0x6c, 0xda, 0x43, 0x7b, 0x03, 0x1c, 0xf6, 0x5e, 0x3b, 0x34, 0x67, 0x76, 0x84, 0x8e, 0x9a, 0xea,
	0x66, 0x86, 0x3d, 0x70, 0x38, 0x70, 0x1c, 0x9c, 0x08, 0x5f, 0x76, 0x7f, 0xff, 0xe3, 0xa8, 0x73,
	0xeb, 0x1f, 0x0f, 0x6d, 0x9d, 0x5c, 0x7e, 0x25, 0x17, 0x2c, 0xc9, 0x98, 0xd0, 0xf6, 0x4a, 0xf6,
	0x96, 0x57, 0xf2, 0x33, 0xbb, 0x0c, 0x57, 0xf2, 0x1d, 0x14, 0x28, 0x16, 0x97, 0x22, 0x26, 0x42,
	0xe3, 0x98, 0x68, 0x82, 0xe9, 0x59, 0x29, 0xa6, 0xa6, 0x47, 0xe0, 0x12, 0xdf, 0x9c, 0xec, 0x2e,
	0xf1, 0x07, 0x44, 0x93, 0x91, 0x41, 0x9f, 0x96, 0x99, 0xff, 0x15, 0x3a, 0x58, 0x09, 0x73, 0xa2,
	0xb8, 0x5e, 0xd4, 0xa4, 0x6b, 0x20, 0xdd, 0x5b, 0x32, 0xc6, 0x40, 0x58, 0x8a, 0x6f, 0xa3, 0x2d,
	0xd3, 0xd7, 0xf4, 0x8c, 0xa8, 0x84, 0xd9, 0x78, 0x5d, 0x88, 0xb7, 0x99, 0x71, 0x31, 0x82, 0x55,
	0x93, 0xce, 0x9e, 0xf0, 0xf8, 0xf1, 0xcb, 0xf3, 0x9e, 0xf7, 0xea, 0xbc, 0xe7, 0xfd, 0x7b, 0xde,
	0xf3, 0x7e, 0xbb, 0xe8, 0x75, 0x5e, 0x5d, 0xf4, 0x3a, 0x7f, 0x5e, 0xf4, 0x3a, 0x3f, 0x0f, 0x13,
	0xae, 0xcf, 0xca, 0x68, 0x40, 0x65, 0x36, 0x8c, 0x44, 0xf4, 0x11, 0x3d, 0x23, 0x5c, 0x0c, 0x6b,
	0x6f, 0xe7, 0x7c, 0xf9, 0x7a, 0xea, 0x45, 0xce, 0x8a, 0x68, 0x1d, 0xde, 0xc4, 0x4f, 0xfe, 0x0b,
	0x00, 0x00, 0xff, 0xff, 0xb3, 0x74, 0xe3, 0x82, 0x60, 0x07, 0x00, 0x00,
}

func (m *Params) Marshal() (dAtA []byte, err error) {
	size := m.Size()
	dAtA = make([]byte, size)
	n, err := m.MarshalToSizedBuffer(dAtA[:size])
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Params) MarshalTo(dAtA []byte) (int, error) {
	size := m.Size()
	return m.MarshalToSizedBuffer(dAtA[:size])
}

func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) {
	i := len(dAtA)
	_ = i
	var l int
	_ = l
	if len(m.OpMirrorGroupAckRelayerFee) > 0 {
		i -= len(m.OpMirrorGroupAckRelayerFee)
		copy(dAtA[i:], m.OpMirrorGroupAckRelayerFee)
		i = encodeVarintParams(dAtA, i, uint64(len(m.OpMirrorGroupAckRelayerFee)))
		i--
		dAtA[i] = 0x1
		i--
		dAtA[i] = 0xba
	}
	if len(m.OpMirrorGroupRelayerFee) > 0 {
		i -= len(m.OpMirrorGroupRelayerFee)
		copy(dAtA[i:], m.OpMirrorGroupRelayerFee)
		i = encodeVarintParams(dAtA, i, uint64(len(m.OpMirrorGroupRelayerFee)))
		i--
		dAtA[i] = 0x1
		i--
		dAtA[i] = 0xb2
	}
	if len(m.OpMirrorObjectAckRelayerFee) > 0 {
		i -= len(m.OpMirrorObjectAckRelayerFee)
		copy(dAtA[i:], m.OpMirrorObjectAckRelayerFee)
		i = encodeVarintParams(dAtA, i, uint64(len(m.OpMirrorObjectAckRelayerFee)))
		i--
		dAtA[i] = 0x1
		i--
		dAtA[i] = 0xaa
	}
	if len(m.OpMirrorObjectRelayerFee) > 0 {
		i -= len(m.OpMirrorObjectRelayerFee)
		copy(dAtA[i:], m.OpMirrorObjectRelayerFee)
		i = encodeVarintParams(dAtA, i, uint64(len(m.OpMirrorObjectRelayerFee)))
		i--
		dAtA[i] = 0x1
		i--
		dAtA[i] = 0xa2
	}
	if len(m.OpMirrorBucketAckRelayerFee) > 0 {
		i -= len(m.OpMirrorBucketAckRelayerFee)
		copy(dAtA[i:], m.OpMirrorBucketAckRelayerFee)
		i = encodeVarintParams(dAtA, i, uint64(len(m.OpMirrorBucketAckRelayerFee)))
		i--
		dAtA[i] = 0x1
		i--
		dAtA[i] = 0x9a
	}
	if len(m.OpMirrorBucketRelayerFee) > 0 {
		i -= len(m.OpMirrorBucketRelayerFee)
		copy(dAtA[i:], m.OpMirrorBucketRelayerFee)
		i = encodeVarintParams(dAtA, i, uint64(len(m.OpMirrorBucketRelayerFee)))
		i--
		dAtA[i] = 0x1
		i--
		dAtA[i] = 0x92
	}
	if m.MaxLocalVirtualGroupNumPerBucket != 0 {
		i = encodeVarintParams(dAtA, i, uint64(m.MaxLocalVirtualGroupNumPerBucket))
		i--
		dAtA[i] = 0x1
		i--
		dAtA[i] = 0x88
	}
	if m.MinQuotaUpdateInterval != 0 {
		i = encodeVarintParams(dAtA, i, uint64(m.MinQuotaUpdateInterval))
		i--
		dAtA[i] = 0x1
		i--
		dAtA[i] = 0x80
	}
	if m.StalePolicyCleanupMax != 0 {
		i = encodeVarintParams(dAtA, i, uint64(m.StalePolicyCleanupMax))
		i--
		dAtA[i] = 0x78
	}
	if m.DiscontinueDeletionMax != 0 {
		i = encodeVarintParams(dAtA, i, uint64(m.DiscontinueDeletionMax))
		i--
		dAtA[i] = 0x70
	}
	if m.DiscontinueConfirmPeriod != 0 {
		i = encodeVarintParams(dAtA, i, uint64(m.DiscontinueConfirmPeriod))
		i--
		dAtA[i] = 0x68
	}
	if m.DiscontinueBucketMax != 0 {
		i = encodeVarintParams(dAtA, i, uint64(m.DiscontinueBucketMax))
		i--
		dAtA[i] = 0x60
	}
	if m.DiscontinueObjectMax != 0 {
		i = encodeVarintParams(dAtA, i, uint64(m.DiscontinueObjectMax))
		i--
		dAtA[i] = 0x58
	}
	if m.DiscontinueCountingWindow != 0 {
		i = encodeVarintParams(dAtA, i, uint64(m.DiscontinueCountingWindow))
		i--
		dAtA[i] = 0x50
	}
	if m.MaxBucketsPerAccount != 0 {
		i = encodeVarintParams(dAtA, i, uint64(m.MaxBucketsPerAccount))
		i--
		dAtA[i] = 0x48
	}
	if len(m.BscMirrorGroupAckRelayerFee) > 0 {
		i -= len(m.BscMirrorGroupAckRelayerFee)
		copy(dAtA[i:], m.BscMirrorGroupAckRelayerFee)
		i = encodeVarintParams(dAtA, i, uint64(len(m.BscMirrorGroupAckRelayerFee)))
		i--
		dAtA[i] = 0x42
	}
	if len(m.BscMirrorGroupRelayerFee) > 0 {
		i -= len(m.BscMirrorGroupRelayerFee)
		copy(dAtA[i:], m.BscMirrorGroupRelayerFee)
		i = encodeVarintParams(dAtA, i, uint64(len(m.BscMirrorGroupRelayerFee)))
		i--
		dAtA[i] = 0x3a
	}
	if len(m.BscMirrorObjectAckRelayerFee) > 0 {
		i -= len(m.BscMirrorObjectAckRelayerFee)
		copy(dAtA[i:], m.BscMirrorObjectAckRelayerFee)
		i = encodeVarintParams(dAtA, i, uint64(len(m.BscMirrorObjectAckRelayerFee)))
		i--
		dAtA[i] = 0x32
	}
	if len(m.BscMirrorObjectRelayerFee) > 0 {
		i -= len(m.BscMirrorObjectRelayerFee)
		copy(dAtA[i:], m.BscMirrorObjectRelayerFee)
		i = encodeVarintParams(dAtA, i, uint64(len(m.BscMirrorObjectRelayerFee)))
		i--
		dAtA[i] = 0x2a
	}
	if len(m.BscMirrorBucketAckRelayerFee) > 0 {
		i -= len(m.BscMirrorBucketAckRelayerFee)
		copy(dAtA[i:], m.BscMirrorBucketAckRelayerFee)
		i = encodeVarintParams(dAtA, i, uint64(len(m.BscMirrorBucketAckRelayerFee)))
		i--
		dAtA[i] = 0x22
	}
	if len(m.BscMirrorBucketRelayerFee) > 0 {
		i -= len(m.BscMirrorBucketRelayerFee)
		copy(dAtA[i:], m.BscMirrorBucketRelayerFee)
		i = encodeVarintParams(dAtA, i, uint64(len(m.BscMirrorBucketRelayerFee)))
		i--
		dAtA[i] = 0x1a
	}
	if m.MaxPayloadSize != 0 {
		i = encodeVarintParams(dAtA, i, uint64(m.MaxPayloadSize))
		i--
		dAtA[i] = 0x10
	}
	{
		size, err := m.VersionedParams.MarshalToSizedBuffer(dAtA[:i])
		if err != nil {
			return 0, err
		}
		i -= size
		i = encodeVarintParams(dAtA, i, uint64(size))
	}
	i--
	dAtA[i] = 0xa
	return len(dAtA) - i, nil
}

func (m *VersionedParams) Marshal() (dAtA []byte, err error) {
	size := m.Size()
	dAtA = make([]byte, size)
	n, err := m.MarshalToSizedBuffer(dAtA[:size])
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *VersionedParams) MarshalTo(dAtA []byte) (int, error) {
	size := m.Size()
	return m.MarshalToSizedBuffer(dAtA[:size])
}

func (m *VersionedParams) MarshalToSizedBuffer(dAtA []byte) (int, error) {
	i := len(dAtA)
	_ = i
	var l int
	_ = l
	if m.MinChargeSize != 0 {
		i = encodeVarintParams(dAtA, i, uint64(m.MinChargeSize))
		i--
		dAtA[i] = 0x20
	}
	if m.RedundantParityChunkNum != 0 {
		i = encodeVarintParams(dAtA, i, uint64(m.RedundantParityChunkNum))
		i--
		dAtA[i] = 0x18
	}
	if m.RedundantDataChunkNum != 0 {
		i = encodeVarintParams(dAtA, i, uint64(m.RedundantDataChunkNum))
		i--
		dAtA[i] = 0x10
	}
	if m.MaxSegmentSize != 0 {
		i = encodeVarintParams(dAtA, i, uint64(m.MaxSegmentSize))
		i--
		dAtA[i] = 0x8
	}
	return len(dAtA) - i, nil
}

func encodeVarintParams(dAtA []byte, offset int, v uint64) int {
	offset -= sovParams(v)
	base := offset
	for v >= 1<<7 {
		dAtA[offset] = uint8(v&0x7f | 0x80)
		v >>= 7
		offset++
	}
	dAtA[offset] = uint8(v)
	return base
}
func (m *Params) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	l = m.VersionedParams.Size()
	n += 1 + l + sovParams(uint64(l))
	if m.MaxPayloadSize != 0 {
		n += 1 + sovParams(uint64(m.MaxPayloadSize))
	}
	l = len(m.BscMirrorBucketRelayerFee)
	if l > 0 {
		n += 1 + l + sovParams(uint64(l))
	}
	l = len(m.BscMirrorBucketAckRelayerFee)
	if l > 0 {
		n += 1 + l + sovParams(uint64(l))
	}
	l = len(m.BscMirrorObjectRelayerFee)
	if l > 0 {
		n += 1 + l + sovParams(uint64(l))
	}
	l = len(m.BscMirrorObjectAckRelayerFee)
	if l > 0 {
		n += 1 + l + sovParams(uint64(l))
	}
	l = len(m.BscMirrorGroupRelayerFee)
	if l > 0 {
		n += 1 + l + sovParams(uint64(l))
	}
	l = len(m.BscMirrorGroupAckRelayerFee)
	if l > 0 {
		n += 1 + l + sovParams(uint64(l))
	}
	if m.MaxBucketsPerAccount != 0 {
		n += 1 + sovParams(uint64(m.MaxBucketsPerAccount))
	}
	if m.DiscontinueCountingWindow != 0 {
		n += 1 + sovParams(uint64(m.DiscontinueCountingWindow))
	}
	if m.DiscontinueObjectMax != 0 {
		n += 1 + sovParams(uint64(m.DiscontinueObjectMax))
	}
	if m.DiscontinueBucketMax != 0 {
		n += 1 + sovParams(uint64(m.DiscontinueBucketMax))
	}
	if m.DiscontinueConfirmPeriod != 0 {
		n += 1 + sovParams(uint64(m.DiscontinueConfirmPeriod))
	}
	if m.DiscontinueDeletionMax != 0 {
		n += 1 + sovParams(uint64(m.DiscontinueDeletionMax))
	}
	if m.StalePolicyCleanupMax != 0 {
		n += 1 + sovParams(uint64(m.StalePolicyCleanupMax))
	}
	if m.MinQuotaUpdateInterval != 0 {
		n += 2 + sovParams(uint64(m.MinQuotaUpdateInterval))
	}
	if m.MaxLocalVirtualGroupNumPerBucket != 0 {
		n += 2 + sovParams(uint64(m.MaxLocalVirtualGroupNumPerBucket))
	}
	l = len(m.OpMirrorBucketRelayerFee)
	if l > 0 {
		n += 2 + l + sovParams(uint64(l))
	}
	l = len(m.OpMirrorBucketAckRelayerFee)
	if l > 0 {
		n += 2 + l + sovParams(uint64(l))
	}
	l = len(m.OpMirrorObjectRelayerFee)
	if l > 0 {
		n += 2 + l + sovParams(uint64(l))
	}
	l = len(m.OpMirrorObjectAckRelayerFee)
	if l > 0 {
		n += 2 + l + sovParams(uint64(l))
	}
	l = len(m.OpMirrorGroupRelayerFee)
	if l > 0 {
		n += 2 + l + sovParams(uint64(l))
	}
	l = len(m.OpMirrorGroupAckRelayerFee)
	if l > 0 {
		n += 2 + l + sovParams(uint64(l))
	}
	return n
}

func (m *VersionedParams) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	if m.MaxSegmentSize != 0 {
		n += 1 + sovParams(uint64(m.MaxSegmentSize))
	}
	if m.RedundantDataChunkNum != 0 {
		n += 1 + sovParams(uint64(m.RedundantDataChunkNum))
	}
	if m.RedundantParityChunkNum != 0 {
		n += 1 + sovParams(uint64(m.RedundantParityChunkNum))
	}
	if m.MinChargeSize != 0 {
		n += 1 + sovParams(uint64(m.MinChargeSize))
	}
	return n
}

func sovParams(x uint64) (n int) {
	return (math_bits.Len64(x|1) + 6) / 7
}
func sozParams(x uint64) (n int) {
	return sovParams(uint64((x << 1) ^ uint64((int64(x) >> 63))))
}
func (m *Params) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowParams
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= uint64(b&0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: Params: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: Params: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field VersionedParams", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowParams
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= int(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthParams
			}
			postIndex := iNdEx + msglen
			if postIndex < 0 {
				return ErrInvalidLengthParams
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if err := m.VersionedParams.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 2:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field MaxPayloadSize", wireType)
			}
			m.MaxPayloadSize = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowParams
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.MaxPayloadSize |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		case 3:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field BscMirrorBucketRelayerFee", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowParams
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthParams
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthParams
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.BscMirrorBucketRelayerFee = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 4:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field BscMirrorBucketAckRelayerFee", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowParams
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthParams
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthParams
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.BscMirrorBucketAckRelayerFee = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 5:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field BscMirrorObjectRelayerFee", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowParams
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthParams
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthParams
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.BscMirrorObjectRelayerFee = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 6:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field BscMirrorObjectAckRelayerFee", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowParams
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthParams
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthParams
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.BscMirrorObjectAckRelayerFee = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 7:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field BscMirrorGroupRelayerFee", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowParams
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthParams
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthParams
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.BscMirrorGroupRelayerFee = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 8:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field BscMirrorGroupAckRelayerFee", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowParams
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthParams
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthParams
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.BscMirrorGroupAckRelayerFee = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 9:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field MaxBucketsPerAccount", wireType)
			}
			m.MaxBucketsPerAccount = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowParams
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.MaxBucketsPerAccount |= uint32(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		case 10:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field DiscontinueCountingWindow", wireType)
			}
			m.DiscontinueCountingWindow = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowParams
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.DiscontinueCountingWindow |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		case 11:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field DiscontinueObjectMax", wireType)
			}
			m.DiscontinueObjectMax = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowParams
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.DiscontinueObjectMax |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		case 12:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field DiscontinueBucketMax", wireType)
			}
			m.DiscontinueBucketMax = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowParams
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.DiscontinueBucketMax |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		case 13:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field DiscontinueConfirmPeriod", wireType)
			}
			m.DiscontinueConfirmPeriod = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowParams
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.DiscontinueConfirmPeriod |= int64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		case 14:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field DiscontinueDeletionMax", wireType)
			}
			m.DiscontinueDeletionMax = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowParams
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.DiscontinueDeletionMax |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		case 15:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field StalePolicyCleanupMax", wireType)
			}
			m.StalePolicyCleanupMax = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowParams
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.StalePolicyCleanupMax |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		case 16:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field MinQuotaUpdateInterval", wireType)
			}
			m.MinQuotaUpdateInterval = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowParams
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.MinQuotaUpdateInterval |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		case 17:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field MaxLocalVirtualGroupNumPerBucket", wireType)
			}
			m.MaxLocalVirtualGroupNumPerBucket = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowParams
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.MaxLocalVirtualGroupNumPerBucket |= uint32(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		case 18:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field OpMirrorBucketRelayerFee", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowParams
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthParams
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthParams
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.OpMirrorBucketRelayerFee = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 19:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field OpMirrorBucketAckRelayerFee", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowParams
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthParams
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthParams
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.OpMirrorBucketAckRelayerFee = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 20:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field OpMirrorObjectRelayerFee", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowParams
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthParams
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthParams
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.OpMirrorObjectRelayerFee = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 21:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field OpMirrorObjectAckRelayerFee", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowParams
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthParams
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthParams
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.OpMirrorObjectAckRelayerFee = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 22:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field OpMirrorGroupRelayerFee", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowParams
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthParams
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthParams
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.OpMirrorGroupRelayerFee = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 23:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field OpMirrorGroupAckRelayerFee", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowParams
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthParams
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthParams
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.OpMirrorGroupAckRelayerFee = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipParams(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if (skippy < 0) || (iNdEx+skippy) < 0 {
				return ErrInvalidLengthParams
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *VersionedParams) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowParams
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= uint64(b&0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: VersionedParams: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: VersionedParams: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field MaxSegmentSize", wireType)
			}
			m.MaxSegmentSize = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowParams
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.MaxSegmentSize |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		case 2:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field RedundantDataChunkNum", wireType)
			}
			m.RedundantDataChunkNum = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowParams
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.RedundantDataChunkNum |= uint32(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		case 3:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field RedundantParityChunkNum", wireType)
			}
			m.RedundantParityChunkNum = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowParams
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.RedundantParityChunkNum |= uint32(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		case 4:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field MinChargeSize", wireType)
			}
			m.MinChargeSize = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowParams
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.MinChargeSize |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		default:
			iNdEx = preIndex
			skippy, err := skipParams(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if (skippy < 0) || (iNdEx+skippy) < 0 {
				return ErrInvalidLengthParams
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func skipParams(dAtA []byte) (n int, err error) {
	l := len(dAtA)
	iNdEx := 0
	depth := 0
	for iNdEx < l {
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return 0, ErrIntOverflowParams
			}
			if iNdEx >= l {
				return 0, io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		wireType := int(wire & 0x7)
		switch wireType {
		case 0:
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return 0, ErrIntOverflowParams
				}
				if iNdEx >= l {
					return 0, io.ErrUnexpectedEOF
				}
				iNdEx++
				if dAtA[iNdEx-1] < 0x80 {
					break
				}
			}
		case 1:
			iNdEx += 8
		case 2:
			var length int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return 0, ErrIntOverflowParams
				}
				if iNdEx >= l {
					return 0, io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				length |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if length < 0 {
				return 0, ErrInvalidLengthParams
			}
			iNdEx += length
		case 3:
			depth++
		case 4:
			if depth == 0 {
				return 0, ErrUnexpectedEndOfGroupParams
			}
			depth--
		case 5:
			iNdEx += 4
		default:
			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
		}
		if iNdEx < 0 {
			return 0, ErrInvalidLengthParams
		}
		if depth == 0 {
			return iNdEx, nil
		}
	}
	return 0, io.ErrUnexpectedEOF
}

var (
	ErrInvalidLengthParams        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowParams          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupParams = fmt.Errorf("proto: unexpected end of group")
)
