// Code generated by protoc-gen-go. DO NOT EDIT.
// source: vote.proto

package types

import (
	fmt "fmt"
	math "math"

	proto "github.com/golang/protobuf/proto"
)

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

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

// vote 合约交易行为总类型
type VoteAction struct {
	Ty int32 `protobuf:"varint,1,opt,name=ty,proto3" json:"ty,omitempty"`
	// Types that are valid to be assigned to Value:
	//	*VoteAction_CreateGroup
	//	*VoteAction_UpdateMember
	//	*VoteAction_CreateVote
	//	*VoteAction_CommitVote
	Value                isVoteAction_Value `protobuf_oneof:"value"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (m *VoteAction) Reset()         { *m = VoteAction{} }
func (m *VoteAction) String() string { return proto.CompactTextString(m) }
func (*VoteAction) ProtoMessage()    {}
func (*VoteAction) Descriptor() ([]byte, []int) {
	return fileDescriptor_21d31c94b62a6ac7, []int{0}
}

func (m *VoteAction) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_VoteAction.Unmarshal(m, b)
}
func (m *VoteAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_VoteAction.Marshal(b, m, deterministic)
}
func (m *VoteAction) XXX_Merge(src proto.Message) {
	xxx_messageInfo_VoteAction.Merge(m, src)
}
func (m *VoteAction) XXX_Size() int {
	return xxx_messageInfo_VoteAction.Size(m)
}
func (m *VoteAction) XXX_DiscardUnknown() {
	xxx_messageInfo_VoteAction.DiscardUnknown(m)
}

var xxx_messageInfo_VoteAction proto.InternalMessageInfo

func (m *VoteAction) GetTy() int32 {
	if m != nil {
		return m.Ty
	}
	return 0
}

type isVoteAction_Value interface {
	isVoteAction_Value()
}

type VoteAction_CreateGroup struct {
	CreateGroup *CreateGroup `protobuf:"bytes,2,opt,name=createGroup,proto3,oneof"`
}

type VoteAction_UpdateMember struct {
	UpdateMember *UpdateMember `protobuf:"bytes,3,opt,name=updateMember,proto3,oneof"`
}

type VoteAction_CreateVote struct {
	CreateVote *CreateVote `protobuf:"bytes,4,opt,name=createVote,proto3,oneof"`
}

type VoteAction_CommitVote struct {
	CommitVote *CommitVote `protobuf:"bytes,5,opt,name=commitVote,proto3,oneof"`
}

func (*VoteAction_CreateGroup) isVoteAction_Value() {}

func (*VoteAction_UpdateMember) isVoteAction_Value() {}

func (*VoteAction_CreateVote) isVoteAction_Value() {}

func (*VoteAction_CommitVote) isVoteAction_Value() {}

func (m *VoteAction) GetValue() isVoteAction_Value {
	if m != nil {
		return m.Value
	}
	return nil
}

func (m *VoteAction) GetCreateGroup() *CreateGroup {
	if x, ok := m.GetValue().(*VoteAction_CreateGroup); ok {
		return x.CreateGroup
	}
	return nil
}

func (m *VoteAction) GetUpdateMember() *UpdateMember {
	if x, ok := m.GetValue().(*VoteAction_UpdateMember); ok {
		return x.UpdateMember
	}
	return nil
}

func (m *VoteAction) GetCreateVote() *CreateVote {
	if x, ok := m.GetValue().(*VoteAction_CreateVote); ok {
		return x.CreateVote
	}
	return nil
}

func (m *VoteAction) GetCommitVote() *CommitVote {
	if x, ok := m.GetValue().(*VoteAction_CommitVote); ok {
		return x.CommitVote
	}
	return nil
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*VoteAction) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*VoteAction_CreateGroup)(nil),
		(*VoteAction_UpdateMember)(nil),
		(*VoteAction_CreateVote)(nil),
		(*VoteAction_CommitVote)(nil),
	}
}

type GroupMember struct {
	Addr                 string   `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"`
	VoteWeight           uint32   `protobuf:"varint,2,opt,name=voteWeight,proto3" json:"voteWeight,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GroupMember) Reset()         { *m = GroupMember{} }
func (m *GroupMember) String() string { return proto.CompactTextString(m) }
func (*GroupMember) ProtoMessage()    {}
func (*GroupMember) Descriptor() ([]byte, []int) {
	return fileDescriptor_21d31c94b62a6ac7, []int{1}
}

func (m *GroupMember) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GroupMember.Unmarshal(m, b)
}
func (m *GroupMember) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GroupMember.Marshal(b, m, deterministic)
}
func (m *GroupMember) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GroupMember.Merge(m, src)
}
func (m *GroupMember) XXX_Size() int {
	return xxx_messageInfo_GroupMember.Size(m)
}
func (m *GroupMember) XXX_DiscardUnknown() {
	xxx_messageInfo_GroupMember.DiscardUnknown(m)
}

var xxx_messageInfo_GroupMember proto.InternalMessageInfo

func (m *GroupMember) GetAddr() string {
	if m != nil {
		return m.Addr
	}
	return ""
}

func (m *GroupMember) GetVoteWeight() uint32 {
	if m != nil {
		return m.VoteWeight
	}
	return 0
}

//创建投票组
type CreateGroup struct {
	Name                 string         `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Admins               []string       `protobuf:"bytes,2,rep,name=admins,proto3" json:"admins,omitempty"`
	Members              []*GroupMember `protobuf:"bytes,3,rep,name=members,proto3" json:"members,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (m *CreateGroup) Reset()         { *m = CreateGroup{} }
func (m *CreateGroup) String() string { return proto.CompactTextString(m) }
func (*CreateGroup) ProtoMessage()    {}
func (*CreateGroup) Descriptor() ([]byte, []int) {
	return fileDescriptor_21d31c94b62a6ac7, []int{2}
}

func (m *CreateGroup) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CreateGroup.Unmarshal(m, b)
}
func (m *CreateGroup) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CreateGroup.Marshal(b, m, deterministic)
}
func (m *CreateGroup) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateGroup.Merge(m, src)
}
func (m *CreateGroup) XXX_Size() int {
	return xxx_messageInfo_CreateGroup.Size(m)
}
func (m *CreateGroup) XXX_DiscardUnknown() {
	xxx_messageInfo_CreateGroup.DiscardUnknown(m)
}

var xxx_messageInfo_CreateGroup proto.InternalMessageInfo

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

func (m *CreateGroup) GetAdmins() []string {
	if m != nil {
		return m.Admins
	}
	return nil
}

func (m *CreateGroup) GetMembers() []*GroupMember {
	if m != nil {
		return m.Members
	}
	return nil
}

//更新投票组
type UpdateMember struct {
	GroupID              string         `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID,omitempty"`
	AddMembers           []*GroupMember `protobuf:"bytes,2,rep,name=addMembers,proto3" json:"addMembers,omitempty"`
	RemoveMemberAddrs    []string       `protobuf:"bytes,3,rep,name=removeMemberAddrs,proto3" json:"removeMemberAddrs,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (m *UpdateMember) Reset()         { *m = UpdateMember{} }
func (m *UpdateMember) String() string { return proto.CompactTextString(m) }
func (*UpdateMember) ProtoMessage()    {}
func (*UpdateMember) Descriptor() ([]byte, []int) {
	return fileDescriptor_21d31c94b62a6ac7, []int{3}
}

func (m *UpdateMember) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_UpdateMember.Unmarshal(m, b)
}
func (m *UpdateMember) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_UpdateMember.Marshal(b, m, deterministic)
}
func (m *UpdateMember) XXX_Merge(src proto.Message) {
	xxx_messageInfo_UpdateMember.Merge(m, src)
}
func (m *UpdateMember) XXX_Size() int {
	return xxx_messageInfo_UpdateMember.Size(m)
}
func (m *UpdateMember) XXX_DiscardUnknown() {
	xxx_messageInfo_UpdateMember.DiscardUnknown(m)
}

var xxx_messageInfo_UpdateMember proto.InternalMessageInfo

func (m *UpdateMember) GetGroupID() string {
	if m != nil {
		return m.GroupID
	}
	return ""
}

func (m *UpdateMember) GetAddMembers() []*GroupMember {
	if m != nil {
		return m.AddMembers
	}
	return nil
}

func (m *UpdateMember) GetRemoveMemberAddrs() []string {
	if m != nil {
		return m.RemoveMemberAddrs
	}
	return nil
}

// 投票组信息
type GroupInfo struct {
	ID                   string         `protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Name                 string         `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	MemberNum            uint32         `protobuf:"varint,3,opt,name=memberNum,proto3" json:"memberNum,omitempty"`
	Creator              string         `protobuf:"bytes,4,opt,name=creator,proto3" json:"creator,omitempty"`
	Admins               []string       `protobuf:"bytes,5,rep,name=admins,proto3" json:"admins,omitempty"`
	Members              []*GroupMember `protobuf:"bytes,6,rep,name=members,proto3" json:"members,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (m *GroupInfo) Reset()         { *m = GroupInfo{} }
func (m *GroupInfo) String() string { return proto.CompactTextString(m) }
func (*GroupInfo) ProtoMessage()    {}
func (*GroupInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_21d31c94b62a6ac7, []int{4}
}

func (m *GroupInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GroupInfo.Unmarshal(m, b)
}
func (m *GroupInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GroupInfo.Marshal(b, m, deterministic)
}
func (m *GroupInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GroupInfo.Merge(m, src)
}
func (m *GroupInfo) XXX_Size() int {
	return xxx_messageInfo_GroupInfo.Size(m)
}
func (m *GroupInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_GroupInfo.DiscardUnknown(m)
}

var xxx_messageInfo_GroupInfo proto.InternalMessageInfo

func (m *GroupInfo) GetID() string {
	if m != nil {
		return m.ID
	}
	return ""
}

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

func (m *GroupInfo) GetMemberNum() uint32 {
	if m != nil {
		return m.MemberNum
	}
	return 0
}

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

func (m *GroupInfo) GetAdmins() []string {
	if m != nil {
		return m.Admins
	}
	return nil
}

func (m *GroupInfo) GetMembers() []*GroupMember {
	if m != nil {
		return m.Members
	}
	return nil
}

//投票选项
type VoteOption struct {
	Option               string   `protobuf:"bytes,1,opt,name=option,proto3" json:"option,omitempty"`
	Score                uint32   `protobuf:"varint,2,opt,name=score,proto3" json:"score,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *VoteOption) Reset()         { *m = VoteOption{} }
func (m *VoteOption) String() string { return proto.CompactTextString(m) }
func (*VoteOption) ProtoMessage()    {}
func (*VoteOption) Descriptor() ([]byte, []int) {
	return fileDescriptor_21d31c94b62a6ac7, []int{5}
}

func (m *VoteOption) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_VoteOption.Unmarshal(m, b)
}
func (m *VoteOption) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_VoteOption.Marshal(b, m, deterministic)
}
func (m *VoteOption) XXX_Merge(src proto.Message) {
	xxx_messageInfo_VoteOption.Merge(m, src)
}
func (m *VoteOption) XXX_Size() int {
	return xxx_messageInfo_VoteOption.Size(m)
}
func (m *VoteOption) XXX_DiscardUnknown() {
	xxx_messageInfo_VoteOption.DiscardUnknown(m)
}

var xxx_messageInfo_VoteOption proto.InternalMessageInfo

func (m *VoteOption) GetOption() string {
	if m != nil {
		return m.Option
	}
	return ""
}

func (m *VoteOption) GetScore() uint32 {
	if m != nil {
		return m.Score
	}
	return 0
}

// 创建投票交易，请求结构
type CreateVote struct {
	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	VoteGroups           []string `protobuf:"bytes,2,rep,name=voteGroups,proto3" json:"voteGroups,omitempty"`
	VoteOptions          []string `protobuf:"bytes,3,rep,name=voteOptions,proto3" json:"voteOptions,omitempty"`
	BeginTimestamp       int64    `protobuf:"varint,4,opt,name=beginTimestamp,proto3" json:"beginTimestamp,omitempty"`
	EndTimestamp         int64    `protobuf:"varint,5,opt,name=endTimestamp,proto3" json:"endTimestamp,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *CreateVote) Reset()         { *m = CreateVote{} }
func (m *CreateVote) String() string { return proto.CompactTextString(m) }
func (*CreateVote) ProtoMessage()    {}
func (*CreateVote) Descriptor() ([]byte, []int) {
	return fileDescriptor_21d31c94b62a6ac7, []int{6}
}

func (m *CreateVote) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CreateVote.Unmarshal(m, b)
}
func (m *CreateVote) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CreateVote.Marshal(b, m, deterministic)
}
func (m *CreateVote) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CreateVote.Merge(m, src)
}
func (m *CreateVote) XXX_Size() int {
	return xxx_messageInfo_CreateVote.Size(m)
}
func (m *CreateVote) XXX_DiscardUnknown() {
	xxx_messageInfo_CreateVote.DiscardUnknown(m)
}

var xxx_messageInfo_CreateVote proto.InternalMessageInfo

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

func (m *CreateVote) GetVoteGroups() []string {
	if m != nil {
		return m.VoteGroups
	}
	return nil
}

func (m *CreateVote) GetVoteOptions() []string {
	if m != nil {
		return m.VoteOptions
	}
	return nil
}

func (m *CreateVote) GetBeginTimestamp() int64 {
	if m != nil {
		return m.BeginTimestamp
	}
	return 0
}

func (m *CreateVote) GetEndTimestamp() int64 {
	if m != nil {
		return m.EndTimestamp
	}
	return 0
}

// 创建提交投票交易，请求结构
type CommitVote struct {
	VoteID               string   `protobuf:"bytes,1,opt,name=voteID,proto3" json:"voteID,omitempty"`
	GroupID              string   `protobuf:"bytes,2,opt,name=groupID,proto3" json:"groupID,omitempty"`
	OptionIndex          uint32   `protobuf:"varint,3,opt,name=optionIndex,proto3" json:"optionIndex,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *CommitVote) Reset()         { *m = CommitVote{} }
func (m *CommitVote) String() string { return proto.CompactTextString(m) }
func (*CommitVote) ProtoMessage()    {}
func (*CommitVote) Descriptor() ([]byte, []int) {
	return fileDescriptor_21d31c94b62a6ac7, []int{7}
}

func (m *CommitVote) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CommitVote.Unmarshal(m, b)
}
func (m *CommitVote) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CommitVote.Marshal(b, m, deterministic)
}
func (m *CommitVote) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CommitVote.Merge(m, src)
}
func (m *CommitVote) XXX_Size() int {
	return xxx_messageInfo_CommitVote.Size(m)
}
func (m *CommitVote) XXX_DiscardUnknown() {
	xxx_messageInfo_CommitVote.DiscardUnknown(m)
}

var xxx_messageInfo_CommitVote proto.InternalMessageInfo

func (m *CommitVote) GetVoteID() string {
	if m != nil {
		return m.VoteID
	}
	return ""
}

func (m *CommitVote) GetGroupID() string {
	if m != nil {
		return m.GroupID
	}
	return ""
}

func (m *CommitVote) GetOptionIndex() uint32 {
	if m != nil {
		return m.OptionIndex
	}
	return 0
}

//投票信息
type VoteInfo struct {
	ID                   string        `protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"`
	Name                 string        `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Creator              string        `protobuf:"bytes,3,opt,name=creator,proto3" json:"creator,omitempty"`
	VoteGroups           []string      `protobuf:"bytes,4,rep,name=voteGroups,proto3" json:"voteGroups,omitempty"`
	VoteOptions          []*VoteOption `protobuf:"bytes,5,rep,name=voteOptions,proto3" json:"voteOptions,omitempty"`
	BeginTimestamp       int64         `protobuf:"varint,6,opt,name=beginTimestamp,proto3" json:"beginTimestamp,omitempty"`
	EndTimestamp         int64         `protobuf:"varint,7,opt,name=endTimestamp,proto3" json:"endTimestamp,omitempty"`
	VotedMembers         []string      `protobuf:"bytes,8,rep,name=votedMembers,proto3" json:"votedMembers,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

func (m *VoteInfo) Reset()         { *m = VoteInfo{} }
func (m *VoteInfo) String() string { return proto.CompactTextString(m) }
func (*VoteInfo) ProtoMessage()    {}
func (*VoteInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_21d31c94b62a6ac7, []int{8}
}

func (m *VoteInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_VoteInfo.Unmarshal(m, b)
}
func (m *VoteInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_VoteInfo.Marshal(b, m, deterministic)
}
func (m *VoteInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_VoteInfo.Merge(m, src)
}
func (m *VoteInfo) XXX_Size() int {
	return xxx_messageInfo_VoteInfo.Size(m)
}
func (m *VoteInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_VoteInfo.DiscardUnknown(m)
}

var xxx_messageInfo_VoteInfo proto.InternalMessageInfo

func (m *VoteInfo) GetID() string {
	if m != nil {
		return m.ID
	}
	return ""
}

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

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

func (m *VoteInfo) GetVoteGroups() []string {
	if m != nil {
		return m.VoteGroups
	}
	return nil
}

func (m *VoteInfo) GetVoteOptions() []*VoteOption {
	if m != nil {
		return m.VoteOptions
	}
	return nil
}

func (m *VoteInfo) GetBeginTimestamp() int64 {
	if m != nil {
		return m.BeginTimestamp
	}
	return 0
}

func (m *VoteInfo) GetEndTimestamp() int64 {
	if m != nil {
		return m.EndTimestamp
	}
	return 0
}

func (m *VoteInfo) GetVotedMembers() []string {
	if m != nil {
		return m.VotedMembers
	}
	return nil
}

type VoteInfos struct {
	VoteList             []*VoteInfo `protobuf:"bytes,1,rep,name=voteList,proto3" json:"voteList,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (m *VoteInfos) Reset()         { *m = VoteInfos{} }
func (m *VoteInfos) String() string { return proto.CompactTextString(m) }
func (*VoteInfos) ProtoMessage()    {}
func (*VoteInfos) Descriptor() ([]byte, []int) {
	return fileDescriptor_21d31c94b62a6ac7, []int{9}
}

func (m *VoteInfos) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_VoteInfos.Unmarshal(m, b)
}
func (m *VoteInfos) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_VoteInfos.Marshal(b, m, deterministic)
}
func (m *VoteInfos) XXX_Merge(src proto.Message) {
	xxx_messageInfo_VoteInfos.Merge(m, src)
}
func (m *VoteInfos) XXX_Size() int {
	return xxx_messageInfo_VoteInfos.Size(m)
}
func (m *VoteInfos) XXX_DiscardUnknown() {
	xxx_messageInfo_VoteInfos.DiscardUnknown(m)
}

var xxx_messageInfo_VoteInfos proto.InternalMessageInfo

func (m *VoteInfos) GetVoteList() []*VoteInfo {
	if m != nil {
		return m.VoteList
	}
	return nil
}

type GroupVoteInfo struct {
	GroupInfo            *GroupInfo `protobuf:"bytes,1,opt,name=groupInfo,proto3" json:"groupInfo,omitempty"`
	VoteIDs              []string   `protobuf:"bytes,2,rep,name=voteIDs,proto3" json:"voteIDs,omitempty"`
	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
	XXX_unrecognized     []byte     `json:"-"`
	XXX_sizecache        int32      `json:"-"`
}

func (m *GroupVoteInfo) Reset()         { *m = GroupVoteInfo{} }
func (m *GroupVoteInfo) String() string { return proto.CompactTextString(m) }
func (*GroupVoteInfo) ProtoMessage()    {}
func (*GroupVoteInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_21d31c94b62a6ac7, []int{10}
}

func (m *GroupVoteInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GroupVoteInfo.Unmarshal(m, b)
}
func (m *GroupVoteInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GroupVoteInfo.Marshal(b, m, deterministic)
}
func (m *GroupVoteInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GroupVoteInfo.Merge(m, src)
}
func (m *GroupVoteInfo) XXX_Size() int {
	return xxx_messageInfo_GroupVoteInfo.Size(m)
}
func (m *GroupVoteInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_GroupVoteInfo.DiscardUnknown(m)
}

var xxx_messageInfo_GroupVoteInfo proto.InternalMessageInfo

func (m *GroupVoteInfo) GetGroupInfo() *GroupInfo {
	if m != nil {
		return m.GroupInfo
	}
	return nil
}

func (m *GroupVoteInfo) GetVoteIDs() []string {
	if m != nil {
		return m.VoteIDs
	}
	return nil
}

type GroupVoteInfos struct {
	GroupList            []*GroupVoteInfo `protobuf:"bytes,1,rep,name=groupList,proto3" json:"groupList,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

func (m *GroupVoteInfos) Reset()         { *m = GroupVoteInfos{} }
func (m *GroupVoteInfos) String() string { return proto.CompactTextString(m) }
func (*GroupVoteInfos) ProtoMessage()    {}
func (*GroupVoteInfos) Descriptor() ([]byte, []int) {
	return fileDescriptor_21d31c94b62a6ac7, []int{11}
}

func (m *GroupVoteInfos) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_GroupVoteInfos.Unmarshal(m, b)
}
func (m *GroupVoteInfos) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_GroupVoteInfos.Marshal(b, m, deterministic)
}
func (m *GroupVoteInfos) XXX_Merge(src proto.Message) {
	xxx_messageInfo_GroupVoteInfos.Merge(m, src)
}
func (m *GroupVoteInfos) XXX_Size() int {
	return xxx_messageInfo_GroupVoteInfos.Size(m)
}
func (m *GroupVoteInfos) XXX_DiscardUnknown() {
	xxx_messageInfo_GroupVoteInfos.DiscardUnknown(m)
}

var xxx_messageInfo_GroupVoteInfos proto.InternalMessageInfo

func (m *GroupVoteInfos) GetGroupList() []*GroupVoteInfo {
	if m != nil {
		return m.GroupList
	}
	return nil
}

type MemberInfo struct {
	Addr                 string   `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"`
	GroupIDs             []string `protobuf:"bytes,2,rep,name=groupIDs,proto3" json:"groupIDs,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *MemberInfo) Reset()         { *m = MemberInfo{} }
func (m *MemberInfo) String() string { return proto.CompactTextString(m) }
func (*MemberInfo) ProtoMessage()    {}
func (*MemberInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_21d31c94b62a6ac7, []int{12}
}

func (m *MemberInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MemberInfo.Unmarshal(m, b)
}
func (m *MemberInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MemberInfo.Marshal(b, m, deterministic)
}
func (m *MemberInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MemberInfo.Merge(m, src)
}
func (m *MemberInfo) XXX_Size() int {
	return xxx_messageInfo_MemberInfo.Size(m)
}
func (m *MemberInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_MemberInfo.DiscardUnknown(m)
}

var xxx_messageInfo_MemberInfo proto.InternalMessageInfo

func (m *MemberInfo) GetAddr() string {
	if m != nil {
		return m.Addr
	}
	return ""
}

func (m *MemberInfo) GetGroupIDs() []string {
	if m != nil {
		return m.GroupIDs
	}
	return nil
}

type MemberInfos struct {
	MemberList           []*MemberInfo `protobuf:"bytes,1,rep,name=memberList,proto3" json:"memberList,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

func (m *MemberInfos) Reset()         { *m = MemberInfos{} }
func (m *MemberInfos) String() string { return proto.CompactTextString(m) }
func (*MemberInfos) ProtoMessage()    {}
func (*MemberInfos) Descriptor() ([]byte, []int) {
	return fileDescriptor_21d31c94b62a6ac7, []int{13}
}

func (m *MemberInfos) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_MemberInfos.Unmarshal(m, b)
}
func (m *MemberInfos) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_MemberInfos.Marshal(b, m, deterministic)
}
func (m *MemberInfos) XXX_Merge(src proto.Message) {
	xxx_messageInfo_MemberInfos.Merge(m, src)
}
func (m *MemberInfos) XXX_Size() int {
	return xxx_messageInfo_MemberInfos.Size(m)
}
func (m *MemberInfos) XXX_DiscardUnknown() {
	xxx_messageInfo_MemberInfos.DiscardUnknown(m)
}

var xxx_messageInfo_MemberInfos proto.InternalMessageInfo

func (m *MemberInfos) GetMemberList() []*MemberInfo {
	if m != nil {
		return m.MemberList
	}
	return nil
}

//列表请求结构
type ReqListItem struct {
	StartItemID          string   `protobuf:"bytes,1,opt,name=startItemID,proto3" json:"startItemID,omitempty"`
	Count                int32    `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
	Direction            int32    `protobuf:"varint,3,opt,name=direction,proto3" json:"direction,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ReqListItem) Reset()         { *m = ReqListItem{} }
func (m *ReqListItem) String() string { return proto.CompactTextString(m) }
func (*ReqListItem) ProtoMessage()    {}
func (*ReqListItem) Descriptor() ([]byte, []int) {
	return fileDescriptor_21d31c94b62a6ac7, []int{14}
}

func (m *ReqListItem) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ReqListItem.Unmarshal(m, b)
}
func (m *ReqListItem) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ReqListItem.Marshal(b, m, deterministic)
}
func (m *ReqListItem) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ReqListItem.Merge(m, src)
}
func (m *ReqListItem) XXX_Size() int {
	return xxx_messageInfo_ReqListItem.Size(m)
}
func (m *ReqListItem) XXX_DiscardUnknown() {
	xxx_messageInfo_ReqListItem.DiscardUnknown(m)
}

var xxx_messageInfo_ReqListItem proto.InternalMessageInfo

func (m *ReqListItem) GetStartItemID() string {
	if m != nil {
		return m.StartItemID
	}
	return ""
}

func (m *ReqListItem) GetCount() int32 {
	if m != nil {
		return m.Count
	}
	return 0
}

func (m *ReqListItem) GetDirection() int32 {
	if m != nil {
		return m.Direction
	}
	return 0
}

func init() {
	proto.RegisterType((*VoteAction)(nil), "types.VoteAction")
	proto.RegisterType((*GroupMember)(nil), "types.GroupMember")
	proto.RegisterType((*CreateGroup)(nil), "types.CreateGroup")
	proto.RegisterType((*UpdateMember)(nil), "types.UpdateMember")
	proto.RegisterType((*GroupInfo)(nil), "types.GroupInfo")
	proto.RegisterType((*VoteOption)(nil), "types.VoteOption")
	proto.RegisterType((*CreateVote)(nil), "types.CreateVote")
	proto.RegisterType((*CommitVote)(nil), "types.CommitVote")
	proto.RegisterType((*VoteInfo)(nil), "types.VoteInfo")
	proto.RegisterType((*VoteInfos)(nil), "types.VoteInfos")
	proto.RegisterType((*GroupVoteInfo)(nil), "types.GroupVoteInfo")
	proto.RegisterType((*GroupVoteInfos)(nil), "types.GroupVoteInfos")
	proto.RegisterType((*MemberInfo)(nil), "types.MemberInfo")
	proto.RegisterType((*MemberInfos)(nil), "types.MemberInfos")
	proto.RegisterType((*ReqListItem)(nil), "types.ReqListItem")
}

func init() {
	proto.RegisterFile("vote.proto", fileDescriptor_21d31c94b62a6ac7)
}

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