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

/*
Package types is a generated protocol buffer package.

It is generated from these files:
	dpos_msg.proto

It has these top-level messages:
	CycleBoundaryInfo
	SuperNode
	VoteItem
	DPosVote
	DPosVoteReply
	DPosNotify
	DPosCBInfo
*/
package types

import (
	fmt "fmt"

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

	math "math"
)

// 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.ProtoPackageIsVersion2 // please upgrade the proto package

// CycleBoundaryInfo cycle边界信息
type CycleBoundaryInfo struct {
	Cycle      int64  `protobuf:"varint,1,opt,name=cycle" json:"cycle,omitempty"`
	StopHeight int64  `protobuf:"varint,2,opt,name=stopHeight" json:"stopHeight,omitempty"`
	StopHash   string `protobuf:"bytes,3,opt,name=stopHash" json:"stopHash,omitempty"`
}

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

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

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

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

// SuperNode 超级节点信息
type SuperNode struct {
	Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	PubKey  []byte `protobuf:"bytes,2,opt,name=pubKey,proto3" json:"pubKey,omitempty"`
}

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

func (m *SuperNode) GetAddress() []byte {
	if m != nil {
		return m.Address
	}
	return nil
}

func (m *SuperNode) GetPubKey() []byte {
	if m != nil {
		return m.PubKey
	}
	return nil
}

// VoteItem 投票信息
type VoteItem struct {
	VotedNodeIndex   int32              `protobuf:"varint,1,opt,name=votedNodeIndex" json:"votedNodeIndex,omitempty"`
	VotedNodeAddress []byte             `protobuf:"bytes,2,opt,name=votedNodeAddress,proto3" json:"votedNodeAddress,omitempty"`
	Cycle            int64              `protobuf:"varint,3,opt,name=cycle" json:"cycle,omitempty"`
	CycleStart       int64              `protobuf:"varint,4,opt,name=cycleStart" json:"cycleStart,omitempty"`
	CycleStop        int64              `protobuf:"varint,5,opt,name=cycleStop" json:"cycleStop,omitempty"`
	PeriodStart      int64              `protobuf:"varint,6,opt,name=periodStart" json:"periodStart,omitempty"`
	PeriodStop       int64              `protobuf:"varint,7,opt,name=periodStop" json:"periodStop,omitempty"`
	Height           int64              `protobuf:"varint,8,opt,name=height" json:"height,omitempty"`
	VoteID           []byte             `protobuf:"bytes,9,opt,name=voteID,proto3" json:"voteID,omitempty"`
	LastCBInfo       *CycleBoundaryInfo `protobuf:"bytes,10,opt,name=lastCBInfo" json:"lastCBInfo,omitempty"`
	ShuffleType      int64              `protobuf:"varint,11,opt,name=shuffleType" json:"shuffleType,omitempty"`
	Validators       []*SuperNode       `protobuf:"bytes,12,rep,name=validators" json:"validators,omitempty"`
	VrfValidators    []*SuperNode       `protobuf:"bytes,13,rep,name=vrfValidators" json:"vrfValidators,omitempty"`
	NoVrfValidators  []*SuperNode       `protobuf:"bytes,14,rep,name=noVrfValidators" json:"noVrfValidators,omitempty"`
}

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

func (m *VoteItem) GetVotedNodeIndex() int32 {
	if m != nil {
		return m.VotedNodeIndex
	}
	return 0
}

func (m *VoteItem) GetVotedNodeAddress() []byte {
	if m != nil {
		return m.VotedNodeAddress
	}
	return nil
}

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

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

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

func (m *VoteItem) GetPeriodStart() int64 {
	if m != nil {
		return m.PeriodStart
	}
	return 0
}

func (m *VoteItem) GetPeriodStop() int64 {
	if m != nil {
		return m.PeriodStop
	}
	return 0
}

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

func (m *VoteItem) GetVoteID() []byte {
	if m != nil {
		return m.VoteID
	}
	return nil
}

func (m *VoteItem) GetLastCBInfo() *CycleBoundaryInfo {
	if m != nil {
		return m.LastCBInfo
	}
	return nil
}

func (m *VoteItem) GetShuffleType() int64 {
	if m != nil {
		return m.ShuffleType
	}
	return 0
}

func (m *VoteItem) GetValidators() []*SuperNode {
	if m != nil {
		return m.Validators
	}
	return nil
}

func (m *VoteItem) GetVrfValidators() []*SuperNode {
	if m != nil {
		return m.VrfValidators
	}
	return nil
}

func (m *VoteItem) GetNoVrfValidators() []*SuperNode {
	if m != nil {
		return m.NoVrfValidators
	}
	return nil
}

// DPosVote Dpos共识的节点投票，为达成共识用。
type DPosVote struct {
	VoteItem         *VoteItem `protobuf:"bytes,1,opt,name=voteItem" json:"voteItem,omitempty"`
	VoteTimestamp    int64     `protobuf:"varint,2,opt,name=voteTimestamp" json:"voteTimestamp,omitempty"`
	VoterNodeIndex   int32     `protobuf:"varint,3,opt,name=voterNodeIndex" json:"voterNodeIndex,omitempty"`
	VoterNodeAddress []byte    `protobuf:"bytes,4,opt,name=voterNodeAddress,proto3" json:"voterNodeAddress,omitempty"`
	Signature        []byte    `protobuf:"bytes,5,opt,name=signature,proto3" json:"signature,omitempty"`
}

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

func (m *DPosVote) GetVoteItem() *VoteItem {
	if m != nil {
		return m.VoteItem
	}
	return nil
}

func (m *DPosVote) GetVoteTimestamp() int64 {
	if m != nil {
		return m.VoteTimestamp
	}
	return 0
}

func (m *DPosVote) GetVoterNodeIndex() int32 {
	if m != nil {
		return m.VoterNodeIndex
	}
	return 0
}

func (m *DPosVote) GetVoterNodeAddress() []byte {
	if m != nil {
		return m.VoterNodeAddress
	}
	return nil
}

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

// DPosVoteReply 投票响应。
type DPosVoteReply struct {
	Vote *DPosVote `protobuf:"bytes,1,opt,name=vote" json:"vote,omitempty"`
}

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

func (m *DPosVoteReply) GetVote() *DPosVote {
	if m != nil {
		return m.Vote
	}
	return nil
}

// DPosNotify Dpos委托节点出块周期结束时，通知其他节点进行高度确认及新节点投票。
type DPosNotify struct {
	Vote              *VoteItem `protobuf:"bytes,1,opt,name=vote" json:"vote,omitempty"`
	HeightStop        int64     `protobuf:"varint,2,opt,name=heightStop" json:"heightStop,omitempty"`
	HashStop          []byte    `protobuf:"bytes,3,opt,name=hashStop,proto3" json:"hashStop,omitempty"`
	NotifyTimestamp   int64     `protobuf:"varint,4,opt,name=notifyTimestamp" json:"notifyTimestamp,omitempty"`
	NotifyNodeIndex   int32     `protobuf:"varint,5,opt,name=notifyNodeIndex" json:"notifyNodeIndex,omitempty"`
	NotifyNodeAddress []byte    `protobuf:"bytes,6,opt,name=notifyNodeAddress,proto3" json:"notifyNodeAddress,omitempty"`
	Signature         []byte    `protobuf:"bytes,7,opt,name=signature,proto3" json:"signature,omitempty"`
}

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

func (m *DPosNotify) GetVote() *VoteItem {
	if m != nil {
		return m.Vote
	}
	return nil
}

func (m *DPosNotify) GetHeightStop() int64 {
	if m != nil {
		return m.HeightStop
	}
	return 0
}

func (m *DPosNotify) GetHashStop() []byte {
	if m != nil {
		return m.HashStop
	}
	return nil
}

func (m *DPosNotify) GetNotifyTimestamp() int64 {
	if m != nil {
		return m.NotifyTimestamp
	}
	return 0
}

func (m *DPosNotify) GetNotifyNodeIndex() int32 {
	if m != nil {
		return m.NotifyNodeIndex
	}
	return 0
}

func (m *DPosNotify) GetNotifyNodeAddress() []byte {
	if m != nil {
		return m.NotifyNodeAddress
	}
	return nil
}

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

// DPosCBInfo Cycle boundary注册信息。
type DPosCBInfo struct {
	Cycle      int64  `protobuf:"varint,1,opt,name=cycle" json:"cycle,omitempty"`
	StopHeight int64  `protobuf:"varint,2,opt,name=stopHeight" json:"stopHeight,omitempty"`
	StopHash   string `protobuf:"bytes,3,opt,name=stopHash" json:"stopHash,omitempty"`
	Pubkey     string `protobuf:"bytes,4,opt,name=pubkey" json:"pubkey,omitempty"`
	Signature  string `protobuf:"bytes,5,opt,name=signature" json:"signature,omitempty"`
}

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

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 ""
}

func init() {
	proto.RegisterType((*CycleBoundaryInfo)(nil), "types.CycleBoundaryInfo")
	proto.RegisterType((*SuperNode)(nil), "types.SuperNode")
	proto.RegisterType((*VoteItem)(nil), "types.VoteItem")
	proto.RegisterType((*DPosVote)(nil), "types.DPosVote")
	proto.RegisterType((*DPosVoteReply)(nil), "types.DPosVoteReply")
	proto.RegisterType((*DPosNotify)(nil), "types.DPosNotify")
	proto.RegisterType((*DPosCBInfo)(nil), "types.DPosCBInfo")
}

func init() { proto.RegisterFile("dpos_msg.proto", fileDescriptor0) }

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