// Code generated by protoc-gen-gogo. DO NOT EDIT.
// source: provenance/attribute/v1/tx.proto

package types

import (
	context "context"
	fmt "fmt"
	_ "github.com/cosmos/cosmos-proto"
	_ "github.com/cosmos/cosmos-sdk/types/msgservice"
	_ "github.com/cosmos/gogoproto/gogoproto"
	grpc1 "github.com/cosmos/gogoproto/grpc"
	proto "github.com/cosmos/gogoproto/proto"
	github_com_cosmos_gogoproto_types "github.com/cosmos/gogoproto/types"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	_ "google.golang.org/protobuf/types/known/timestamppb"
	io "io"
	math "math"
	math_bits "math/bits"
	time "time"
)

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

// 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

// MsgAddAttributeRequest defines an sdk.Msg type that is used to add a new attribute to an account.
// Attributes may only be set in an account by the account that the attribute name resolves to.
type MsgAddAttributeRequest struct {
	// The attribute name.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The attribute value.
	Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// The attribute value type.
	AttributeType AttributeType `protobuf:"varint,3,opt,name=attribute_type,json=attributeType,proto3,enum=provenance.attribute.v1.AttributeType" json:"attribute_type,omitempty"`
	// The account to add the attribute to.
	Account string `protobuf:"bytes,4,opt,name=account,proto3" json:"account,omitempty"`
	// The address that the name must resolve to.
	Owner string `protobuf:"bytes,5,opt,name=owner,proto3" json:"owner,omitempty"`
	// Time that an attribute will expire.
	ExpirationDate *time.Time `protobuf:"bytes,6,opt,name=expiration_date,json=expirationDate,proto3,stdtime" json:"expiration_date,omitempty"`
	// concrete_type defines the specific type of data for PROTO or JSON attribute.
	// Optional. Max 200 characters.
	ConcreteType string `protobuf:"bytes,7,opt,name=concrete_type,json=concreteType,proto3" json:"concrete_type,omitempty"`
}

func (m *MsgAddAttributeRequest) Reset()         { *m = MsgAddAttributeRequest{} }
func (m *MsgAddAttributeRequest) String() string { return proto.CompactTextString(m) }
func (*MsgAddAttributeRequest) ProtoMessage()    {}
func (*MsgAddAttributeRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_5de344c1a12714be, []int{0}
}
func (m *MsgAddAttributeRequest) XXX_Unmarshal(b []byte) error {
	return m.Unmarshal(b)
}
func (m *MsgAddAttributeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	if deterministic {
		return xxx_messageInfo_MsgAddAttributeRequest.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 *MsgAddAttributeRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MsgAddAttributeRequest.Merge(m, src)
}
func (m *MsgAddAttributeRequest) XXX_Size() int {
	return m.Size()
}
func (m *MsgAddAttributeRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_MsgAddAttributeRequest.DiscardUnknown(m)
}

var xxx_messageInfo_MsgAddAttributeRequest proto.InternalMessageInfo

func (m *MsgAddAttributeRequest) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *MsgAddAttributeRequest) GetValue() []byte {
	if m != nil {
		return m.Value
	}
	return nil
}

func (m *MsgAddAttributeRequest) GetAttributeType() AttributeType {
	if m != nil {
		return m.AttributeType
	}
	return AttributeType_Unspecified
}

func (m *MsgAddAttributeRequest) GetAccount() string {
	if m != nil {
		return m.Account
	}
	return ""
}

func (m *MsgAddAttributeRequest) GetOwner() string {
	if m != nil {
		return m.Owner
	}
	return ""
}

func (m *MsgAddAttributeRequest) GetExpirationDate() *time.Time {
	if m != nil {
		return m.ExpirationDate
	}
	return nil
}

func (m *MsgAddAttributeRequest) GetConcreteType() string {
	if m != nil {
		return m.ConcreteType
	}
	return ""
}

// MsgAddAttributeResponse defines the Msg/AddAttribute response type.
type MsgAddAttributeResponse struct {
}

func (m *MsgAddAttributeResponse) Reset()         { *m = MsgAddAttributeResponse{} }
func (m *MsgAddAttributeResponse) String() string { return proto.CompactTextString(m) }
func (*MsgAddAttributeResponse) ProtoMessage()    {}
func (*MsgAddAttributeResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_5de344c1a12714be, []int{1}
}
func (m *MsgAddAttributeResponse) XXX_Unmarshal(b []byte) error {
	return m.Unmarshal(b)
}
func (m *MsgAddAttributeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	if deterministic {
		return xxx_messageInfo_MsgAddAttributeResponse.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 *MsgAddAttributeResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MsgAddAttributeResponse.Merge(m, src)
}
func (m *MsgAddAttributeResponse) XXX_Size() int {
	return m.Size()
}
func (m *MsgAddAttributeResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_MsgAddAttributeResponse.DiscardUnknown(m)
}

var xxx_messageInfo_MsgAddAttributeResponse proto.InternalMessageInfo

// MsgUpdateAttributeRequest defines an sdk.Msg type that is used to update an existing attribute to an account.
// Attributes may only be set in an account by the account that the attribute name resolves to.
type MsgUpdateAttributeRequest struct {
	// The attribute name.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The original attribute value.
	OriginalValue []byte `protobuf:"bytes,2,opt,name=original_value,json=originalValue,proto3" json:"original_value,omitempty"`
	// The update attribute value.
	UpdateValue []byte `protobuf:"bytes,3,opt,name=update_value,json=updateValue,proto3" json:"update_value,omitempty"`
	// The original attribute value type.
	OriginalAttributeType AttributeType `protobuf:"varint,4,opt,name=original_attribute_type,json=originalAttributeType,proto3,enum=provenance.attribute.v1.AttributeType" json:"original_attribute_type,omitempty"`
	// The update attribute value type.
	UpdateAttributeType AttributeType `protobuf:"varint,5,opt,name=update_attribute_type,json=updateAttributeType,proto3,enum=provenance.attribute.v1.AttributeType" json:"update_attribute_type,omitempty"`
	// The account to add the attribute to.
	Account string `protobuf:"bytes,6,opt,name=account,proto3" json:"account,omitempty"`
	// The address that the name must resolve to.
	Owner string `protobuf:"bytes,7,opt,name=owner,proto3" json:"owner,omitempty"`
	// concrete_type defines the specific type of data for PROTO or JSON attribute.
	// Optional. Max 200 characters.
	ConcreteType string `protobuf:"bytes,8,opt,name=concrete_type,json=concreteType,proto3" json:"concrete_type,omitempty"`
}

func (m *MsgUpdateAttributeRequest) Reset()         { *m = MsgUpdateAttributeRequest{} }
func (m *MsgUpdateAttributeRequest) String() string { return proto.CompactTextString(m) }
func (*MsgUpdateAttributeRequest) ProtoMessage()    {}
func (*MsgUpdateAttributeRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_5de344c1a12714be, []int{2}
}
func (m *MsgUpdateAttributeRequest) XXX_Unmarshal(b []byte) error {
	return m.Unmarshal(b)
}
func (m *MsgUpdateAttributeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	if deterministic {
		return xxx_messageInfo_MsgUpdateAttributeRequest.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 *MsgUpdateAttributeRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MsgUpdateAttributeRequest.Merge(m, src)
}
func (m *MsgUpdateAttributeRequest) XXX_Size() int {
	return m.Size()
}
func (m *MsgUpdateAttributeRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_MsgUpdateAttributeRequest.DiscardUnknown(m)
}

var xxx_messageInfo_MsgUpdateAttributeRequest proto.InternalMessageInfo

func (m *MsgUpdateAttributeRequest) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *MsgUpdateAttributeRequest) GetOriginalValue() []byte {
	if m != nil {
		return m.OriginalValue
	}
	return nil
}

func (m *MsgUpdateAttributeRequest) GetUpdateValue() []byte {
	if m != nil {
		return m.UpdateValue
	}
	return nil
}

func (m *MsgUpdateAttributeRequest) GetOriginalAttributeType() AttributeType {
	if m != nil {
		return m.OriginalAttributeType
	}
	return AttributeType_Unspecified
}

func (m *MsgUpdateAttributeRequest) GetUpdateAttributeType() AttributeType {
	if m != nil {
		return m.UpdateAttributeType
	}
	return AttributeType_Unspecified
}

func (m *MsgUpdateAttributeRequest) GetAccount() string {
	if m != nil {
		return m.Account
	}
	return ""
}

func (m *MsgUpdateAttributeRequest) GetOwner() string {
	if m != nil {
		return m.Owner
	}
	return ""
}

func (m *MsgUpdateAttributeRequest) GetConcreteType() string {
	if m != nil {
		return m.ConcreteType
	}
	return ""
}

// MsgUpdateAttributeResponse defines the Msg/UpdateAttribute response type.
type MsgUpdateAttributeResponse struct {
}

func (m *MsgUpdateAttributeResponse) Reset()         { *m = MsgUpdateAttributeResponse{} }
func (m *MsgUpdateAttributeResponse) String() string { return proto.CompactTextString(m) }
func (*MsgUpdateAttributeResponse) ProtoMessage()    {}
func (*MsgUpdateAttributeResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_5de344c1a12714be, []int{3}
}
func (m *MsgUpdateAttributeResponse) XXX_Unmarshal(b []byte) error {
	return m.Unmarshal(b)
}
func (m *MsgUpdateAttributeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	if deterministic {
		return xxx_messageInfo_MsgUpdateAttributeResponse.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 *MsgUpdateAttributeResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MsgUpdateAttributeResponse.Merge(m, src)
}
func (m *MsgUpdateAttributeResponse) XXX_Size() int {
	return m.Size()
}
func (m *MsgUpdateAttributeResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_MsgUpdateAttributeResponse.DiscardUnknown(m)
}

var xxx_messageInfo_MsgUpdateAttributeResponse proto.InternalMessageInfo

// MsgUpdateAttributeExpirationRequest defines an sdk.Msg type that is used to update an existing attribute's expiration
// date
type MsgUpdateAttributeExpirationRequest struct {
	// The attribute name.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The original attribute value.
	Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// Time that an attribute will expire.
	ExpirationDate *time.Time `protobuf:"bytes,3,opt,name=expiration_date,json=expirationDate,proto3,stdtime" json:"expiration_date,omitempty"`
	// The account to add the attribute to.
	Account string `protobuf:"bytes,4,opt,name=account,proto3" json:"account,omitempty"`
	// The address that the name must resolve to.
	Owner string `protobuf:"bytes,5,opt,name=owner,proto3" json:"owner,omitempty"`
}

func (m *MsgUpdateAttributeExpirationRequest) Reset()         { *m = MsgUpdateAttributeExpirationRequest{} }
func (m *MsgUpdateAttributeExpirationRequest) String() string { return proto.CompactTextString(m) }
func (*MsgUpdateAttributeExpirationRequest) ProtoMessage()    {}
func (*MsgUpdateAttributeExpirationRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_5de344c1a12714be, []int{4}
}
func (m *MsgUpdateAttributeExpirationRequest) XXX_Unmarshal(b []byte) error {
	return m.Unmarshal(b)
}
func (m *MsgUpdateAttributeExpirationRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	if deterministic {
		return xxx_messageInfo_MsgUpdateAttributeExpirationRequest.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 *MsgUpdateAttributeExpirationRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MsgUpdateAttributeExpirationRequest.Merge(m, src)
}
func (m *MsgUpdateAttributeExpirationRequest) XXX_Size() int {
	return m.Size()
}
func (m *MsgUpdateAttributeExpirationRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_MsgUpdateAttributeExpirationRequest.DiscardUnknown(m)
}

var xxx_messageInfo_MsgUpdateAttributeExpirationRequest proto.InternalMessageInfo

func (m *MsgUpdateAttributeExpirationRequest) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *MsgUpdateAttributeExpirationRequest) GetValue() []byte {
	if m != nil {
		return m.Value
	}
	return nil
}

func (m *MsgUpdateAttributeExpirationRequest) GetExpirationDate() *time.Time {
	if m != nil {
		return m.ExpirationDate
	}
	return nil
}

func (m *MsgUpdateAttributeExpirationRequest) GetAccount() string {
	if m != nil {
		return m.Account
	}
	return ""
}

func (m *MsgUpdateAttributeExpirationRequest) GetOwner() string {
	if m != nil {
		return m.Owner
	}
	return ""
}

// MsgUpdateAttributeExpirationResponse defines the Msg/Vote response type.
type MsgUpdateAttributeExpirationResponse struct {
}

func (m *MsgUpdateAttributeExpirationResponse) Reset()         { *m = MsgUpdateAttributeExpirationResponse{} }
func (m *MsgUpdateAttributeExpirationResponse) String() string { return proto.CompactTextString(m) }
func (*MsgUpdateAttributeExpirationResponse) ProtoMessage()    {}
func (*MsgUpdateAttributeExpirationResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_5de344c1a12714be, []int{5}
}
func (m *MsgUpdateAttributeExpirationResponse) XXX_Unmarshal(b []byte) error {
	return m.Unmarshal(b)
}
func (m *MsgUpdateAttributeExpirationResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	if deterministic {
		return xxx_messageInfo_MsgUpdateAttributeExpirationResponse.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 *MsgUpdateAttributeExpirationResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MsgUpdateAttributeExpirationResponse.Merge(m, src)
}
func (m *MsgUpdateAttributeExpirationResponse) XXX_Size() int {
	return m.Size()
}
func (m *MsgUpdateAttributeExpirationResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_MsgUpdateAttributeExpirationResponse.DiscardUnknown(m)
}

var xxx_messageInfo_MsgUpdateAttributeExpirationResponse proto.InternalMessageInfo

// MsgDeleteAttributeRequest defines a message to delete an attribute from an account
// Attributes may only be removed from an account by the account that the attribute name resolves to.
type MsgDeleteAttributeRequest struct {
	// The attribute name.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The account to add the attribute to.
	Account string `protobuf:"bytes,2,opt,name=account,proto3" json:"account,omitempty"`
	// The address that the name must resolve to.
	Owner string `protobuf:"bytes,3,opt,name=owner,proto3" json:"owner,omitempty"`
}

func (m *MsgDeleteAttributeRequest) Reset()         { *m = MsgDeleteAttributeRequest{} }
func (m *MsgDeleteAttributeRequest) String() string { return proto.CompactTextString(m) }
func (*MsgDeleteAttributeRequest) ProtoMessage()    {}
func (*MsgDeleteAttributeRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_5de344c1a12714be, []int{6}
}
func (m *MsgDeleteAttributeRequest) XXX_Unmarshal(b []byte) error {
	return m.Unmarshal(b)
}
func (m *MsgDeleteAttributeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	if deterministic {
		return xxx_messageInfo_MsgDeleteAttributeRequest.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 *MsgDeleteAttributeRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MsgDeleteAttributeRequest.Merge(m, src)
}
func (m *MsgDeleteAttributeRequest) XXX_Size() int {
	return m.Size()
}
func (m *MsgDeleteAttributeRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_MsgDeleteAttributeRequest.DiscardUnknown(m)
}

var xxx_messageInfo_MsgDeleteAttributeRequest proto.InternalMessageInfo

func (m *MsgDeleteAttributeRequest) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *MsgDeleteAttributeRequest) GetAccount() string {
	if m != nil {
		return m.Account
	}
	return ""
}

func (m *MsgDeleteAttributeRequest) GetOwner() string {
	if m != nil {
		return m.Owner
	}
	return ""
}

// MsgDeleteAttributeResponse defines the Msg/DeleteAttribute response type.
type MsgDeleteAttributeResponse struct {
}

func (m *MsgDeleteAttributeResponse) Reset()         { *m = MsgDeleteAttributeResponse{} }
func (m *MsgDeleteAttributeResponse) String() string { return proto.CompactTextString(m) }
func (*MsgDeleteAttributeResponse) ProtoMessage()    {}
func (*MsgDeleteAttributeResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_5de344c1a12714be, []int{7}
}
func (m *MsgDeleteAttributeResponse) XXX_Unmarshal(b []byte) error {
	return m.Unmarshal(b)
}
func (m *MsgDeleteAttributeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	if deterministic {
		return xxx_messageInfo_MsgDeleteAttributeResponse.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 *MsgDeleteAttributeResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MsgDeleteAttributeResponse.Merge(m, src)
}
func (m *MsgDeleteAttributeResponse) XXX_Size() int {
	return m.Size()
}
func (m *MsgDeleteAttributeResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_MsgDeleteAttributeResponse.DiscardUnknown(m)
}

var xxx_messageInfo_MsgDeleteAttributeResponse proto.InternalMessageInfo

// MsgDeleteDistinctAttributeRequest defines a message to delete an attribute with matching name, value, and type from
// an account. Attributes may only be removed from an account by the account that the attribute name resolves to.
type MsgDeleteDistinctAttributeRequest struct {
	// The attribute name.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The attribute value.
	Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// The account to add the attribute to.
	Account string `protobuf:"bytes,3,opt,name=account,proto3" json:"account,omitempty"`
	// The address that the name must resolve to.
	Owner string `protobuf:"bytes,4,opt,name=owner,proto3" json:"owner,omitempty"`
}

func (m *MsgDeleteDistinctAttributeRequest) Reset()         { *m = MsgDeleteDistinctAttributeRequest{} }
func (m *MsgDeleteDistinctAttributeRequest) String() string { return proto.CompactTextString(m) }
func (*MsgDeleteDistinctAttributeRequest) ProtoMessage()    {}
func (*MsgDeleteDistinctAttributeRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_5de344c1a12714be, []int{8}
}
func (m *MsgDeleteDistinctAttributeRequest) XXX_Unmarshal(b []byte) error {
	return m.Unmarshal(b)
}
func (m *MsgDeleteDistinctAttributeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	if deterministic {
		return xxx_messageInfo_MsgDeleteDistinctAttributeRequest.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 *MsgDeleteDistinctAttributeRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MsgDeleteDistinctAttributeRequest.Merge(m, src)
}
func (m *MsgDeleteDistinctAttributeRequest) XXX_Size() int {
	return m.Size()
}
func (m *MsgDeleteDistinctAttributeRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_MsgDeleteDistinctAttributeRequest.DiscardUnknown(m)
}

var xxx_messageInfo_MsgDeleteDistinctAttributeRequest proto.InternalMessageInfo

func (m *MsgDeleteDistinctAttributeRequest) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *MsgDeleteDistinctAttributeRequest) GetValue() []byte {
	if m != nil {
		return m.Value
	}
	return nil
}

func (m *MsgDeleteDistinctAttributeRequest) GetAccount() string {
	if m != nil {
		return m.Account
	}
	return ""
}

func (m *MsgDeleteDistinctAttributeRequest) GetOwner() string {
	if m != nil {
		return m.Owner
	}
	return ""
}

// MsgDeleteDistinctAttributeResponse defines the Msg/DeleteDistinctAttribute response type.
type MsgDeleteDistinctAttributeResponse struct {
}

func (m *MsgDeleteDistinctAttributeResponse) Reset()         { *m = MsgDeleteDistinctAttributeResponse{} }
func (m *MsgDeleteDistinctAttributeResponse) String() string { return proto.CompactTextString(m) }
func (*MsgDeleteDistinctAttributeResponse) ProtoMessage()    {}
func (*MsgDeleteDistinctAttributeResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_5de344c1a12714be, []int{9}
}
func (m *MsgDeleteDistinctAttributeResponse) XXX_Unmarshal(b []byte) error {
	return m.Unmarshal(b)
}
func (m *MsgDeleteDistinctAttributeResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	if deterministic {
		return xxx_messageInfo_MsgDeleteDistinctAttributeResponse.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 *MsgDeleteDistinctAttributeResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MsgDeleteDistinctAttributeResponse.Merge(m, src)
}
func (m *MsgDeleteDistinctAttributeResponse) XXX_Size() int {
	return m.Size()
}
func (m *MsgDeleteDistinctAttributeResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_MsgDeleteDistinctAttributeResponse.DiscardUnknown(m)
}

var xxx_messageInfo_MsgDeleteDistinctAttributeResponse proto.InternalMessageInfo

// MsgSetAccountDataRequest defines a message to set an account's accountdata attribute.
type MsgSetAccountDataRequest struct {
	Value   string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
	Account string `protobuf:"bytes,2,opt,name=account,proto3" json:"account,omitempty"`
}

func (m *MsgSetAccountDataRequest) Reset()         { *m = MsgSetAccountDataRequest{} }
func (m *MsgSetAccountDataRequest) String() string { return proto.CompactTextString(m) }
func (*MsgSetAccountDataRequest) ProtoMessage()    {}
func (*MsgSetAccountDataRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_5de344c1a12714be, []int{10}
}
func (m *MsgSetAccountDataRequest) XXX_Unmarshal(b []byte) error {
	return m.Unmarshal(b)
}
func (m *MsgSetAccountDataRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	if deterministic {
		return xxx_messageInfo_MsgSetAccountDataRequest.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 *MsgSetAccountDataRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MsgSetAccountDataRequest.Merge(m, src)
}
func (m *MsgSetAccountDataRequest) XXX_Size() int {
	return m.Size()
}
func (m *MsgSetAccountDataRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_MsgSetAccountDataRequest.DiscardUnknown(m)
}

var xxx_messageInfo_MsgSetAccountDataRequest proto.InternalMessageInfo

func (m *MsgSetAccountDataRequest) GetValue() string {
	if m != nil {
		return m.Value
	}
	return ""
}

func (m *MsgSetAccountDataRequest) GetAccount() string {
	if m != nil {
		return m.Account
	}
	return ""
}

// MsgSetAccountDataResponse defines the Msg/SetAccountData response type.
type MsgSetAccountDataResponse struct {
}

func (m *MsgSetAccountDataResponse) Reset()         { *m = MsgSetAccountDataResponse{} }
func (m *MsgSetAccountDataResponse) String() string { return proto.CompactTextString(m) }
func (*MsgSetAccountDataResponse) ProtoMessage()    {}
func (*MsgSetAccountDataResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_5de344c1a12714be, []int{11}
}
func (m *MsgSetAccountDataResponse) XXX_Unmarshal(b []byte) error {
	return m.Unmarshal(b)
}
func (m *MsgSetAccountDataResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	if deterministic {
		return xxx_messageInfo_MsgSetAccountDataResponse.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 *MsgSetAccountDataResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MsgSetAccountDataResponse.Merge(m, src)
}
func (m *MsgSetAccountDataResponse) XXX_Size() int {
	return m.Size()
}
func (m *MsgSetAccountDataResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_MsgSetAccountDataResponse.DiscardUnknown(m)
}

var xxx_messageInfo_MsgSetAccountDataResponse proto.InternalMessageInfo

// MsgUpdateParamsRequest is a request message for the UpdateParams endpoint.
type MsgUpdateParamsRequest struct {
	// authority should be the governance module account address.
	Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"`
	// params are the new param values to set.
	Params Params `protobuf:"bytes,2,opt,name=params,proto3" json:"params"`
}

func (m *MsgUpdateParamsRequest) Reset()         { *m = MsgUpdateParamsRequest{} }
func (m *MsgUpdateParamsRequest) String() string { return proto.CompactTextString(m) }
func (*MsgUpdateParamsRequest) ProtoMessage()    {}
func (*MsgUpdateParamsRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_5de344c1a12714be, []int{12}
}
func (m *MsgUpdateParamsRequest) XXX_Unmarshal(b []byte) error {
	return m.Unmarshal(b)
}
func (m *MsgUpdateParamsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	if deterministic {
		return xxx_messageInfo_MsgUpdateParamsRequest.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 *MsgUpdateParamsRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MsgUpdateParamsRequest.Merge(m, src)
}
func (m *MsgUpdateParamsRequest) XXX_Size() int {
	return m.Size()
}
func (m *MsgUpdateParamsRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_MsgUpdateParamsRequest.DiscardUnknown(m)
}

var xxx_messageInfo_MsgUpdateParamsRequest proto.InternalMessageInfo

func (m *MsgUpdateParamsRequest) GetAuthority() string {
	if m != nil {
		return m.Authority
	}
	return ""
}

func (m *MsgUpdateParamsRequest) GetParams() Params {
	if m != nil {
		return m.Params
	}
	return Params{}
}

// MsgUpdateParamsResponse is a response message for the UpdateParams endpoint.
type MsgUpdateParamsResponse struct {
}

func (m *MsgUpdateParamsResponse) Reset()         { *m = MsgUpdateParamsResponse{} }
func (m *MsgUpdateParamsResponse) String() string { return proto.CompactTextString(m) }
func (*MsgUpdateParamsResponse) ProtoMessage()    {}
func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_5de344c1a12714be, []int{13}
}
func (m *MsgUpdateParamsResponse) XXX_Unmarshal(b []byte) error {
	return m.Unmarshal(b)
}
func (m *MsgUpdateParamsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	if deterministic {
		return xxx_messageInfo_MsgUpdateParamsResponse.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 *MsgUpdateParamsResponse) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MsgUpdateParamsResponse.Merge(m, src)
}
func (m *MsgUpdateParamsResponse) XXX_Size() int {
	return m.Size()
}
func (m *MsgUpdateParamsResponse) XXX_DiscardUnknown() {
	xxx_messageInfo_MsgUpdateParamsResponse.DiscardUnknown(m)
}

var xxx_messageInfo_MsgUpdateParamsResponse proto.InternalMessageInfo

func init() {
	proto.RegisterType((*MsgAddAttributeRequest)(nil), "provenance.attribute.v1.MsgAddAttributeRequest")
	proto.RegisterType((*MsgAddAttributeResponse)(nil), "provenance.attribute.v1.MsgAddAttributeResponse")
	proto.RegisterType((*MsgUpdateAttributeRequest)(nil), "provenance.attribute.v1.MsgUpdateAttributeRequest")
	proto.RegisterType((*MsgUpdateAttributeResponse)(nil), "provenance.attribute.v1.MsgUpdateAttributeResponse")
	proto.RegisterType((*MsgUpdateAttributeExpirationRequest)(nil), "provenance.attribute.v1.MsgUpdateAttributeExpirationRequest")
	proto.RegisterType((*MsgUpdateAttributeExpirationResponse)(nil), "provenance.attribute.v1.MsgUpdateAttributeExpirationResponse")
	proto.RegisterType((*MsgDeleteAttributeRequest)(nil), "provenance.attribute.v1.MsgDeleteAttributeRequest")
	proto.RegisterType((*MsgDeleteAttributeResponse)(nil), "provenance.attribute.v1.MsgDeleteAttributeResponse")
	proto.RegisterType((*MsgDeleteDistinctAttributeRequest)(nil), "provenance.attribute.v1.MsgDeleteDistinctAttributeRequest")
	proto.RegisterType((*MsgDeleteDistinctAttributeResponse)(nil), "provenance.attribute.v1.MsgDeleteDistinctAttributeResponse")
	proto.RegisterType((*MsgSetAccountDataRequest)(nil), "provenance.attribute.v1.MsgSetAccountDataRequest")
	proto.RegisterType((*MsgSetAccountDataResponse)(nil), "provenance.attribute.v1.MsgSetAccountDataResponse")
	proto.RegisterType((*MsgUpdateParamsRequest)(nil), "provenance.attribute.v1.MsgUpdateParamsRequest")
	proto.RegisterType((*MsgUpdateParamsResponse)(nil), "provenance.attribute.v1.MsgUpdateParamsResponse")
}

func init() { proto.RegisterFile("provenance/attribute/v1/tx.proto", fileDescriptor_5de344c1a12714be) }

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

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4

// MsgClient is the client API for Msg service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type MsgClient interface {
	// AddAttribute defines a method to verify a particular invariance.
	AddAttribute(ctx context.Context, in *MsgAddAttributeRequest, opts ...grpc.CallOption) (*MsgAddAttributeResponse, error)
	// UpdateAttribute defines a method to verify a particular invariance.
	UpdateAttribute(ctx context.Context, in *MsgUpdateAttributeRequest, opts ...grpc.CallOption) (*MsgUpdateAttributeResponse, error)
	// UpdateAttributeExpiration defines a method to verify a particular invariance.
	UpdateAttributeExpiration(ctx context.Context, in *MsgUpdateAttributeExpirationRequest, opts ...grpc.CallOption) (*MsgUpdateAttributeExpirationResponse, error)
	// DeleteAttribute defines a method to verify a particular invariance.
	DeleteAttribute(ctx context.Context, in *MsgDeleteAttributeRequest, opts ...grpc.CallOption) (*MsgDeleteAttributeResponse, error)
	// DeleteDistinctAttribute defines a method to verify a particular invariance.
	DeleteDistinctAttribute(ctx context.Context, in *MsgDeleteDistinctAttributeRequest, opts ...grpc.CallOption) (*MsgDeleteDistinctAttributeResponse, error)
	// SetAccountData defines a method for setting/updating an account's accountdata attribute.
	SetAccountData(ctx context.Context, in *MsgSetAccountDataRequest, opts ...grpc.CallOption) (*MsgSetAccountDataResponse, error)
	// UpdateParams is a governance proposal endpoint for updating the attribute module's params.
	UpdateParams(ctx context.Context, in *MsgUpdateParamsRequest, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error)
}

type msgClient struct {
	cc grpc1.ClientConn
}

func NewMsgClient(cc grpc1.ClientConn) MsgClient {
	return &msgClient{cc}
}

func (c *msgClient) AddAttribute(ctx context.Context, in *MsgAddAttributeRequest, opts ...grpc.CallOption) (*MsgAddAttributeResponse, error) {
	out := new(MsgAddAttributeResponse)
	err := c.cc.Invoke(ctx, "/provenance.attribute.v1.Msg/AddAttribute", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *msgClient) UpdateAttribute(ctx context.Context, in *MsgUpdateAttributeRequest, opts ...grpc.CallOption) (*MsgUpdateAttributeResponse, error) {
	out := new(MsgUpdateAttributeResponse)
	err := c.cc.Invoke(ctx, "/provenance.attribute.v1.Msg/UpdateAttribute", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *msgClient) UpdateAttributeExpiration(ctx context.Context, in *MsgUpdateAttributeExpirationRequest, opts ...grpc.CallOption) (*MsgUpdateAttributeExpirationResponse, error) {
	out := new(MsgUpdateAttributeExpirationResponse)
	err := c.cc.Invoke(ctx, "/provenance.attribute.v1.Msg/UpdateAttributeExpiration", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *msgClient) DeleteAttribute(ctx context.Context, in *MsgDeleteAttributeRequest, opts ...grpc.CallOption) (*MsgDeleteAttributeResponse, error) {
	out := new(MsgDeleteAttributeResponse)
	err := c.cc.Invoke(ctx, "/provenance.attribute.v1.Msg/DeleteAttribute", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *msgClient) DeleteDistinctAttribute(ctx context.Context, in *MsgDeleteDistinctAttributeRequest, opts ...grpc.CallOption) (*MsgDeleteDistinctAttributeResponse, error) {
	out := new(MsgDeleteDistinctAttributeResponse)
	err := c.cc.Invoke(ctx, "/provenance.attribute.v1.Msg/DeleteDistinctAttribute", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *msgClient) SetAccountData(ctx context.Context, in *MsgSetAccountDataRequest, opts ...grpc.CallOption) (*MsgSetAccountDataResponse, error) {
	out := new(MsgSetAccountDataResponse)
	err := c.cc.Invoke(ctx, "/provenance.attribute.v1.Msg/SetAccountData", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParamsRequest, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) {
	out := new(MsgUpdateParamsResponse)
	err := c.cc.Invoke(ctx, "/provenance.attribute.v1.Msg/UpdateParams", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// MsgServer is the server API for Msg service.
type MsgServer interface {
	// AddAttribute defines a method to verify a particular invariance.
	AddAttribute(context.Context, *MsgAddAttributeRequest) (*MsgAddAttributeResponse, error)
	// UpdateAttribute defines a method to verify a particular invariance.
	UpdateAttribute(context.Context, *MsgUpdateAttributeRequest) (*MsgUpdateAttributeResponse, error)
	// UpdateAttributeExpiration defines a method to verify a particular invariance.
	UpdateAttributeExpiration(context.Context, *MsgUpdateAttributeExpirationRequest) (*MsgUpdateAttributeExpirationResponse, error)
	// DeleteAttribute defines a method to verify a particular invariance.
	DeleteAttribute(context.Context, *MsgDeleteAttributeRequest) (*MsgDeleteAttributeResponse, error)
	// DeleteDistinctAttribute defines a method to verify a particular invariance.
	DeleteDistinctAttribute(context.Context, *MsgDeleteDistinctAttributeRequest) (*MsgDeleteDistinctAttributeResponse, error)
	// SetAccountData defines a method for setting/updating an account's accountdata attribute.
	SetAccountData(context.Context, *MsgSetAccountDataRequest) (*MsgSetAccountDataResponse, error)
	// UpdateParams is a governance proposal endpoint for updating the attribute module's params.
	UpdateParams(context.Context, *MsgUpdateParamsRequest) (*MsgUpdateParamsResponse, error)
}

// UnimplementedMsgServer can be embedded to have forward compatible implementations.
type UnimplementedMsgServer struct {
}

func (*UnimplementedMsgServer) AddAttribute(ctx context.Context, req *MsgAddAttributeRequest) (*MsgAddAttributeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method AddAttribute not implemented")
}
func (*UnimplementedMsgServer) UpdateAttribute(ctx context.Context, req *MsgUpdateAttributeRequest) (*MsgUpdateAttributeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateAttribute not implemented")
}
func (*UnimplementedMsgServer) UpdateAttributeExpiration(ctx context.Context, req *MsgUpdateAttributeExpirationRequest) (*MsgUpdateAttributeExpirationResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateAttributeExpiration not implemented")
}
func (*UnimplementedMsgServer) DeleteAttribute(ctx context.Context, req *MsgDeleteAttributeRequest) (*MsgDeleteAttributeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteAttribute not implemented")
}
func (*UnimplementedMsgServer) DeleteDistinctAttribute(ctx context.Context, req *MsgDeleteDistinctAttributeRequest) (*MsgDeleteDistinctAttributeResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteDistinctAttribute not implemented")
}
func (*UnimplementedMsgServer) SetAccountData(ctx context.Context, req *MsgSetAccountDataRequest) (*MsgSetAccountDataResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SetAccountData not implemented")
}
func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParamsRequest) (*MsgUpdateParamsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented")
}

func RegisterMsgServer(s grpc1.Server, srv MsgServer) {
	s.RegisterService(&_Msg_serviceDesc, srv)
}

func _Msg_AddAttribute_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(MsgAddAttributeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MsgServer).AddAttribute(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/provenance.attribute.v1.Msg/AddAttribute",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MsgServer).AddAttribute(ctx, req.(*MsgAddAttributeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Msg_UpdateAttribute_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(MsgUpdateAttributeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MsgServer).UpdateAttribute(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/provenance.attribute.v1.Msg/UpdateAttribute",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MsgServer).UpdateAttribute(ctx, req.(*MsgUpdateAttributeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Msg_UpdateAttributeExpiration_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(MsgUpdateAttributeExpirationRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MsgServer).UpdateAttributeExpiration(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/provenance.attribute.v1.Msg/UpdateAttributeExpiration",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MsgServer).UpdateAttributeExpiration(ctx, req.(*MsgUpdateAttributeExpirationRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Msg_DeleteAttribute_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(MsgDeleteAttributeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MsgServer).DeleteAttribute(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/provenance.attribute.v1.Msg/DeleteAttribute",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MsgServer).DeleteAttribute(ctx, req.(*MsgDeleteAttributeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Msg_DeleteDistinctAttribute_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(MsgDeleteDistinctAttributeRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MsgServer).DeleteDistinctAttribute(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/provenance.attribute.v1.Msg/DeleteDistinctAttribute",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MsgServer).DeleteDistinctAttribute(ctx, req.(*MsgDeleteDistinctAttributeRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Msg_SetAccountData_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(MsgSetAccountDataRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MsgServer).SetAccountData(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/provenance.attribute.v1.Msg/SetAccountData",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MsgServer).SetAccountData(ctx, req.(*MsgSetAccountDataRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(MsgUpdateParamsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MsgServer).UpdateParams(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/provenance.attribute.v1.Msg/UpdateParams",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MsgServer).UpdateParams(ctx, req.(*MsgUpdateParamsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var Msg_serviceDesc = _Msg_serviceDesc
var _Msg_serviceDesc = grpc.ServiceDesc{
	ServiceName: "provenance.attribute.v1.Msg",
	HandlerType: (*MsgServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "AddAttribute",
			Handler:    _Msg_AddAttribute_Handler,
		},
		{
			MethodName: "UpdateAttribute",
			Handler:    _Msg_UpdateAttribute_Handler,
		},
		{
			MethodName: "UpdateAttributeExpiration",
			Handler:    _Msg_UpdateAttributeExpiration_Handler,
		},
		{
			MethodName: "DeleteAttribute",
			Handler:    _Msg_DeleteAttribute_Handler,
		},
		{
			MethodName: "DeleteDistinctAttribute",
			Handler:    _Msg_DeleteDistinctAttribute_Handler,
		},
		{
			MethodName: "SetAccountData",
			Handler:    _Msg_SetAccountData_Handler,
		},
		{
			MethodName: "UpdateParams",
			Handler:    _Msg_UpdateParams_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "provenance/attribute/v1/tx.proto",
}

func (m *MsgAddAttributeRequest) 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 *MsgAddAttributeRequest) MarshalTo(dAtA []byte) (int, error) {
	size := m.Size()
	return m.MarshalToSizedBuffer(dAtA[:size])
}

func (m *MsgAddAttributeRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
	i := len(dAtA)
	_ = i
	var l int
	_ = l
	if len(m.ConcreteType) > 0 {
		i -= len(m.ConcreteType)
		copy(dAtA[i:], m.ConcreteType)
		i = encodeVarintTx(dAtA, i, uint64(len(m.ConcreteType)))
		i--
		dAtA[i] = 0x3a
	}
	if m.ExpirationDate != nil {
		n1, err1 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(*m.ExpirationDate, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(*m.ExpirationDate):])
		if err1 != nil {
			return 0, err1
		}
		i -= n1
		i = encodeVarintTx(dAtA, i, uint64(n1))
		i--
		dAtA[i] = 0x32
	}
	if len(m.Owner) > 0 {
		i -= len(m.Owner)
		copy(dAtA[i:], m.Owner)
		i = encodeVarintTx(dAtA, i, uint64(len(m.Owner)))
		i--
		dAtA[i] = 0x2a
	}
	if len(m.Account) > 0 {
		i -= len(m.Account)
		copy(dAtA[i:], m.Account)
		i = encodeVarintTx(dAtA, i, uint64(len(m.Account)))
		i--
		dAtA[i] = 0x22
	}
	if m.AttributeType != 0 {
		i = encodeVarintTx(dAtA, i, uint64(m.AttributeType))
		i--
		dAtA[i] = 0x18
	}
	if len(m.Value) > 0 {
		i -= len(m.Value)
		copy(dAtA[i:], m.Value)
		i = encodeVarintTx(dAtA, i, uint64(len(m.Value)))
		i--
		dAtA[i] = 0x12
	}
	if len(m.Name) > 0 {
		i -= len(m.Name)
		copy(dAtA[i:], m.Name)
		i = encodeVarintTx(dAtA, i, uint64(len(m.Name)))
		i--
		dAtA[i] = 0xa
	}
	return len(dAtA) - i, nil
}

func (m *MsgAddAttributeResponse) 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 *MsgAddAttributeResponse) MarshalTo(dAtA []byte) (int, error) {
	size := m.Size()
	return m.MarshalToSizedBuffer(dAtA[:size])
}

func (m *MsgAddAttributeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
	i := len(dAtA)
	_ = i
	var l int
	_ = l
	return len(dAtA) - i, nil
}

func (m *MsgUpdateAttributeRequest) 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 *MsgUpdateAttributeRequest) MarshalTo(dAtA []byte) (int, error) {
	size := m.Size()
	return m.MarshalToSizedBuffer(dAtA[:size])
}

func (m *MsgUpdateAttributeRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
	i := len(dAtA)
	_ = i
	var l int
	_ = l
	if len(m.ConcreteType) > 0 {
		i -= len(m.ConcreteType)
		copy(dAtA[i:], m.ConcreteType)
		i = encodeVarintTx(dAtA, i, uint64(len(m.ConcreteType)))
		i--
		dAtA[i] = 0x42
	}
	if len(m.Owner) > 0 {
		i -= len(m.Owner)
		copy(dAtA[i:], m.Owner)
		i = encodeVarintTx(dAtA, i, uint64(len(m.Owner)))
		i--
		dAtA[i] = 0x3a
	}
	if len(m.Account) > 0 {
		i -= len(m.Account)
		copy(dAtA[i:], m.Account)
		i = encodeVarintTx(dAtA, i, uint64(len(m.Account)))
		i--
		dAtA[i] = 0x32
	}
	if m.UpdateAttributeType != 0 {
		i = encodeVarintTx(dAtA, i, uint64(m.UpdateAttributeType))
		i--
		dAtA[i] = 0x28
	}
	if m.OriginalAttributeType != 0 {
		i = encodeVarintTx(dAtA, i, uint64(m.OriginalAttributeType))
		i--
		dAtA[i] = 0x20
	}
	if len(m.UpdateValue) > 0 {
		i -= len(m.UpdateValue)
		copy(dAtA[i:], m.UpdateValue)
		i = encodeVarintTx(dAtA, i, uint64(len(m.UpdateValue)))
		i--
		dAtA[i] = 0x1a
	}
	if len(m.OriginalValue) > 0 {
		i -= len(m.OriginalValue)
		copy(dAtA[i:], m.OriginalValue)
		i = encodeVarintTx(dAtA, i, uint64(len(m.OriginalValue)))
		i--
		dAtA[i] = 0x12
	}
	if len(m.Name) > 0 {
		i -= len(m.Name)
		copy(dAtA[i:], m.Name)
		i = encodeVarintTx(dAtA, i, uint64(len(m.Name)))
		i--
		dAtA[i] = 0xa
	}
	return len(dAtA) - i, nil
}

func (m *MsgUpdateAttributeResponse) 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 *MsgUpdateAttributeResponse) MarshalTo(dAtA []byte) (int, error) {
	size := m.Size()
	return m.MarshalToSizedBuffer(dAtA[:size])
}

func (m *MsgUpdateAttributeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
	i := len(dAtA)
	_ = i
	var l int
	_ = l
	return len(dAtA) - i, nil
}

func (m *MsgUpdateAttributeExpirationRequest) 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 *MsgUpdateAttributeExpirationRequest) MarshalTo(dAtA []byte) (int, error) {
	size := m.Size()
	return m.MarshalToSizedBuffer(dAtA[:size])
}

func (m *MsgUpdateAttributeExpirationRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
	i := len(dAtA)
	_ = i
	var l int
	_ = l
	if len(m.Owner) > 0 {
		i -= len(m.Owner)
		copy(dAtA[i:], m.Owner)
		i = encodeVarintTx(dAtA, i, uint64(len(m.Owner)))
		i--
		dAtA[i] = 0x2a
	}
	if len(m.Account) > 0 {
		i -= len(m.Account)
		copy(dAtA[i:], m.Account)
		i = encodeVarintTx(dAtA, i, uint64(len(m.Account)))
		i--
		dAtA[i] = 0x22
	}
	if m.ExpirationDate != nil {
		n2, err2 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(*m.ExpirationDate, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(*m.ExpirationDate):])
		if err2 != nil {
			return 0, err2
		}
		i -= n2
		i = encodeVarintTx(dAtA, i, uint64(n2))
		i--
		dAtA[i] = 0x1a
	}
	if len(m.Value) > 0 {
		i -= len(m.Value)
		copy(dAtA[i:], m.Value)
		i = encodeVarintTx(dAtA, i, uint64(len(m.Value)))
		i--
		dAtA[i] = 0x12
	}
	if len(m.Name) > 0 {
		i -= len(m.Name)
		copy(dAtA[i:], m.Name)
		i = encodeVarintTx(dAtA, i, uint64(len(m.Name)))
		i--
		dAtA[i] = 0xa
	}
	return len(dAtA) - i, nil
}

func (m *MsgUpdateAttributeExpirationResponse) 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 *MsgUpdateAttributeExpirationResponse) MarshalTo(dAtA []byte) (int, error) {
	size := m.Size()
	return m.MarshalToSizedBuffer(dAtA[:size])
}

func (m *MsgUpdateAttributeExpirationResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
	i := len(dAtA)
	_ = i
	var l int
	_ = l
	return len(dAtA) - i, nil
}

func (m *MsgDeleteAttributeRequest) 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 *MsgDeleteAttributeRequest) MarshalTo(dAtA []byte) (int, error) {
	size := m.Size()
	return m.MarshalToSizedBuffer(dAtA[:size])
}

func (m *MsgDeleteAttributeRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
	i := len(dAtA)
	_ = i
	var l int
	_ = l
	if len(m.Owner) > 0 {
		i -= len(m.Owner)
		copy(dAtA[i:], m.Owner)
		i = encodeVarintTx(dAtA, i, uint64(len(m.Owner)))
		i--
		dAtA[i] = 0x1a
	}
	if len(m.Account) > 0 {
		i -= len(m.Account)
		copy(dAtA[i:], m.Account)
		i = encodeVarintTx(dAtA, i, uint64(len(m.Account)))
		i--
		dAtA[i] = 0x12
	}
	if len(m.Name) > 0 {
		i -= len(m.Name)
		copy(dAtA[i:], m.Name)
		i = encodeVarintTx(dAtA, i, uint64(len(m.Name)))
		i--
		dAtA[i] = 0xa
	}
	return len(dAtA) - i, nil
}

func (m *MsgDeleteAttributeResponse) 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 *MsgDeleteAttributeResponse) MarshalTo(dAtA []byte) (int, error) {
	size := m.Size()
	return m.MarshalToSizedBuffer(dAtA[:size])
}

func (m *MsgDeleteAttributeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
	i := len(dAtA)
	_ = i
	var l int
	_ = l
	return len(dAtA) - i, nil
}

func (m *MsgDeleteDistinctAttributeRequest) 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 *MsgDeleteDistinctAttributeRequest) MarshalTo(dAtA []byte) (int, error) {
	size := m.Size()
	return m.MarshalToSizedBuffer(dAtA[:size])
}

func (m *MsgDeleteDistinctAttributeRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
	i := len(dAtA)
	_ = i
	var l int
	_ = l
	if len(m.Owner) > 0 {
		i -= len(m.Owner)
		copy(dAtA[i:], m.Owner)
		i = encodeVarintTx(dAtA, i, uint64(len(m.Owner)))
		i--
		dAtA[i] = 0x22
	}
	if len(m.Account) > 0 {
		i -= len(m.Account)
		copy(dAtA[i:], m.Account)
		i = encodeVarintTx(dAtA, i, uint64(len(m.Account)))
		i--
		dAtA[i] = 0x1a
	}
	if len(m.Value) > 0 {
		i -= len(m.Value)
		copy(dAtA[i:], m.Value)
		i = encodeVarintTx(dAtA, i, uint64(len(m.Value)))
		i--
		dAtA[i] = 0x12
	}
	if len(m.Name) > 0 {
		i -= len(m.Name)
		copy(dAtA[i:], m.Name)
		i = encodeVarintTx(dAtA, i, uint64(len(m.Name)))
		i--
		dAtA[i] = 0xa
	}
	return len(dAtA) - i, nil
}

func (m *MsgDeleteDistinctAttributeResponse) 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 *MsgDeleteDistinctAttributeResponse) MarshalTo(dAtA []byte) (int, error) {
	size := m.Size()
	return m.MarshalToSizedBuffer(dAtA[:size])
}

func (m *MsgDeleteDistinctAttributeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
	i := len(dAtA)
	_ = i
	var l int
	_ = l
	return len(dAtA) - i, nil
}

func (m *MsgSetAccountDataRequest) 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 *MsgSetAccountDataRequest) MarshalTo(dAtA []byte) (int, error) {
	size := m.Size()
	return m.MarshalToSizedBuffer(dAtA[:size])
}

func (m *MsgSetAccountDataRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
	i := len(dAtA)
	_ = i
	var l int
	_ = l
	if len(m.Account) > 0 {
		i -= len(m.Account)
		copy(dAtA[i:], m.Account)
		i = encodeVarintTx(dAtA, i, uint64(len(m.Account)))
		i--
		dAtA[i] = 0x12
	}
	if len(m.Value) > 0 {
		i -= len(m.Value)
		copy(dAtA[i:], m.Value)
		i = encodeVarintTx(dAtA, i, uint64(len(m.Value)))
		i--
		dAtA[i] = 0xa
	}
	return len(dAtA) - i, nil
}

func (m *MsgSetAccountDataResponse) 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 *MsgSetAccountDataResponse) MarshalTo(dAtA []byte) (int, error) {
	size := m.Size()
	return m.MarshalToSizedBuffer(dAtA[:size])
}

func (m *MsgSetAccountDataResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
	i := len(dAtA)
	_ = i
	var l int
	_ = l
	return len(dAtA) - i, nil
}

func (m *MsgUpdateParamsRequest) 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 *MsgUpdateParamsRequest) MarshalTo(dAtA []byte) (int, error) {
	size := m.Size()
	return m.MarshalToSizedBuffer(dAtA[:size])
}

func (m *MsgUpdateParamsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
	i := len(dAtA)
	_ = i
	var l int
	_ = l
	{
		size, err := m.Params.MarshalToSizedBuffer(dAtA[:i])
		if err != nil {
			return 0, err
		}
		i -= size
		i = encodeVarintTx(dAtA, i, uint64(size))
	}
	i--
	dAtA[i] = 0x12
	if len(m.Authority) > 0 {
		i -= len(m.Authority)
		copy(dAtA[i:], m.Authority)
		i = encodeVarintTx(dAtA, i, uint64(len(m.Authority)))
		i--
		dAtA[i] = 0xa
	}
	return len(dAtA) - i, nil
}

func (m *MsgUpdateParamsResponse) 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 *MsgUpdateParamsResponse) MarshalTo(dAtA []byte) (int, error) {
	size := m.Size()
	return m.MarshalToSizedBuffer(dAtA[:size])
}

func (m *MsgUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) {
	i := len(dAtA)
	_ = i
	var l int
	_ = l
	return len(dAtA) - i, nil
}

func encodeVarintTx(dAtA []byte, offset int, v uint64) int {
	offset -= sovTx(v)
	base := offset
	for v >= 1<<7 {
		dAtA[offset] = uint8(v&0x7f | 0x80)
		v >>= 7
		offset++
	}
	dAtA[offset] = uint8(v)
	return base
}
func (m *MsgAddAttributeRequest) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	l = len(m.Name)
	if l > 0 {
		n += 1 + l + sovTx(uint64(l))
	}
	l = len(m.Value)
	if l > 0 {
		n += 1 + l + sovTx(uint64(l))
	}
	if m.AttributeType != 0 {
		n += 1 + sovTx(uint64(m.AttributeType))
	}
	l = len(m.Account)
	if l > 0 {
		n += 1 + l + sovTx(uint64(l))
	}
	l = len(m.Owner)
	if l > 0 {
		n += 1 + l + sovTx(uint64(l))
	}
	if m.ExpirationDate != nil {
		l = github_com_cosmos_gogoproto_types.SizeOfStdTime(*m.ExpirationDate)
		n += 1 + l + sovTx(uint64(l))
	}
	l = len(m.ConcreteType)
	if l > 0 {
		n += 1 + l + sovTx(uint64(l))
	}
	return n
}

func (m *MsgAddAttributeResponse) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	return n
}

func (m *MsgUpdateAttributeRequest) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	l = len(m.Name)
	if l > 0 {
		n += 1 + l + sovTx(uint64(l))
	}
	l = len(m.OriginalValue)
	if l > 0 {
		n += 1 + l + sovTx(uint64(l))
	}
	l = len(m.UpdateValue)
	if l > 0 {
		n += 1 + l + sovTx(uint64(l))
	}
	if m.OriginalAttributeType != 0 {
		n += 1 + sovTx(uint64(m.OriginalAttributeType))
	}
	if m.UpdateAttributeType != 0 {
		n += 1 + sovTx(uint64(m.UpdateAttributeType))
	}
	l = len(m.Account)
	if l > 0 {
		n += 1 + l + sovTx(uint64(l))
	}
	l = len(m.Owner)
	if l > 0 {
		n += 1 + l + sovTx(uint64(l))
	}
	l = len(m.ConcreteType)
	if l > 0 {
		n += 1 + l + sovTx(uint64(l))
	}
	return n
}

func (m *MsgUpdateAttributeResponse) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	return n
}

func (m *MsgUpdateAttributeExpirationRequest) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	l = len(m.Name)
	if l > 0 {
		n += 1 + l + sovTx(uint64(l))
	}
	l = len(m.Value)
	if l > 0 {
		n += 1 + l + sovTx(uint64(l))
	}
	if m.ExpirationDate != nil {
		l = github_com_cosmos_gogoproto_types.SizeOfStdTime(*m.ExpirationDate)
		n += 1 + l + sovTx(uint64(l))
	}
	l = len(m.Account)
	if l > 0 {
		n += 1 + l + sovTx(uint64(l))
	}
	l = len(m.Owner)
	if l > 0 {
		n += 1 + l + sovTx(uint64(l))
	}
	return n
}

func (m *MsgUpdateAttributeExpirationResponse) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	return n
}

func (m *MsgDeleteAttributeRequest) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	l = len(m.Name)
	if l > 0 {
		n += 1 + l + sovTx(uint64(l))
	}
	l = len(m.Account)
	if l > 0 {
		n += 1 + l + sovTx(uint64(l))
	}
	l = len(m.Owner)
	if l > 0 {
		n += 1 + l + sovTx(uint64(l))
	}
	return n
}

func (m *MsgDeleteAttributeResponse) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	return n
}

func (m *MsgDeleteDistinctAttributeRequest) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	l = len(m.Name)
	if l > 0 {
		n += 1 + l + sovTx(uint64(l))
	}
	l = len(m.Value)
	if l > 0 {
		n += 1 + l + sovTx(uint64(l))
	}
	l = len(m.Account)
	if l > 0 {
		n += 1 + l + sovTx(uint64(l))
	}
	l = len(m.Owner)
	if l > 0 {
		n += 1 + l + sovTx(uint64(l))
	}
	return n
}

func (m *MsgDeleteDistinctAttributeResponse) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	return n
}

func (m *MsgSetAccountDataRequest) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	l = len(m.Value)
	if l > 0 {
		n += 1 + l + sovTx(uint64(l))
	}
	l = len(m.Account)
	if l > 0 {
		n += 1 + l + sovTx(uint64(l))
	}
	return n
}

func (m *MsgSetAccountDataResponse) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	return n
}

func (m *MsgUpdateParamsRequest) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	l = len(m.Authority)
	if l > 0 {
		n += 1 + l + sovTx(uint64(l))
	}
	l = m.Params.Size()
	n += 1 + l + sovTx(uint64(l))
	return n
}

func (m *MsgUpdateParamsResponse) Size() (n int) {
	if m == nil {
		return 0
	}
	var l int
	_ = l
	return n
}

func sovTx(x uint64) (n int) {
	return (math_bits.Len64(x|1) + 6) / 7
}
func sozTx(x uint64) (n int) {
	return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63))))
}
func (m *MsgAddAttributeRequest) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowTx
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= uint64(b&0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: MsgAddAttributeRequest: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: MsgAddAttributeRequest: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowTx
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthTx
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthTx
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Name = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 2:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
			}
			var byteLen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowTx
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				byteLen |= int(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if byteLen < 0 {
				return ErrInvalidLengthTx
			}
			postIndex := iNdEx + byteLen
			if postIndex < 0 {
				return ErrInvalidLengthTx
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Value = append(m.Value[:0], dAtA[iNdEx:postIndex]...)
			if m.Value == nil {
				m.Value = []byte{}
			}
			iNdEx = postIndex
		case 3:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field AttributeType", wireType)
			}
			m.AttributeType = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowTx
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.AttributeType |= AttributeType(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		case 4:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Account", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowTx
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthTx
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthTx
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Account = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 5:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowTx
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthTx
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthTx
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Owner = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 6:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ExpirationDate", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowTx
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= int(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthTx
			}
			postIndex := iNdEx + msglen
			if postIndex < 0 {
				return ErrInvalidLengthTx
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.ExpirationDate == nil {
				m.ExpirationDate = new(time.Time)
			}
			if err := github_com_cosmos_gogoproto_types.StdTimeUnmarshal(m.ExpirationDate, dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 7:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ConcreteType", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowTx
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthTx
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthTx
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.ConcreteType = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipTx(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if (skippy < 0) || (iNdEx+skippy) < 0 {
				return ErrInvalidLengthTx
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *MsgAddAttributeResponse) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowTx
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= uint64(b&0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: MsgAddAttributeResponse: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: MsgAddAttributeResponse: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		default:
			iNdEx = preIndex
			skippy, err := skipTx(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if (skippy < 0) || (iNdEx+skippy) < 0 {
				return ErrInvalidLengthTx
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *MsgUpdateAttributeRequest) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowTx
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= uint64(b&0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: MsgUpdateAttributeRequest: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: MsgUpdateAttributeRequest: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowTx
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthTx
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthTx
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Name = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 2:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field OriginalValue", wireType)
			}
			var byteLen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowTx
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				byteLen |= int(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if byteLen < 0 {
				return ErrInvalidLengthTx
			}
			postIndex := iNdEx + byteLen
			if postIndex < 0 {
				return ErrInvalidLengthTx
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.OriginalValue = append(m.OriginalValue[:0], dAtA[iNdEx:postIndex]...)
			if m.OriginalValue == nil {
				m.OriginalValue = []byte{}
			}
			iNdEx = postIndex
		case 3:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field UpdateValue", wireType)
			}
			var byteLen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowTx
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				byteLen |= int(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if byteLen < 0 {
				return ErrInvalidLengthTx
			}
			postIndex := iNdEx + byteLen
			if postIndex < 0 {
				return ErrInvalidLengthTx
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.UpdateValue = append(m.UpdateValue[:0], dAtA[iNdEx:postIndex]...)
			if m.UpdateValue == nil {
				m.UpdateValue = []byte{}
			}
			iNdEx = postIndex
		case 4:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field OriginalAttributeType", wireType)
			}
			m.OriginalAttributeType = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowTx
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.OriginalAttributeType |= AttributeType(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		case 5:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field UpdateAttributeType", wireType)
			}
			m.UpdateAttributeType = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowTx
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.UpdateAttributeType |= AttributeType(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		case 6:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Account", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowTx
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthTx
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthTx
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Account = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 7:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowTx
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthTx
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthTx
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Owner = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 8:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ConcreteType", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowTx
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthTx
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthTx
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.ConcreteType = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipTx(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if (skippy < 0) || (iNdEx+skippy) < 0 {
				return ErrInvalidLengthTx
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *MsgUpdateAttributeResponse) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowTx
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= uint64(b&0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: MsgUpdateAttributeResponse: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: MsgUpdateAttributeResponse: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		default:
			iNdEx = preIndex
			skippy, err := skipTx(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if (skippy < 0) || (iNdEx+skippy) < 0 {
				return ErrInvalidLengthTx
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *MsgUpdateAttributeExpirationRequest) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowTx
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= uint64(b&0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: MsgUpdateAttributeExpirationRequest: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: MsgUpdateAttributeExpirationRequest: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowTx
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthTx
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthTx
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Name = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 2:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
			}
			var byteLen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowTx
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				byteLen |= int(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if byteLen < 0 {
				return ErrInvalidLengthTx
			}
			postIndex := iNdEx + byteLen
			if postIndex < 0 {
				return ErrInvalidLengthTx
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Value = append(m.Value[:0], dAtA[iNdEx:postIndex]...)
			if m.Value == nil {
				m.Value = []byte{}
			}
			iNdEx = postIndex
		case 3:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field ExpirationDate", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowTx
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= int(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthTx
			}
			postIndex := iNdEx + msglen
			if postIndex < 0 {
				return ErrInvalidLengthTx
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if m.ExpirationDate == nil {
				m.ExpirationDate = new(time.Time)
			}
			if err := github_com_cosmos_gogoproto_types.StdTimeUnmarshal(m.ExpirationDate, dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		case 4:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Account", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowTx
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthTx
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthTx
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Account = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 5:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowTx
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthTx
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthTx
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Owner = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipTx(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if (skippy < 0) || (iNdEx+skippy) < 0 {
				return ErrInvalidLengthTx
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *MsgUpdateAttributeExpirationResponse) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowTx
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= uint64(b&0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: MsgUpdateAttributeExpirationResponse: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: MsgUpdateAttributeExpirationResponse: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		default:
			iNdEx = preIndex
			skippy, err := skipTx(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if (skippy < 0) || (iNdEx+skippy) < 0 {
				return ErrInvalidLengthTx
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *MsgDeleteAttributeRequest) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowTx
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= uint64(b&0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: MsgDeleteAttributeRequest: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: MsgDeleteAttributeRequest: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowTx
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthTx
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthTx
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Name = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 2:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Account", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowTx
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthTx
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthTx
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Account = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 3:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowTx
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthTx
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthTx
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Owner = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipTx(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if (skippy < 0) || (iNdEx+skippy) < 0 {
				return ErrInvalidLengthTx
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *MsgDeleteAttributeResponse) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowTx
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= uint64(b&0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: MsgDeleteAttributeResponse: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: MsgDeleteAttributeResponse: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		default:
			iNdEx = preIndex
			skippy, err := skipTx(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if (skippy < 0) || (iNdEx+skippy) < 0 {
				return ErrInvalidLengthTx
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *MsgDeleteDistinctAttributeRequest) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowTx
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= uint64(b&0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: MsgDeleteDistinctAttributeRequest: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: MsgDeleteDistinctAttributeRequest: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowTx
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthTx
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthTx
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Name = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 2:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
			}
			var byteLen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowTx
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				byteLen |= int(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if byteLen < 0 {
				return ErrInvalidLengthTx
			}
			postIndex := iNdEx + byteLen
			if postIndex < 0 {
				return ErrInvalidLengthTx
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Value = append(m.Value[:0], dAtA[iNdEx:postIndex]...)
			if m.Value == nil {
				m.Value = []byte{}
			}
			iNdEx = postIndex
		case 3:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Account", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowTx
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthTx
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthTx
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Account = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 4:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowTx
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthTx
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthTx
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Owner = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipTx(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if (skippy < 0) || (iNdEx+skippy) < 0 {
				return ErrInvalidLengthTx
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *MsgDeleteDistinctAttributeResponse) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowTx
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= uint64(b&0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: MsgDeleteDistinctAttributeResponse: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: MsgDeleteDistinctAttributeResponse: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		default:
			iNdEx = preIndex
			skippy, err := skipTx(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if (skippy < 0) || (iNdEx+skippy) < 0 {
				return ErrInvalidLengthTx
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

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

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *MsgSetAccountDataResponse) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowTx
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= uint64(b&0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: MsgSetAccountDataResponse: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: MsgSetAccountDataResponse: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		default:
			iNdEx = preIndex
			skippy, err := skipTx(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if (skippy < 0) || (iNdEx+skippy) < 0 {
				return ErrInvalidLengthTx
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *MsgUpdateParamsRequest) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowTx
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= uint64(b&0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: MsgUpdateParamsRequest: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: MsgUpdateParamsRequest: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowTx
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= uint64(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthTx
			}
			postIndex := iNdEx + intStringLen
			if postIndex < 0 {
				return ErrInvalidLengthTx
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Authority = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 2:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType)
			}
			var msglen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowTx
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				msglen |= int(b&0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if msglen < 0 {
				return ErrInvalidLengthTx
			}
			postIndex := iNdEx + msglen
			if postIndex < 0 {
				return ErrInvalidLengthTx
			}
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
				return err
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipTx(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if (skippy < 0) || (iNdEx+skippy) < 0 {
				return ErrInvalidLengthTx
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowTx
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= uint64(b&0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		default:
			iNdEx = preIndex
			skippy, err := skipTx(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if (skippy < 0) || (iNdEx+skippy) < 0 {
				return ErrInvalidLengthTx
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func skipTx(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, ErrIntOverflowTx
			}
			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, ErrIntOverflowTx
				}
				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, ErrIntOverflowTx
				}
				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, ErrInvalidLengthTx
			}
			iNdEx += length
		case 3:
			depth++
		case 4:
			if depth == 0 {
				return 0, ErrUnexpectedEndOfGroupTx
			}
			depth--
		case 5:
			iNdEx += 4
		default:
			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
		}
		if iNdEx < 0 {
			return 0, ErrInvalidLengthTx
		}
		if depth == 0 {
			return iNdEx, nil
		}
	}
	return 0, io.ErrUnexpectedEOF
}

var (
	ErrInvalidLengthTx        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowTx          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupTx = fmt.Errorf("proto: unexpected end of group")
)
