// Code generated by protoc-gen-go. DO NOT EDIT.
// source: dposvote.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

// CandidatorInfo 候选节点信息
type CandidatorInfo struct {
	Pubkey               []byte       `protobuf:"bytes,1,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
	Address              string       `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
	IP                   string       `protobuf:"bytes,3,opt,name=IP,proto3" json:"IP,omitempty"`
	Votes                int64        `protobuf:"varint,4,opt,name=votes,proto3" json:"votes,omitempty"`
	Status               int64        `protobuf:"varint,5,opt,name=status,proto3" json:"status,omitempty"`
	PreStatus            int64        `protobuf:"varint,6,opt,name=preStatus,proto3" json:"preStatus,omitempty"`
	StartTime            int64        `protobuf:"varint,7,opt,name=startTime,proto3" json:"startTime,omitempty"`
	StartHeight          int64        `protobuf:"varint,8,opt,name=startHeight,proto3" json:"startHeight,omitempty"`
	StartTxHash          string       `protobuf:"bytes,9,opt,name=startTxHash,proto3" json:"startTxHash,omitempty"`
	StartIndex           int64        `protobuf:"varint,10,opt,name=startIndex,proto3" json:"startIndex,omitempty"`
	Index                int64        `protobuf:"varint,11,opt,name=index,proto3" json:"index,omitempty"`
	PreIndex             int64        `protobuf:"varint,12,opt,name=preIndex,proto3" json:"preIndex,omitempty"`
	Voters               []*DposVoter `protobuf:"bytes,13,rep,name=voters,proto3" json:"voters,omitempty"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

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

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

var xxx_messageInfo_CandidatorInfo proto.InternalMessageInfo

func (m *CandidatorInfo) GetPubkey() []byte {
	if m != nil {
		return m.Pubkey
	}
	return nil
}

func (m *CandidatorInfo) GetAddress() string {
	if m != nil {
		return m.Address
	}
	return ""
}

func (m *CandidatorInfo) GetIP() string {
	if m != nil {
		return m.IP
	}
	return ""
}

func (m *CandidatorInfo) GetVotes() int64 {
	if m != nil {
		return m.Votes
	}
	return 0
}

func (m *CandidatorInfo) GetStatus() int64 {
	if m != nil {
		return m.Status
	}
	return 0
}

func (m *CandidatorInfo) GetPreStatus() int64 {
	if m != nil {
		return m.PreStatus
	}
	return 0
}

func (m *CandidatorInfo) GetStartTime() int64 {
	if m != nil {
		return m.StartTime
	}
	return 0
}

func (m *CandidatorInfo) GetStartHeight() int64 {
	if m != nil {
		return m.StartHeight
	}
	return 0
}

func (m *CandidatorInfo) GetStartTxHash() string {
	if m != nil {
		return m.StartTxHash
	}
	return ""
}

func (m *CandidatorInfo) GetStartIndex() int64 {
	if m != nil {
		return m.StartIndex
	}
	return 0
}

func (m *CandidatorInfo) GetIndex() int64 {
	if m != nil {
		return m.Index
	}
	return 0
}

func (m *CandidatorInfo) GetPreIndex() int64 {
	if m != nil {
		return m.PreIndex
	}
	return 0
}

func (m *CandidatorInfo) GetVoters() []*DposVoter {
	if m != nil {
		return m.Voters
	}
	return nil
}

// DposVoter 投票者信息
type DposVoter struct {
	FromAddr             string   `protobuf:"bytes,1,opt,name=fromAddr,proto3" json:"fromAddr,omitempty"`
	Pubkey               []byte   `protobuf:"bytes,2,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
	Votes                int64    `protobuf:"varint,3,opt,name=votes,proto3" json:"votes,omitempty"`
	Index                int64    `protobuf:"varint,4,opt,name=index,proto3" json:"index,omitempty"`
	Time                 int64    `protobuf:"varint,5,opt,name=time,proto3" json:"time,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_DposVoter proto.InternalMessageInfo

func (m *DposVoter) GetFromAddr() string {
	if m != nil {
		return m.FromAddr
	}
	return ""
}

func (m *DposVoter) GetPubkey() []byte {
	if m != nil {
		return m.Pubkey
	}
	return nil
}

func (m *DposVoter) GetVotes() int64 {
	if m != nil {
		return m.Votes
	}
	return 0
}

func (m *DposVoter) GetIndex() int64 {
	if m != nil {
		return m.Index
	}
	return 0
}

func (m *DposVoter) GetTime() int64 {
	if m != nil {
		return m.Time
	}
	return 0
}

// Candidator 候选节点信息
type Candidator struct {
	Pubkey               []byte   `protobuf:"bytes,1,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
	Address              string   `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
	IP                   string   `protobuf:"bytes,3,opt,name=IP,proto3" json:"IP,omitempty"`
	Votes                int64    `protobuf:"varint,4,opt,name=votes,proto3" json:"votes,omitempty"`
	Status               int64    `protobuf:"varint,5,opt,name=status,proto3" json:"status,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_Candidator proto.InternalMessageInfo

func (m *Candidator) GetPubkey() []byte {
	if m != nil {
		return m.Pubkey
	}
	return nil
}

func (m *Candidator) GetAddress() string {
	if m != nil {
		return m.Address
	}
	return ""
}

func (m *Candidator) GetIP() string {
	if m != nil {
		return m.IP
	}
	return ""
}

func (m *Candidator) GetVotes() int64 {
	if m != nil {
		return m.Votes
	}
	return 0
}

func (m *Candidator) GetStatus() int64 {
	if m != nil {
		return m.Status
	}
	return 0
}

// DposCandidatorRegist 注册Dpos候选节点，必须抵押一定数量的币，比如：10000个币
type DposCandidatorRegist struct {
	Pubkey               string   `protobuf:"bytes,1,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
	Address              string   `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
	IP                   string   `protobuf:"bytes,3,opt,name=IP,proto3" json:"IP,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_DposCandidatorRegist proto.InternalMessageInfo

func (m *DposCandidatorRegist) GetPubkey() string {
	if m != nil {
		return m.Pubkey
	}
	return ""
}

func (m *DposCandidatorRegist) GetAddress() string {
	if m != nil {
		return m.Address
	}
	return ""
}

func (m *DposCandidatorRegist) GetIP() string {
	if m != nil {
		return m.IP
	}
	return ""
}

// DposCandidatorCancelRegist 注销Dpos候选节点，解冻抵押的币
type DposCandidatorCancelRegist struct {
	Pubkey               string   `protobuf:"bytes,1,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
	Address              string   `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_DposCandidatorCancelRegist proto.InternalMessageInfo

func (m *DposCandidatorCancelRegist) GetPubkey() string {
	if m != nil {
		return m.Pubkey
	}
	return ""
}

func (m *DposCandidatorCancelRegist) GetAddress() string {
	if m != nil {
		return m.Address
	}
	return ""
}

// DposVote 为Dpos候选节点投票
type DposVote struct {
	FromAddr             string   `protobuf:"bytes,1,opt,name=fromAddr,proto3" json:"fromAddr,omitempty"`
	Pubkey               string   `protobuf:"bytes,2,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
	Votes                int64    `protobuf:"varint,3,opt,name=votes,proto3" json:"votes,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_DposVote proto.InternalMessageInfo

func (m *DposVote) GetFromAddr() string {
	if m != nil {
		return m.FromAddr
	}
	return ""
}

func (m *DposVote) GetPubkey() string {
	if m != nil {
		return m.Pubkey
	}
	return ""
}

func (m *DposVote) GetVotes() int64 {
	if m != nil {
		return m.Votes
	}
	return 0
}

// DposCancelVote 撤销为Dpos候选节点投票
type DposCancelVote struct {
	Pubkey               string   `protobuf:"bytes,1,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
	Index                int64    `protobuf:"varint,3,opt,name=index,proto3" json:"index,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_DposCancelVote proto.InternalMessageInfo

func (m *DposCancelVote) GetPubkey() string {
	if m != nil {
		return m.Pubkey
	}
	return ""
}

func (m *DposCancelVote) GetIndex() int64 {
	if m != nil {
		return m.Index
	}
	return 0
}

// DposVoteAction DposVote动作
type DposVoteAction struct {
	// Types that are valid to be assigned to Value:
	//	*DposVoteAction_Regist
	//	*DposVoteAction_CancelRegist
	//	*DposVoteAction_ReRegist
	//	*DposVoteAction_Vote
	//	*DposVoteAction_CancelVote
	//	*DposVoteAction_CandidatorQuery
	//	*DposVoteAction_VoteQuery
	//	*DposVoteAction_RegistVrfM
	//	*DposVoteAction_RegistVrfRP
	//	*DposVoteAction_VrfQuery
	//	*DposVoteAction_RecordCB
	//	*DposVoteAction_CbQuery
	//	*DposVoteAction_RegistTopN
	//	*DposVoteAction_TopNQuery
	Value                isDposVoteAction_Value `protobuf_oneof:"value"`
	Ty                   int32                  `protobuf:"varint,15,opt,name=ty,proto3" json:"ty,omitempty"`
	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
	XXX_unrecognized     []byte                 `json:"-"`
	XXX_sizecache        int32                  `json:"-"`
}

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

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

var xxx_messageInfo_DposVoteAction proto.InternalMessageInfo

type isDposVoteAction_Value interface {
	isDposVoteAction_Value()
}

type DposVoteAction_Regist struct {
	Regist *DposCandidatorRegist `protobuf:"bytes,1,opt,name=regist,proto3,oneof"`
}

type DposVoteAction_CancelRegist struct {
	CancelRegist *DposCandidatorCancelRegist `protobuf:"bytes,2,opt,name=cancelRegist,proto3,oneof"`
}

type DposVoteAction_ReRegist struct {
	ReRegist *DposCandidatorRegist `protobuf:"bytes,3,opt,name=reRegist,proto3,oneof"`
}

type DposVoteAction_Vote struct {
	Vote *DposVote `protobuf:"bytes,4,opt,name=vote,proto3,oneof"`
}

type DposVoteAction_CancelVote struct {
	CancelVote *DposCancelVote `protobuf:"bytes,5,opt,name=cancelVote,proto3,oneof"`
}

type DposVoteAction_CandidatorQuery struct {
	CandidatorQuery *CandidatorQuery `protobuf:"bytes,6,opt,name=candidatorQuery,proto3,oneof"`
}

type DposVoteAction_VoteQuery struct {
	VoteQuery *DposVoteQuery `protobuf:"bytes,7,opt,name=voteQuery,proto3,oneof"`
}

type DposVoteAction_RegistVrfM struct {
	RegistVrfM *DposVrfMRegist `protobuf:"bytes,8,opt,name=registVrfM,proto3,oneof"`
}

type DposVoteAction_RegistVrfRP struct {
	RegistVrfRP *DposVrfRPRegist `protobuf:"bytes,9,opt,name=registVrfRP,proto3,oneof"`
}

type DposVoteAction_VrfQuery struct {
	VrfQuery *DposVrfQuery `protobuf:"bytes,10,opt,name=vrfQuery,proto3,oneof"`
}

type DposVoteAction_RecordCB struct {
	RecordCB *DposCBInfo `protobuf:"bytes,11,opt,name=recordCB,proto3,oneof"`
}

type DposVoteAction_CbQuery struct {
	CbQuery *DposCBQuery `protobuf:"bytes,12,opt,name=cbQuery,proto3,oneof"`
}

type DposVoteAction_RegistTopN struct {
	RegistTopN *TopNCandidatorRegist `protobuf:"bytes,13,opt,name=registTopN,proto3,oneof"`
}

type DposVoteAction_TopNQuery struct {
	TopNQuery *TopNCandidatorsQuery `protobuf:"bytes,14,opt,name=topNQuery,proto3,oneof"`
}

func (*DposVoteAction_Regist) isDposVoteAction_Value() {}

func (*DposVoteAction_CancelRegist) isDposVoteAction_Value() {}

func (*DposVoteAction_ReRegist) isDposVoteAction_Value() {}

func (*DposVoteAction_Vote) isDposVoteAction_Value() {}

func (*DposVoteAction_CancelVote) isDposVoteAction_Value() {}

func (*DposVoteAction_CandidatorQuery) isDposVoteAction_Value() {}

func (*DposVoteAction_VoteQuery) isDposVoteAction_Value() {}

func (*DposVoteAction_RegistVrfM) isDposVoteAction_Value() {}

func (*DposVoteAction_RegistVrfRP) isDposVoteAction_Value() {}

func (*DposVoteAction_VrfQuery) isDposVoteAction_Value() {}

func (*DposVoteAction_RecordCB) isDposVoteAction_Value() {}

func (*DposVoteAction_CbQuery) isDposVoteAction_Value() {}

func (*DposVoteAction_RegistTopN) isDposVoteAction_Value() {}

func (*DposVoteAction_TopNQuery) isDposVoteAction_Value() {}

func (m *DposVoteAction) GetValue() isDposVoteAction_Value {
	if m != nil {
		return m.Value
	}
	return nil
}

func (m *DposVoteAction) GetRegist() *DposCandidatorRegist {
	if x, ok := m.GetValue().(*DposVoteAction_Regist); ok {
		return x.Regist
	}
	return nil
}

func (m *DposVoteAction) GetCancelRegist() *DposCandidatorCancelRegist {
	if x, ok := m.GetValue().(*DposVoteAction_CancelRegist); ok {
		return x.CancelRegist
	}
	return nil
}

func (m *DposVoteAction) GetReRegist() *DposCandidatorRegist {
	if x, ok := m.GetValue().(*DposVoteAction_ReRegist); ok {
		return x.ReRegist
	}
	return nil
}

func (m *DposVoteAction) GetVote() *DposVote {
	if x, ok := m.GetValue().(*DposVoteAction_Vote); ok {
		return x.Vote
	}
	return nil
}

func (m *DposVoteAction) GetCancelVote() *DposCancelVote {
	if x, ok := m.GetValue().(*DposVoteAction_CancelVote); ok {
		return x.CancelVote
	}
	return nil
}

func (m *DposVoteAction) GetCandidatorQuery() *CandidatorQuery {
	if x, ok := m.GetValue().(*DposVoteAction_CandidatorQuery); ok {
		return x.CandidatorQuery
	}
	return nil
}

func (m *DposVoteAction) GetVoteQuery() *DposVoteQuery {
	if x, ok := m.GetValue().(*DposVoteAction_VoteQuery); ok {
		return x.VoteQuery
	}
	return nil
}

func (m *DposVoteAction) GetRegistVrfM() *DposVrfMRegist {
	if x, ok := m.GetValue().(*DposVoteAction_RegistVrfM); ok {
		return x.RegistVrfM
	}
	return nil
}

func (m *DposVoteAction) GetRegistVrfRP() *DposVrfRPRegist {
	if x, ok := m.GetValue().(*DposVoteAction_RegistVrfRP); ok {
		return x.RegistVrfRP
	}
	return nil
}

func (m *DposVoteAction) GetVrfQuery() *DposVrfQuery {
	if x, ok := m.GetValue().(*DposVoteAction_VrfQuery); ok {
		return x.VrfQuery
	}
	return nil
}

func (m *DposVoteAction) GetRecordCB() *DposCBInfo {
	if x, ok := m.GetValue().(*DposVoteAction_RecordCB); ok {
		return x.RecordCB
	}
	return nil
}

func (m *DposVoteAction) GetCbQuery() *DposCBQuery {
	if x, ok := m.GetValue().(*DposVoteAction_CbQuery); ok {
		return x.CbQuery
	}
	return nil
}

func (m *DposVoteAction) GetRegistTopN() *TopNCandidatorRegist {
	if x, ok := m.GetValue().(*DposVoteAction_RegistTopN); ok {
		return x.RegistTopN
	}
	return nil
}

func (m *DposVoteAction) GetTopNQuery() *TopNCandidatorsQuery {
	if x, ok := m.GetValue().(*DposVoteAction_TopNQuery); ok {
		return x.TopNQuery
	}
	return nil
}

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

// XXX_OneofWrappers is for the internal use of the proto package.
func (*DposVoteAction) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*DposVoteAction_Regist)(nil),
		(*DposVoteAction_CancelRegist)(nil),
		(*DposVoteAction_ReRegist)(nil),
		(*DposVoteAction_Vote)(nil),
		(*DposVoteAction_CancelVote)(nil),
		(*DposVoteAction_CandidatorQuery)(nil),
		(*DposVoteAction_VoteQuery)(nil),
		(*DposVoteAction_RegistVrfM)(nil),
		(*DposVoteAction_RegistVrfRP)(nil),
		(*DposVoteAction_VrfQuery)(nil),
		(*DposVoteAction_RecordCB)(nil),
		(*DposVoteAction_CbQuery)(nil),
		(*DposVoteAction_RegistTopN)(nil),
		(*DposVoteAction_TopNQuery)(nil),
	}
}

// CandidatorQuery 候选节点查询
type CandidatorQuery struct {
	Pubkeys              []string `protobuf:"bytes,1,rep,name=pubkeys,proto3" json:"pubkeys,omitempty"`
	TopN                 int32    `protobuf:"varint,2,opt,name=topN,proto3" json:"topN,omitempty"`
	Ty                   int32    `protobuf:"varint,3,opt,name=ty,proto3" json:"ty,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_CandidatorQuery proto.InternalMessageInfo

func (m *CandidatorQuery) GetPubkeys() []string {
	if m != nil {
		return m.Pubkeys
	}
	return nil
}

func (m *CandidatorQuery) GetTopN() int32 {
	if m != nil {
		return m.TopN
	}
	return 0
}

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

// JSONCandidator 候选节点Json格式信息
type JSONCandidator struct {
	Pubkey               string   `protobuf:"bytes,1,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
	Address              string   `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
	IP                   string   `protobuf:"bytes,3,opt,name=IP,proto3" json:"IP,omitempty"`
	Votes                int64    `protobuf:"varint,4,opt,name=votes,proto3" json:"votes,omitempty"`
	Status               int64    `protobuf:"varint,5,opt,name=status,proto3" json:"status,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_JSONCandidator proto.InternalMessageInfo

func (m *JSONCandidator) GetPubkey() string {
	if m != nil {
		return m.Pubkey
	}
	return ""
}

func (m *JSONCandidator) GetAddress() string {
	if m != nil {
		return m.Address
	}
	return ""
}

func (m *JSONCandidator) GetIP() string {
	if m != nil {
		return m.IP
	}
	return ""
}

func (m *JSONCandidator) GetVotes() int64 {
	if m != nil {
		return m.Votes
	}
	return 0
}

func (m *JSONCandidator) GetStatus() int64 {
	if m != nil {
		return m.Status
	}
	return 0
}

// CandidatorReply 候选节点查询响应
type CandidatorReply struct {
	Candidators          []*JSONCandidator `protobuf:"bytes,1,rep,name=candidators,proto3" json:"candidators,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

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

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

var xxx_messageInfo_CandidatorReply proto.InternalMessageInfo

func (m *CandidatorReply) GetCandidators() []*JSONCandidator {
	if m != nil {
		return m.Candidators
	}
	return nil
}

// DposVoteQuery 投票查询
type DposVoteQuery struct {
	Pubkeys              []string `protobuf:"bytes,1,rep,name=pubkeys,proto3" json:"pubkeys,omitempty"`
	Addr                 string   `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_DposVoteQuery proto.InternalMessageInfo

func (m *DposVoteQuery) GetPubkeys() []string {
	if m != nil {
		return m.Pubkeys
	}
	return nil
}

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

// JSONDposVoter Json格式的投票者信息
type JSONDposVoter struct {
	FromAddr             string   `protobuf:"bytes,1,opt,name=fromAddr,proto3" json:"fromAddr,omitempty"`
	Pubkey               string   `protobuf:"bytes,2,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
	Votes                int64    `protobuf:"varint,3,opt,name=votes,proto3" json:"votes,omitempty"`
	Index                int64    `protobuf:"varint,4,opt,name=index,proto3" json:"index,omitempty"`
	Time                 int64    `protobuf:"varint,5,opt,name=time,proto3" json:"time,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_JSONDposVoter proto.InternalMessageInfo

func (m *JSONDposVoter) GetFromAddr() string {
	if m != nil {
		return m.FromAddr
	}
	return ""
}

func (m *JSONDposVoter) GetPubkey() string {
	if m != nil {
		return m.Pubkey
	}
	return ""
}

func (m *JSONDposVoter) GetVotes() int64 {
	if m != nil {
		return m.Votes
	}
	return 0
}

func (m *JSONDposVoter) GetIndex() int64 {
	if m != nil {
		return m.Index
	}
	return 0
}

func (m *JSONDposVoter) GetTime() int64 {
	if m != nil {
		return m.Time
	}
	return 0
}

// DposVoteReply 投票查询响应
type DposVoteReply struct {
	Votes                []*JSONDposVoter `protobuf:"bytes,1,rep,name=votes,proto3" json:"votes,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

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

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

var xxx_messageInfo_DposVoteReply proto.InternalMessageInfo

func (m *DposVoteReply) GetVotes() []*JSONDposVoter {
	if m != nil {
		return m.Votes
	}
	return nil
}

// ReceiptCandicator 候选者收据信息
type ReceiptCandicator struct {
	Index                int64           `protobuf:"varint,1,opt,name=Index,proto3" json:"Index,omitempty"`
	Pubkey               []byte          `protobuf:"bytes,2,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
	Address              string          `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"`
	Status               int64           `protobuf:"varint,4,opt,name=status,proto3" json:"status,omitempty"`
	PreStatus            int64           `protobuf:"varint,5,opt,name=preStatus,proto3" json:"preStatus,omitempty"`
	StatusChange         bool            `protobuf:"varint,6,opt,name=statusChange,proto3" json:"statusChange,omitempty"`
	VoteType             int32           `protobuf:"varint,7,opt,name=voteType,proto3" json:"voteType,omitempty"`
	Vote                 *DposVoter      `protobuf:"bytes,8,opt,name=vote,proto3" json:"vote,omitempty"`
	FromAddr             string          `protobuf:"bytes,9,opt,name=fromAddr,proto3" json:"fromAddr,omitempty"`
	CandInfo             *CandidatorInfo `protobuf:"bytes,10,opt,name=candInfo,proto3" json:"candInfo,omitempty"`
	Time                 int64           `protobuf:"varint,11,opt,name=time,proto3" json:"time,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

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

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

var xxx_messageInfo_ReceiptCandicator proto.InternalMessageInfo

func (m *ReceiptCandicator) GetIndex() int64 {
	if m != nil {
		return m.Index
	}
	return 0
}

func (m *ReceiptCandicator) GetPubkey() []byte {
	if m != nil {
		return m.Pubkey
	}
	return nil
}

func (m *ReceiptCandicator) GetAddress() string {
	if m != nil {
		return m.Address
	}
	return ""
}

func (m *ReceiptCandicator) GetStatus() int64 {
	if m != nil {
		return m.Status
	}
	return 0
}

func (m *ReceiptCandicator) GetPreStatus() int64 {
	if m != nil {
		return m.PreStatus
	}
	return 0
}

func (m *ReceiptCandicator) GetStatusChange() bool {
	if m != nil {
		return m.StatusChange
	}
	return false
}

func (m *ReceiptCandicator) GetVoteType() int32 {
	if m != nil {
		return m.VoteType
	}
	return 0
}

func (m *ReceiptCandicator) GetVote() *DposVoter {
	if m != nil {
		return m.Vote
	}
	return nil
}

func (m *ReceiptCandicator) GetFromAddr() string {
	if m != nil {
		return m.FromAddr
	}
	return ""
}

func (m *ReceiptCandicator) GetCandInfo() *CandidatorInfo {
	if m != nil {
		return m.CandInfo
	}
	return nil
}

func (m *ReceiptCandicator) GetTime() int64 {
	if m != nil {
		return m.Time
	}
	return 0
}

// DposVrfM VrfM信息
type DposVrfM struct {
	Index                int64    `protobuf:"varint,1,opt,name=Index,proto3" json:"Index,omitempty"`
	Pubkey               []byte   `protobuf:"bytes,2,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
	Cycle                int64    `protobuf:"varint,3,opt,name=cycle,proto3" json:"cycle,omitempty"`
	Height               int64    `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"`
	M                    []byte   `protobuf:"bytes,5,opt,name=m,proto3" json:"m,omitempty"`
	Time                 int64    `protobuf:"varint,6,opt,name=time,proto3" json:"time,omitempty"`
	CycleStart           int64    `protobuf:"varint,7,opt,name=cycleStart,proto3" json:"cycleStart,omitempty"`
	CycleMiddle          int64    `protobuf:"varint,8,opt,name=cycleMiddle,proto3" json:"cycleMiddle,omitempty"`
	CycleStop            int64    `protobuf:"varint,9,opt,name=cycleStop,proto3" json:"cycleStop,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DposVrfM) Reset()         { *m = DposVrfM{} }
func (m *DposVrfM) String() string { return proto.CompactTextString(m) }
func (*DposVrfM) ProtoMessage()    {}
func (*DposVrfM) Descriptor() ([]byte, []int) {
	return fileDescriptor_298cd4e7a8e2cdaf, []int{15}
}

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

var xxx_messageInfo_DposVrfM proto.InternalMessageInfo

func (m *DposVrfM) GetIndex() int64 {
	if m != nil {
		return m.Index
	}
	return 0
}

func (m *DposVrfM) GetPubkey() []byte {
	if m != nil {
		return m.Pubkey
	}
	return nil
}

func (m *DposVrfM) GetCycle() int64 {
	if m != nil {
		return m.Cycle
	}
	return 0
}

func (m *DposVrfM) GetHeight() int64 {
	if m != nil {
		return m.Height
	}
	return 0
}

func (m *DposVrfM) GetM() []byte {
	if m != nil {
		return m.M
	}
	return nil
}

func (m *DposVrfM) GetTime() int64 {
	if m != nil {
		return m.Time
	}
	return 0
}

func (m *DposVrfM) GetCycleStart() int64 {
	if m != nil {
		return m.CycleStart
	}
	return 0
}

func (m *DposVrfM) GetCycleMiddle() int64 {
	if m != nil {
		return m.CycleMiddle
	}
	return 0
}

func (m *DposVrfM) GetCycleStop() int64 {
	if m != nil {
		return m.CycleStop
	}
	return 0
}

// DposVrfRP VrfRP信息
type DposVrfRP struct {
	Index                int64    `protobuf:"varint,1,opt,name=Index,proto3" json:"Index,omitempty"`
	Pubkey               []byte   `protobuf:"bytes,2,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
	Cycle                int64    `protobuf:"varint,3,opt,name=cycle,proto3" json:"cycle,omitempty"`
	Height               int64    `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"`
	M                    []byte   `protobuf:"bytes,5,opt,name=m,proto3" json:"m,omitempty"`
	R                    []byte   `protobuf:"bytes,6,opt,name=r,proto3" json:"r,omitempty"`
	P                    []byte   `protobuf:"bytes,7,opt,name=p,proto3" json:"p,omitempty"`
	Time                 int64    `protobuf:"varint,8,opt,name=time,proto3" json:"time,omitempty"`
	CycleStart           int64    `protobuf:"varint,9,opt,name=cycleStart,proto3" json:"cycleStart,omitempty"`
	CycleMiddle          int64    `protobuf:"varint,10,opt,name=cycleMiddle,proto3" json:"cycleMiddle,omitempty"`
	CycleStop            int64    `protobuf:"varint,11,opt,name=cycleStop,proto3" json:"cycleStop,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DposVrfRP) Reset()         { *m = DposVrfRP{} }
func (m *DposVrfRP) String() string { return proto.CompactTextString(m) }
func (*DposVrfRP) ProtoMessage()    {}
func (*DposVrfRP) Descriptor() ([]byte, []int) {
	return fileDescriptor_298cd4e7a8e2cdaf, []int{16}
}

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

var xxx_messageInfo_DposVrfRP proto.InternalMessageInfo

func (m *DposVrfRP) GetIndex() int64 {
	if m != nil {
		return m.Index
	}
	return 0
}

func (m *DposVrfRP) GetPubkey() []byte {
	if m != nil {
		return m.Pubkey
	}
	return nil
}

func (m *DposVrfRP) GetCycle() int64 {
	if m != nil {
		return m.Cycle
	}
	return 0
}

func (m *DposVrfRP) GetHeight() int64 {
	if m != nil {
		return m.Height
	}
	return 0
}

func (m *DposVrfRP) GetM() []byte {
	if m != nil {
		return m.M
	}
	return nil
}

func (m *DposVrfRP) GetR() []byte {
	if m != nil {
		return m.R
	}
	return nil
}

func (m *DposVrfRP) GetP() []byte {
	if m != nil {
		return m.P
	}
	return nil
}

func (m *DposVrfRP) GetTime() int64 {
	if m != nil {
		return m.Time
	}
	return 0
}

func (m *DposVrfRP) GetCycleStart() int64 {
	if m != nil {
		return m.CycleStart
	}
	return 0
}

func (m *DposVrfRP) GetCycleMiddle() int64 {
	if m != nil {
		return m.CycleMiddle
	}
	return 0
}

func (m *DposVrfRP) GetCycleStop() int64 {
	if m != nil {
		return m.CycleStop
	}
	return 0
}

// DposVrfMRegist VrfM注册请求
type DposVrfMRegist struct {
	Pubkey               string   `protobuf:"bytes,1,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
	Cycle                int64    `protobuf:"varint,2,opt,name=cycle,proto3" json:"cycle,omitempty"`
	M                    string   `protobuf:"bytes,3,opt,name=m,proto3" json:"m,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DposVrfMRegist) Reset()         { *m = DposVrfMRegist{} }
func (m *DposVrfMRegist) String() string { return proto.CompactTextString(m) }
func (*DposVrfMRegist) ProtoMessage()    {}
func (*DposVrfMRegist) Descriptor() ([]byte, []int) {
	return fileDescriptor_298cd4e7a8e2cdaf, []int{17}
}

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

var xxx_messageInfo_DposVrfMRegist proto.InternalMessageInfo

func (m *DposVrfMRegist) GetPubkey() string {
	if m != nil {
		return m.Pubkey
	}
	return ""
}

func (m *DposVrfMRegist) GetCycle() int64 {
	if m != nil {
		return m.Cycle
	}
	return 0
}

func (m *DposVrfMRegist) GetM() string {
	if m != nil {
		return m.M
	}
	return ""
}

// DposVrfRPRegist VrfRP注册请求
type DposVrfRPRegist struct {
	Pubkey               string   `protobuf:"bytes,1,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
	Cycle                int64    `protobuf:"varint,2,opt,name=cycle,proto3" json:"cycle,omitempty"`
	R                    string   `protobuf:"bytes,3,opt,name=r,proto3" json:"r,omitempty"`
	P                    string   `protobuf:"bytes,4,opt,name=p,proto3" json:"p,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DposVrfRPRegist) Reset()         { *m = DposVrfRPRegist{} }
func (m *DposVrfRPRegist) String() string { return proto.CompactTextString(m) }
func (*DposVrfRPRegist) ProtoMessage()    {}
func (*DposVrfRPRegist) Descriptor() ([]byte, []int) {
	return fileDescriptor_298cd4e7a8e2cdaf, []int{18}
}

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

var xxx_messageInfo_DposVrfRPRegist proto.InternalMessageInfo

func (m *DposVrfRPRegist) GetPubkey() string {
	if m != nil {
		return m.Pubkey
	}
	return ""
}

func (m *DposVrfRPRegist) GetCycle() int64 {
	if m != nil {
		return m.Cycle
	}
	return 0
}

func (m *DposVrfRPRegist) GetR() string {
	if m != nil {
		return m.R
	}
	return ""
}

func (m *DposVrfRPRegist) GetP() string {
	if m != nil {
		return m.P
	}
	return ""
}

// ReceiptVrf vrf收据信息
type ReceiptVrf struct {
	Index                int64    `protobuf:"varint,1,opt,name=Index,proto3" json:"Index,omitempty"`
	Pubkey               []byte   `protobuf:"bytes,2,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
	Status               int64    `protobuf:"varint,3,opt,name=status,proto3" json:"status,omitempty"`
	Cycle                int64    `protobuf:"varint,4,opt,name=cycle,proto3" json:"cycle,omitempty"`
	Height               int64    `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"`
	M                    []byte   `protobuf:"bytes,6,opt,name=m,proto3" json:"m,omitempty"`
	R                    []byte   `protobuf:"bytes,7,opt,name=r,proto3" json:"r,omitempty"`
	P                    []byte   `protobuf:"bytes,8,opt,name=p,proto3" json:"p,omitempty"`
	Time                 int64    `protobuf:"varint,9,opt,name=time,proto3" json:"time,omitempty"`
	CycleStart           int64    `protobuf:"varint,10,opt,name=cycleStart,proto3" json:"cycleStart,omitempty"`
	CycleMiddle          int64    `protobuf:"varint,11,opt,name=cycleMiddle,proto3" json:"cycleMiddle,omitempty"`
	CycleStop            int64    `protobuf:"varint,12,opt,name=cycleStop,proto3" json:"cycleStop,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ReceiptVrf) Reset()         { *m = ReceiptVrf{} }
func (m *ReceiptVrf) String() string { return proto.CompactTextString(m) }
func (*ReceiptVrf) ProtoMessage()    {}
func (*ReceiptVrf) Descriptor() ([]byte, []int) {
	return fileDescriptor_298cd4e7a8e2cdaf, []int{19}
}

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

var xxx_messageInfo_ReceiptVrf proto.InternalMessageInfo

func (m *ReceiptVrf) GetIndex() int64 {
	if m != nil {
		return m.Index
	}
	return 0
}

func (m *ReceiptVrf) GetPubkey() []byte {
	if m != nil {
		return m.Pubkey
	}
	return nil
}

func (m *ReceiptVrf) GetStatus() int64 {
	if m != nil {
		return m.Status
	}
	return 0
}

func (m *ReceiptVrf) GetCycle() int64 {
	if m != nil {
		return m.Cycle
	}
	return 0
}

func (m *ReceiptVrf) GetHeight() int64 {
	if m != nil {
		return m.Height
	}
	return 0
}

func (m *ReceiptVrf) GetM() []byte {
	if m != nil {
		return m.M
	}
	return nil
}

func (m *ReceiptVrf) GetR() []byte {
	if m != nil {
		return m.R
	}
	return nil
}

func (m *ReceiptVrf) GetP() []byte {
	if m != nil {
		return m.P
	}
	return nil
}

func (m *ReceiptVrf) GetTime() int64 {
	if m != nil {
		return m.Time
	}
	return 0
}

func (m *ReceiptVrf) GetCycleStart() int64 {
	if m != nil {
		return m.CycleStart
	}
	return 0
}

func (m *ReceiptVrf) GetCycleMiddle() int64 {
	if m != nil {
		return m.CycleMiddle
	}
	return 0
}

func (m *ReceiptVrf) GetCycleStop() int64 {
	if m != nil {
		return m.CycleStop
	}
	return 0
}

// VrfInfo vrf信息
type VrfInfo struct {
	Index                int64    `protobuf:"varint,1,opt,name=Index,proto3" json:"Index,omitempty"`
	Pubkey               []byte   `protobuf:"bytes,2,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
	Cycle                int64    `protobuf:"varint,4,opt,name=cycle,proto3" json:"cycle,omitempty"`
	Height               int64    `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"`
	M                    []byte   `protobuf:"bytes,6,opt,name=m,proto3" json:"m,omitempty"`
	R                    []byte   `protobuf:"bytes,7,opt,name=r,proto3" json:"r,omitempty"`
	P                    []byte   `protobuf:"bytes,8,opt,name=p,proto3" json:"p,omitempty"`
	Time                 int64    `protobuf:"varint,9,opt,name=time,proto3" json:"time,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *VrfInfo) Reset()         { *m = VrfInfo{} }
func (m *VrfInfo) String() string { return proto.CompactTextString(m) }
func (*VrfInfo) ProtoMessage()    {}
func (*VrfInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_298cd4e7a8e2cdaf, []int{20}
}

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

var xxx_messageInfo_VrfInfo proto.InternalMessageInfo

func (m *VrfInfo) GetIndex() int64 {
	if m != nil {
		return m.Index
	}
	return 0
}

func (m *VrfInfo) GetPubkey() []byte {
	if m != nil {
		return m.Pubkey
	}
	return nil
}

func (m *VrfInfo) GetCycle() int64 {
	if m != nil {
		return m.Cycle
	}
	return 0
}

func (m *VrfInfo) GetHeight() int64 {
	if m != nil {
		return m.Height
	}
	return 0
}

func (m *VrfInfo) GetM() []byte {
	if m != nil {
		return m.M
	}
	return nil
}

func (m *VrfInfo) GetR() []byte {
	if m != nil {
		return m.R
	}
	return nil
}

func (m *VrfInfo) GetP() []byte {
	if m != nil {
		return m.P
	}
	return nil
}

func (m *VrfInfo) GetTime() int64 {
	if m != nil {
		return m.Time
	}
	return 0
}

// DposVrfQuery vrf查询请求
type DposVrfQuery struct {
	Pubkeys              []string `protobuf:"bytes,1,rep,name=pubkeys,proto3" json:"pubkeys,omitempty"`
	Ty                   int64    `protobuf:"varint,2,opt,name=ty,proto3" json:"ty,omitempty"`
	Timestamp            int64    `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	Cycle                int64    `protobuf:"varint,4,opt,name=cycle,proto3" json:"cycle,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DposVrfQuery) Reset()         { *m = DposVrfQuery{} }
func (m *DposVrfQuery) String() string { return proto.CompactTextString(m) }
func (*DposVrfQuery) ProtoMessage()    {}
func (*DposVrfQuery) Descriptor() ([]byte, []int) {
	return fileDescriptor_298cd4e7a8e2cdaf, []int{21}
}

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

var xxx_messageInfo_DposVrfQuery proto.InternalMessageInfo

func (m *DposVrfQuery) GetPubkeys() []string {
	if m != nil {
		return m.Pubkeys
	}
	return nil
}

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

func (m *DposVrfQuery) GetTimestamp() int64 {
	if m != nil {
		return m.Timestamp
	}
	return 0
}

func (m *DposVrfQuery) GetCycle() int64 {
	if m != nil {
		return m.Cycle
	}
	return 0
}

// JSONVrfInfo json格式的vrf信息
type JSONVrfInfo struct {
	Index                int64    `protobuf:"varint,1,opt,name=Index,proto3" json:"Index,omitempty"`
	Pubkey               string   `protobuf:"bytes,2,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
	Cycle                int64    `protobuf:"varint,4,opt,name=cycle,proto3" json:"cycle,omitempty"`
	Height               int64    `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"`
	M                    string   `protobuf:"bytes,6,opt,name=m,proto3" json:"m,omitempty"`
	R                    string   `protobuf:"bytes,7,opt,name=r,proto3" json:"r,omitempty"`
	P                    string   `protobuf:"bytes,8,opt,name=p,proto3" json:"p,omitempty"`
	Time                 int64    `protobuf:"varint,9,opt,name=time,proto3" json:"time,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *JSONVrfInfo) Reset()         { *m = JSONVrfInfo{} }
func (m *JSONVrfInfo) String() string { return proto.CompactTextString(m) }
func (*JSONVrfInfo) ProtoMessage()    {}
func (*JSONVrfInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_298cd4e7a8e2cdaf, []int{22}
}

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

var xxx_messageInfo_JSONVrfInfo proto.InternalMessageInfo

func (m *JSONVrfInfo) GetIndex() int64 {
	if m != nil {
		return m.Index
	}
	return 0
}

func (m *JSONVrfInfo) GetPubkey() string {
	if m != nil {
		return m.Pubkey
	}
	return ""
}

func (m *JSONVrfInfo) GetCycle() int64 {
	if m != nil {
		return m.Cycle
	}
	return 0
}

func (m *JSONVrfInfo) GetHeight() int64 {
	if m != nil {
		return m.Height
	}
	return 0
}

func (m *JSONVrfInfo) GetM() string {
	if m != nil {
		return m.M
	}
	return ""
}

func (m *JSONVrfInfo) GetR() string {
	if m != nil {
		return m.R
	}
	return ""
}

func (m *JSONVrfInfo) GetP() string {
	if m != nil {
		return m.P
	}
	return ""
}

func (m *JSONVrfInfo) GetTime() int64 {
	if m != nil {
		return m.Time
	}
	return 0
}

// DposVrfReply vrf查询响应
type DposVrfReply struct {
	Vrf                  []*JSONVrfInfo `protobuf:"bytes,1,rep,name=vrf,proto3" json:"vrf,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

func (m *DposVrfReply) Reset()         { *m = DposVrfReply{} }
func (m *DposVrfReply) String() string { return proto.CompactTextString(m) }
func (*DposVrfReply) ProtoMessage()    {}
func (*DposVrfReply) Descriptor() ([]byte, []int) {
	return fileDescriptor_298cd4e7a8e2cdaf, []int{23}
}

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

var xxx_messageInfo_DposVrfReply proto.InternalMessageInfo

func (m *DposVrfReply) GetVrf() []*JSONVrfInfo {
	if m != nil {
		return m.Vrf
	}
	return nil
}

// DposCycleBoundaryInfo cycle边界信息
type DposCycleBoundaryInfo struct {
	Cycle                int64    `protobuf:"varint,1,opt,name=cycle,proto3" json:"cycle,omitempty"`
	StopHeight           int64    `protobuf:"varint,2,opt,name=stopHeight,proto3" json:"stopHeight,omitempty"`
	StopHash             []byte   `protobuf:"bytes,3,opt,name=stopHash,proto3" json:"stopHash,omitempty"`
	Pubkey               []byte   `protobuf:"bytes,4,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
	Signature            []byte   `protobuf:"bytes,5,opt,name=signature,proto3" json:"signature,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DposCycleBoundaryInfo) Reset()         { *m = DposCycleBoundaryInfo{} }
func (m *DposCycleBoundaryInfo) String() string { return proto.CompactTextString(m) }
func (*DposCycleBoundaryInfo) ProtoMessage()    {}
func (*DposCycleBoundaryInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_298cd4e7a8e2cdaf, []int{24}
}

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

var xxx_messageInfo_DposCycleBoundaryInfo proto.InternalMessageInfo

func (m *DposCycleBoundaryInfo) GetCycle() int64 {
	if m != nil {
		return m.Cycle
	}
	return 0
}

func (m *DposCycleBoundaryInfo) GetStopHeight() int64 {
	if m != nil {
		return m.StopHeight
	}
	return 0
}

func (m *DposCycleBoundaryInfo) GetStopHash() []byte {
	if m != nil {
		return m.StopHash
	}
	return nil
}

func (m *DposCycleBoundaryInfo) GetPubkey() []byte {
	if m != nil {
		return m.Pubkey
	}
	return nil
}

func (m *DposCycleBoundaryInfo) GetSignature() []byte {
	if m != nil {
		return m.Signature
	}
	return nil
}

// DposCBInfo cycle边界记录请求消息
type DposCBInfo struct {
	Cycle                int64    `protobuf:"varint,1,opt,name=cycle,proto3" json:"cycle,omitempty"`
	StopHeight           int64    `protobuf:"varint,2,opt,name=stopHeight,proto3" json:"stopHeight,omitempty"`
	StopHash             string   `protobuf:"bytes,3,opt,name=stopHash,proto3" json:"stopHash,omitempty"`
	Pubkey               string   `protobuf:"bytes,4,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
	Signature            string   `protobuf:"bytes,5,opt,name=signature,proto3" json:"signature,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DposCBInfo) Reset()         { *m = DposCBInfo{} }
func (m *DposCBInfo) String() string { return proto.CompactTextString(m) }
func (*DposCBInfo) ProtoMessage()    {}
func (*DposCBInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_298cd4e7a8e2cdaf, []int{25}
}

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

var xxx_messageInfo_DposCBInfo proto.InternalMessageInfo

func (m *DposCBInfo) GetCycle() int64 {
	if m != nil {
		return m.Cycle
	}
	return 0
}

func (m *DposCBInfo) GetStopHeight() int64 {
	if m != nil {
		return m.StopHeight
	}
	return 0
}

func (m *DposCBInfo) GetStopHash() string {
	if m != nil {
		return m.StopHash
	}
	return ""
}

func (m *DposCBInfo) GetPubkey() string {
	if m != nil {
		return m.Pubkey
	}
	return ""
}

func (m *DposCBInfo) GetSignature() string {
	if m != nil {
		return m.Signature
	}
	return ""
}

// DposCBQuery cycle边界记录查询请求
type DposCBQuery struct {
	Cycle                int64    `protobuf:"varint,1,opt,name=cycle,proto3" json:"cycle,omitempty"`
	StopHeight           int64    `protobuf:"varint,2,opt,name=stopHeight,proto3" json:"stopHeight,omitempty"`
	StopHash             string   `protobuf:"bytes,3,opt,name=stopHash,proto3" json:"stopHash,omitempty"`
	Ty                   int32    `protobuf:"varint,4,opt,name=ty,proto3" json:"ty,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DposCBQuery) Reset()         { *m = DposCBQuery{} }
func (m *DposCBQuery) String() string { return proto.CompactTextString(m) }
func (*DposCBQuery) ProtoMessage()    {}
func (*DposCBQuery) Descriptor() ([]byte, []int) {
	return fileDescriptor_298cd4e7a8e2cdaf, []int{26}
}

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

var xxx_messageInfo_DposCBQuery proto.InternalMessageInfo

func (m *DposCBQuery) GetCycle() int64 {
	if m != nil {
		return m.Cycle
	}
	return 0
}

func (m *DposCBQuery) GetStopHeight() int64 {
	if m != nil {
		return m.StopHeight
	}
	return 0
}

func (m *DposCBQuery) GetStopHash() string {
	if m != nil {
		return m.StopHash
	}
	return ""
}

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

// DposCBReply cycle边界记录查询响应
type DposCBReply struct {
	CbInfo               *DposCBInfo `protobuf:"bytes,1,opt,name=cbInfo,proto3" json:"cbInfo,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

func (m *DposCBReply) Reset()         { *m = DposCBReply{} }
func (m *DposCBReply) String() string { return proto.CompactTextString(m) }
func (*DposCBReply) ProtoMessage()    {}
func (*DposCBReply) Descriptor() ([]byte, []int) {
	return fileDescriptor_298cd4e7a8e2cdaf, []int{27}
}

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

var xxx_messageInfo_DposCBReply proto.InternalMessageInfo

func (m *DposCBReply) GetCbInfo() *DposCBInfo {
	if m != nil {
		return m.CbInfo
	}
	return nil
}

// ReceiptCB CycleBoundary收据信息
type ReceiptCB struct {
	Index                int64                  `protobuf:"varint,1,opt,name=Index,proto3" json:"Index,omitempty"`
	Pubkey               []byte                 `protobuf:"bytes,2,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
	Status               int64                  `protobuf:"varint,3,opt,name=status,proto3" json:"status,omitempty"`
	Cycle                int64                  `protobuf:"varint,4,opt,name=cycle,proto3" json:"cycle,omitempty"`
	Height               int64                  `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"`
	Time                 int64                  `protobuf:"varint,6,opt,name=time,proto3" json:"time,omitempty"`
	CycleStart           int64                  `protobuf:"varint,7,opt,name=cycleStart,proto3" json:"cycleStart,omitempty"`
	CycleMiddle          int64                  `protobuf:"varint,8,opt,name=cycleMiddle,proto3" json:"cycleMiddle,omitempty"`
	CycleStop            int64                  `protobuf:"varint,9,opt,name=cycleStop,proto3" json:"cycleStop,omitempty"`
	CbInfo               *DposCycleBoundaryInfo `protobuf:"bytes,10,opt,name=cbInfo,proto3" json:"cbInfo,omitempty"`
	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
	XXX_unrecognized     []byte                 `json:"-"`
	XXX_sizecache        int32                  `json:"-"`
}

func (m *ReceiptCB) Reset()         { *m = ReceiptCB{} }
func (m *ReceiptCB) String() string { return proto.CompactTextString(m) }
func (*ReceiptCB) ProtoMessage()    {}
func (*ReceiptCB) Descriptor() ([]byte, []int) {
	return fileDescriptor_298cd4e7a8e2cdaf, []int{28}
}

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

var xxx_messageInfo_ReceiptCB proto.InternalMessageInfo

func (m *ReceiptCB) GetIndex() int64 {
	if m != nil {
		return m.Index
	}
	return 0
}

func (m *ReceiptCB) GetPubkey() []byte {
	if m != nil {
		return m.Pubkey
	}
	return nil
}

func (m *ReceiptCB) GetStatus() int64 {
	if m != nil {
		return m.Status
	}
	return 0
}

func (m *ReceiptCB) GetCycle() int64 {
	if m != nil {
		return m.Cycle
	}
	return 0
}

func (m *ReceiptCB) GetHeight() int64 {
	if m != nil {
		return m.Height
	}
	return 0
}

func (m *ReceiptCB) GetTime() int64 {
	if m != nil {
		return m.Time
	}
	return 0
}

func (m *ReceiptCB) GetCycleStart() int64 {
	if m != nil {
		return m.CycleStart
	}
	return 0
}

func (m *ReceiptCB) GetCycleMiddle() int64 {
	if m != nil {
		return m.CycleMiddle
	}
	return 0
}

func (m *ReceiptCB) GetCycleStop() int64 {
	if m != nil {
		return m.CycleStop
	}
	return 0
}

func (m *ReceiptCB) GetCbInfo() *DposCycleBoundaryInfo {
	if m != nil {
		return m.CbInfo
	}
	return nil
}

// TopNCandidator topN候选者
type TopNCandidator struct {
	Cands                []*Candidator `protobuf:"bytes,1,rep,name=cands,proto3" json:"cands,omitempty"`
	Hash                 []byte        `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"`
	Height               int64         `protobuf:"varint,3,opt,name=height,proto3" json:"height,omitempty"`
	SignerPubkey         []byte        `protobuf:"bytes,4,opt,name=signerPubkey,proto3" json:"signerPubkey,omitempty"`
	Signature            []byte        `protobuf:"bytes,5,opt,name=signature,proto3" json:"signature,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

func (m *TopNCandidator) Reset()         { *m = TopNCandidator{} }
func (m *TopNCandidator) String() string { return proto.CompactTextString(m) }
func (*TopNCandidator) ProtoMessage()    {}
func (*TopNCandidator) Descriptor() ([]byte, []int) {
	return fileDescriptor_298cd4e7a8e2cdaf, []int{29}
}

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

var xxx_messageInfo_TopNCandidator proto.InternalMessageInfo

func (m *TopNCandidator) GetCands() []*Candidator {
	if m != nil {
		return m.Cands
	}
	return nil
}

func (m *TopNCandidator) GetHash() []byte {
	if m != nil {
		return m.Hash
	}
	return nil
}

func (m *TopNCandidator) GetHeight() int64 {
	if m != nil {
		return m.Height
	}
	return 0
}

func (m *TopNCandidator) GetSignerPubkey() []byte {
	if m != nil {
		return m.SignerPubkey
	}
	return nil
}

func (m *TopNCandidator) GetSignature() []byte {
	if m != nil {
		return m.Signature
	}
	return nil
}

// TopNCandidators topN候选者(复数)
type TopNCandidators struct {
	CandsVotes           []*TopNCandidator `protobuf:"bytes,1,rep,name=candsVotes,proto3" json:"candsVotes,omitempty"`
	Version              int64             `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"`
	Status               int64             `protobuf:"varint,3,opt,name=status,proto3" json:"status,omitempty"`
	FinalCands           []*Candidator     `protobuf:"bytes,4,rep,name=finalCands,proto3" json:"finalCands,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *TopNCandidators) Reset()         { *m = TopNCandidators{} }
func (m *TopNCandidators) String() string { return proto.CompactTextString(m) }
func (*TopNCandidators) ProtoMessage()    {}
func (*TopNCandidators) Descriptor() ([]byte, []int) {
	return fileDescriptor_298cd4e7a8e2cdaf, []int{30}
}

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

var xxx_messageInfo_TopNCandidators proto.InternalMessageInfo

func (m *TopNCandidators) GetCandsVotes() []*TopNCandidator {
	if m != nil {
		return m.CandsVotes
	}
	return nil
}

func (m *TopNCandidators) GetVersion() int64 {
	if m != nil {
		return m.Version
	}
	return 0
}

func (m *TopNCandidators) GetStatus() int64 {
	if m != nil {
		return m.Status
	}
	return 0
}

func (m *TopNCandidators) GetFinalCands() []*Candidator {
	if m != nil {
		return m.FinalCands
	}
	return nil
}

// TopNCandidatorRegist topN候选者注册请求
type TopNCandidatorRegist struct {
	Cand                 *TopNCandidator `protobuf:"bytes,1,opt,name=cand,proto3" json:"cand,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *TopNCandidatorRegist) Reset()         { *m = TopNCandidatorRegist{} }
func (m *TopNCandidatorRegist) String() string { return proto.CompactTextString(m) }
func (*TopNCandidatorRegist) ProtoMessage()    {}
func (*TopNCandidatorRegist) Descriptor() ([]byte, []int) {
	return fileDescriptor_298cd4e7a8e2cdaf, []int{31}
}

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

var xxx_messageInfo_TopNCandidatorRegist proto.InternalMessageInfo

func (m *TopNCandidatorRegist) GetCand() *TopNCandidator {
	if m != nil {
		return m.Cand
	}
	return nil
}

// TopNCandidatorsQuery topN候选者查询请求
type TopNCandidatorsQuery struct {
	Version              int64    `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TopNCandidatorsQuery) Reset()         { *m = TopNCandidatorsQuery{} }
func (m *TopNCandidatorsQuery) String() string { return proto.CompactTextString(m) }
func (*TopNCandidatorsQuery) ProtoMessage()    {}
func (*TopNCandidatorsQuery) Descriptor() ([]byte, []int) {
	return fileDescriptor_298cd4e7a8e2cdaf, []int{32}
}

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

var xxx_messageInfo_TopNCandidatorsQuery proto.InternalMessageInfo

func (m *TopNCandidatorsQuery) GetVersion() int64 {
	if m != nil {
		return m.Version
	}
	return 0
}

// TopNCandidatorsReply topN候选者查询响应
type TopNCandidatorsReply struct {
	TopN                 *TopNCandidators `protobuf:"bytes,1,opt,name=topN,proto3" json:"topN,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

func (m *TopNCandidatorsReply) Reset()         { *m = TopNCandidatorsReply{} }
func (m *TopNCandidatorsReply) String() string { return proto.CompactTextString(m) }
func (*TopNCandidatorsReply) ProtoMessage()    {}
func (*TopNCandidatorsReply) Descriptor() ([]byte, []int) {
	return fileDescriptor_298cd4e7a8e2cdaf, []int{33}
}

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

var xxx_messageInfo_TopNCandidatorsReply proto.InternalMessageInfo

func (m *TopNCandidatorsReply) GetTopN() *TopNCandidators {
	if m != nil {
		return m.TopN
	}
	return nil
}

// ReceiptTopN topN注册的收据信息
type ReceiptTopN struct {
	Index                int64           `protobuf:"varint,1,opt,name=Index,proto3" json:"Index,omitempty"`
	Pubkey               []byte          `protobuf:"bytes,2,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
	Status               int64           `protobuf:"varint,3,opt,name=status,proto3" json:"status,omitempty"`
	Version              int64           `protobuf:"varint,4,opt,name=version,proto3" json:"version,omitempty"`
	Height               int64           `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"`
	Time                 int64           `protobuf:"varint,6,opt,name=time,proto3" json:"time,omitempty"`
	TopN                 *TopNCandidator `protobuf:"bytes,10,opt,name=topN,proto3" json:"topN,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *ReceiptTopN) Reset()         { *m = ReceiptTopN{} }
func (m *ReceiptTopN) String() string { return proto.CompactTextString(m) }
func (*ReceiptTopN) ProtoMessage()    {}
func (*ReceiptTopN) Descriptor() ([]byte, []int) {
	return fileDescriptor_298cd4e7a8e2cdaf, []int{34}
}

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

var xxx_messageInfo_ReceiptTopN proto.InternalMessageInfo

func (m *ReceiptTopN) GetIndex() int64 {
	if m != nil {
		return m.Index
	}
	return 0
}

func (m *ReceiptTopN) GetPubkey() []byte {
	if m != nil {
		return m.Pubkey
	}
	return nil
}

func (m *ReceiptTopN) GetStatus() int64 {
	if m != nil {
		return m.Status
	}
	return 0
}

func (m *ReceiptTopN) GetVersion() int64 {
	if m != nil {
		return m.Version
	}
	return 0
}

func (m *ReceiptTopN) GetHeight() int64 {
	if m != nil {
		return m.Height
	}
	return 0
}

func (m *ReceiptTopN) GetTime() int64 {
	if m != nil {
		return m.Time
	}
	return 0
}

func (m *ReceiptTopN) GetTopN() *TopNCandidator {
	if m != nil {
		return m.TopN
	}
	return nil
}

func init() {
	proto.RegisterType((*CandidatorInfo)(nil), "types.CandidatorInfo")
	proto.RegisterType((*DposVoter)(nil), "types.DposVoter")
	proto.RegisterType((*Candidator)(nil), "types.Candidator")
	proto.RegisterType((*DposCandidatorRegist)(nil), "types.DposCandidatorRegist")
	proto.RegisterType((*DposCandidatorCancelRegist)(nil), "types.DposCandidatorCancelRegist")
	proto.RegisterType((*DposVote)(nil), "types.DposVote")
	proto.RegisterType((*DposCancelVote)(nil), "types.DposCancelVote")
	proto.RegisterType((*DposVoteAction)(nil), "types.DposVoteAction")
	proto.RegisterType((*CandidatorQuery)(nil), "types.CandidatorQuery")
	proto.RegisterType((*JSONCandidator)(nil), "types.JSONCandidator")
	proto.RegisterType((*CandidatorReply)(nil), "types.CandidatorReply")
	proto.RegisterType((*DposVoteQuery)(nil), "types.DposVoteQuery")
	proto.RegisterType((*JSONDposVoter)(nil), "types.JSONDposVoter")
	proto.RegisterType((*DposVoteReply)(nil), "types.DposVoteReply")
	proto.RegisterType((*ReceiptCandicator)(nil), "types.ReceiptCandicator")
	proto.RegisterType((*DposVrfM)(nil), "types.DposVrfM")
	proto.RegisterType((*DposVrfRP)(nil), "types.DposVrfRP")
	proto.RegisterType((*DposVrfMRegist)(nil), "types.DposVrfMRegist")
	proto.RegisterType((*DposVrfRPRegist)(nil), "types.DposVrfRPRegist")
	proto.RegisterType((*ReceiptVrf)(nil), "types.ReceiptVrf")
	proto.RegisterType((*VrfInfo)(nil), "types.VrfInfo")
	proto.RegisterType((*DposVrfQuery)(nil), "types.DposVrfQuery")
	proto.RegisterType((*JSONVrfInfo)(nil), "types.JSONVrfInfo")
	proto.RegisterType((*DposVrfReply)(nil), "types.DposVrfReply")
	proto.RegisterType((*DposCycleBoundaryInfo)(nil), "types.DposCycleBoundaryInfo")
	proto.RegisterType((*DposCBInfo)(nil), "types.DposCBInfo")
	proto.RegisterType((*DposCBQuery)(nil), "types.DposCBQuery")
	proto.RegisterType((*DposCBReply)(nil), "types.DposCBReply")
	proto.RegisterType((*ReceiptCB)(nil), "types.ReceiptCB")
	proto.RegisterType((*TopNCandidator)(nil), "types.TopNCandidator")
	proto.RegisterType((*TopNCandidators)(nil), "types.TopNCandidators")
	proto.RegisterType((*TopNCandidatorRegist)(nil), "types.TopNCandidatorRegist")
	proto.RegisterType((*TopNCandidatorsQuery)(nil), "types.TopNCandidatorsQuery")
	proto.RegisterType((*TopNCandidatorsReply)(nil), "types.TopNCandidatorsReply")
	proto.RegisterType((*ReceiptTopN)(nil), "types.ReceiptTopN")
}

func init() {
	proto.RegisterFile("dposvote.proto", fileDescriptor_298cd4e7a8e2cdaf)
}

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