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

package types

import (
	fmt "fmt"

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

	math "math"

	types "github.com/33cn/chain33/types"

	context "golang.org/x/net/context"

	grpc "google.golang.org/grpc"
)

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

// stateDB
type ParacrossStatusDetails struct {
	Addrs                []string `protobuf:"bytes,1,rep,name=addrs,proto3" json:"addrs,omitempty"`
	BlockHash            [][]byte `protobuf:"bytes,2,rep,name=blockHash,proto3" json:"blockHash,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ParacrossStatusDetails) Reset()         { *m = ParacrossStatusDetails{} }
func (m *ParacrossStatusDetails) String() string { return proto.CompactTextString(m) }
func (*ParacrossStatusDetails) ProtoMessage()    {}
func (*ParacrossStatusDetails) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{0}
}
func (m *ParacrossStatusDetails) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ParacrossStatusDetails.Unmarshal(m, b)
}
func (m *ParacrossStatusDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ParacrossStatusDetails.Marshal(b, m, deterministic)
}
func (dst *ParacrossStatusDetails) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ParacrossStatusDetails.Merge(dst, src)
}
func (m *ParacrossStatusDetails) XXX_Size() int {
	return xxx_messageInfo_ParacrossStatusDetails.Size(m)
}
func (m *ParacrossStatusDetails) XXX_DiscardUnknown() {
	xxx_messageInfo_ParacrossStatusDetails.DiscardUnknown(m)
}

var xxx_messageInfo_ParacrossStatusDetails proto.InternalMessageInfo

func (m *ParacrossStatusDetails) GetAddrs() []string {
	if m != nil {
		return m.Addrs
	}
	return nil
}

func (m *ParacrossStatusDetails) GetBlockHash() [][]byte {
	if m != nil {
		return m.BlockHash
	}
	return nil
}

// 记录不同blockHash的详细数据
type ParacrossStatusBlockDetails struct {
	BlockHashs           [][]byte `protobuf:"bytes,1,rep,name=blockHashs,proto3" json:"blockHashs,omitempty"`
	TxResults            [][]byte `protobuf:"bytes,2,rep,name=txResults,proto3" json:"txResults,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ParacrossStatusBlockDetails) Reset()         { *m = ParacrossStatusBlockDetails{} }
func (m *ParacrossStatusBlockDetails) String() string { return proto.CompactTextString(m) }
func (*ParacrossStatusBlockDetails) ProtoMessage()    {}
func (*ParacrossStatusBlockDetails) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{1}
}
func (m *ParacrossStatusBlockDetails) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ParacrossStatusBlockDetails.Unmarshal(m, b)
}
func (m *ParacrossStatusBlockDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ParacrossStatusBlockDetails.Marshal(b, m, deterministic)
}
func (dst *ParacrossStatusBlockDetails) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ParacrossStatusBlockDetails.Merge(dst, src)
}
func (m *ParacrossStatusBlockDetails) XXX_Size() int {
	return xxx_messageInfo_ParacrossStatusBlockDetails.Size(m)
}
func (m *ParacrossStatusBlockDetails) XXX_DiscardUnknown() {
	xxx_messageInfo_ParacrossStatusBlockDetails.DiscardUnknown(m)
}

var xxx_messageInfo_ParacrossStatusBlockDetails proto.InternalMessageInfo

func (m *ParacrossStatusBlockDetails) GetBlockHashs() [][]byte {
	if m != nil {
		return m.BlockHashs
	}
	return nil
}

func (m *ParacrossStatusBlockDetails) GetTxResults() [][]byte {
	if m != nil {
		return m.TxResults
	}
	return nil
}

type ParacrossHeightStatus struct {
	// ing, done
	Status               int32                        `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"`
	Title                string                       `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
	Height               int64                        `protobuf:"varint,3,opt,name=height,proto3" json:"height,omitempty"`
	Details              *ParacrossStatusDetails      `protobuf:"bytes,4,opt,name=details,proto3" json:"details,omitempty"`
	MainHeight           int64                        `protobuf:"varint,5,opt,name=mainHeight,proto3" json:"mainHeight,omitempty"`
	MainHash             []byte                       `protobuf:"bytes,6,opt,name=mainHash,proto3" json:"mainHash,omitempty"`
	BlockDetails         *ParacrossStatusBlockDetails `protobuf:"bytes,7,opt,name=blockDetails,proto3" json:"blockDetails,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                     `json:"-"`
	XXX_unrecognized     []byte                       `json:"-"`
	XXX_sizecache        int32                        `json:"-"`
}

func (m *ParacrossHeightStatus) Reset()         { *m = ParacrossHeightStatus{} }
func (m *ParacrossHeightStatus) String() string { return proto.CompactTextString(m) }
func (*ParacrossHeightStatus) ProtoMessage()    {}
func (*ParacrossHeightStatus) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{2}
}
func (m *ParacrossHeightStatus) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ParacrossHeightStatus.Unmarshal(m, b)
}
func (m *ParacrossHeightStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ParacrossHeightStatus.Marshal(b, m, deterministic)
}
func (dst *ParacrossHeightStatus) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ParacrossHeightStatus.Merge(dst, src)
}
func (m *ParacrossHeightStatus) XXX_Size() int {
	return xxx_messageInfo_ParacrossHeightStatus.Size(m)
}
func (m *ParacrossHeightStatus) XXX_DiscardUnknown() {
	xxx_messageInfo_ParacrossHeightStatus.DiscardUnknown(m)
}

var xxx_messageInfo_ParacrossHeightStatus proto.InternalMessageInfo

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

func (m *ParacrossHeightStatus) GetTitle() string {
	if m != nil {
		return m.Title
	}
	return ""
}

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

func (m *ParacrossHeightStatus) GetDetails() *ParacrossStatusDetails {
	if m != nil {
		return m.Details
	}
	return nil
}

func (m *ParacrossHeightStatus) GetMainHeight() int64 {
	if m != nil {
		return m.MainHeight
	}
	return 0
}

func (m *ParacrossHeightStatus) GetMainHash() []byte {
	if m != nil {
		return m.MainHash
	}
	return nil
}

func (m *ParacrossHeightStatus) GetBlockDetails() *ParacrossStatusBlockDetails {
	if m != nil {
		return m.BlockDetails
	}
	return nil
}

type ParacrossHeightStatusRsp struct {
	Status               int32    `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"`
	Title                string   `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
	Height               int64    `protobuf:"varint,3,opt,name=height,proto3" json:"height,omitempty"`
	MainHeight           int64    `protobuf:"varint,4,opt,name=mainHeight,proto3" json:"mainHeight,omitempty"`
	MainHash             string   `protobuf:"bytes,5,opt,name=mainHash,proto3" json:"mainHash,omitempty"`
	CommitAddrs          []string `protobuf:"bytes,6,rep,name=commitAddrs,proto3" json:"commitAddrs,omitempty"`
	CommitBlockHash      []string `protobuf:"bytes,7,rep,name=commitBlockHash,proto3" json:"commitBlockHash,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ParacrossHeightStatusRsp) Reset()         { *m = ParacrossHeightStatusRsp{} }
func (m *ParacrossHeightStatusRsp) String() string { return proto.CompactTextString(m) }
func (*ParacrossHeightStatusRsp) ProtoMessage()    {}
func (*ParacrossHeightStatusRsp) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{3}
}
func (m *ParacrossHeightStatusRsp) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ParacrossHeightStatusRsp.Unmarshal(m, b)
}
func (m *ParacrossHeightStatusRsp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ParacrossHeightStatusRsp.Marshal(b, m, deterministic)
}
func (dst *ParacrossHeightStatusRsp) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ParacrossHeightStatusRsp.Merge(dst, src)
}
func (m *ParacrossHeightStatusRsp) XXX_Size() int {
	return xxx_messageInfo_ParacrossHeightStatusRsp.Size(m)
}
func (m *ParacrossHeightStatusRsp) XXX_DiscardUnknown() {
	xxx_messageInfo_ParacrossHeightStatusRsp.DiscardUnknown(m)
}

var xxx_messageInfo_ParacrossHeightStatusRsp proto.InternalMessageInfo

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

func (m *ParacrossHeightStatusRsp) GetTitle() string {
	if m != nil {
		return m.Title
	}
	return ""
}

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

func (m *ParacrossHeightStatusRsp) GetMainHeight() int64 {
	if m != nil {
		return m.MainHeight
	}
	return 0
}

func (m *ParacrossHeightStatusRsp) GetMainHash() string {
	if m != nil {
		return m.MainHash
	}
	return ""
}

func (m *ParacrossHeightStatusRsp) GetCommitAddrs() []string {
	if m != nil {
		return m.CommitAddrs
	}
	return nil
}

func (m *ParacrossHeightStatusRsp) GetCommitBlockHash() []string {
	if m != nil {
		return m.CommitBlockHash
	}
	return nil
}

type ParacrossStatus struct {
	Title                string   `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
	Height               int64    `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"`
	BlockHash            []byte   `protobuf:"bytes,3,opt,name=blockHash,proto3" json:"blockHash,omitempty"`
	MainHeight           int64    `protobuf:"varint,4,opt,name=mainHeight,proto3" json:"mainHeight,omitempty"`
	MainHash             []byte   `protobuf:"bytes,5,opt,name=mainHash,proto3" json:"mainHash,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ParacrossStatus) Reset()         { *m = ParacrossStatus{} }
func (m *ParacrossStatus) String() string { return proto.CompactTextString(m) }
func (*ParacrossStatus) ProtoMessage()    {}
func (*ParacrossStatus) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{4}
}
func (m *ParacrossStatus) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ParacrossStatus.Unmarshal(m, b)
}
func (m *ParacrossStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ParacrossStatus.Marshal(b, m, deterministic)
}
func (dst *ParacrossStatus) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ParacrossStatus.Merge(dst, src)
}
func (m *ParacrossStatus) XXX_Size() int {
	return xxx_messageInfo_ParacrossStatus.Size(m)
}
func (m *ParacrossStatus) XXX_DiscardUnknown() {
	xxx_messageInfo_ParacrossStatus.DiscardUnknown(m)
}

var xxx_messageInfo_ParacrossStatus proto.InternalMessageInfo

func (m *ParacrossStatus) GetTitle() string {
	if m != nil {
		return m.Title
	}
	return ""
}

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

func (m *ParacrossStatus) GetBlockHash() []byte {
	if m != nil {
		return m.BlockHash
	}
	return nil
}

func (m *ParacrossStatus) GetMainHeight() int64 {
	if m != nil {
		return m.MainHeight
	}
	return 0
}

func (m *ParacrossStatus) GetMainHash() []byte {
	if m != nil {
		return m.MainHash
	}
	return nil
}

type ParacrossConsensusStatus struct {
	Title                string   `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
	ChainHeight          int64    `protobuf:"varint,2,opt,name=chainHeight,proto3" json:"chainHeight,omitempty"`
	ConsensHeight        int64    `protobuf:"varint,3,opt,name=consensHeight,proto3" json:"consensHeight,omitempty"`
	ConsensBlockHash     string   `protobuf:"bytes,4,opt,name=consensBlockHash,proto3" json:"consensBlockHash,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ParacrossConsensusStatus) Reset()         { *m = ParacrossConsensusStatus{} }
func (m *ParacrossConsensusStatus) String() string { return proto.CompactTextString(m) }
func (*ParacrossConsensusStatus) ProtoMessage()    {}
func (*ParacrossConsensusStatus) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{5}
}
func (m *ParacrossConsensusStatus) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ParacrossConsensusStatus.Unmarshal(m, b)
}
func (m *ParacrossConsensusStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ParacrossConsensusStatus.Marshal(b, m, deterministic)
}
func (dst *ParacrossConsensusStatus) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ParacrossConsensusStatus.Merge(dst, src)
}
func (m *ParacrossConsensusStatus) XXX_Size() int {
	return xxx_messageInfo_ParacrossConsensusStatus.Size(m)
}
func (m *ParacrossConsensusStatus) XXX_DiscardUnknown() {
	xxx_messageInfo_ParacrossConsensusStatus.DiscardUnknown(m)
}

var xxx_messageInfo_ParacrossConsensusStatus proto.InternalMessageInfo

func (m *ParacrossConsensusStatus) GetTitle() string {
	if m != nil {
		return m.Title
	}
	return ""
}

func (m *ParacrossConsensusStatus) GetChainHeight() int64 {
	if m != nil {
		return m.ChainHeight
	}
	return 0
}

func (m *ParacrossConsensusStatus) GetConsensHeight() int64 {
	if m != nil {
		return m.ConsensHeight
	}
	return 0
}

func (m *ParacrossConsensusStatus) GetConsensBlockHash() string {
	if m != nil {
		return m.ConsensBlockHash
	}
	return ""
}

type ParaNodeAddrConfig struct {
	Title                string   `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
	Op                   uint32   `protobuf:"varint,2,opt,name=op,proto3" json:"op,omitempty"`
	Id                   string   `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"`
	Addr                 string   `protobuf:"bytes,4,opt,name=addr,proto3" json:"addr,omitempty"`
	Value                uint32   `protobuf:"varint,5,opt,name=value,proto3" json:"value,omitempty"`
	CoinsFrozen          int64    `protobuf:"varint,6,opt,name=coinsFrozen,proto3" json:"coinsFrozen,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ParaNodeAddrConfig) Reset()         { *m = ParaNodeAddrConfig{} }
func (m *ParaNodeAddrConfig) String() string { return proto.CompactTextString(m) }
func (*ParaNodeAddrConfig) ProtoMessage()    {}
func (*ParaNodeAddrConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{6}
}
func (m *ParaNodeAddrConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ParaNodeAddrConfig.Unmarshal(m, b)
}
func (m *ParaNodeAddrConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ParaNodeAddrConfig.Marshal(b, m, deterministic)
}
func (dst *ParaNodeAddrConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ParaNodeAddrConfig.Merge(dst, src)
}
func (m *ParaNodeAddrConfig) XXX_Size() int {
	return xxx_messageInfo_ParaNodeAddrConfig.Size(m)
}
func (m *ParaNodeAddrConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_ParaNodeAddrConfig.DiscardUnknown(m)
}

var xxx_messageInfo_ParaNodeAddrConfig proto.InternalMessageInfo

func (m *ParaNodeAddrConfig) GetTitle() string {
	if m != nil {
		return m.Title
	}
	return ""
}

func (m *ParaNodeAddrConfig) GetOp() uint32 {
	if m != nil {
		return m.Op
	}
	return 0
}

func (m *ParaNodeAddrConfig) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

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

func (m *ParaNodeAddrConfig) GetValue() uint32 {
	if m != nil {
		return m.Value
	}
	return 0
}

func (m *ParaNodeAddrConfig) GetCoinsFrozen() int64 {
	if m != nil {
		return m.CoinsFrozen
	}
	return 0
}

type ParaNodeVoteDetail struct {
	Addrs                []string `protobuf:"bytes,1,rep,name=addrs,proto3" json:"addrs,omitempty"`
	Votes                []string `protobuf:"bytes,2,rep,name=votes,proto3" json:"votes,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ParaNodeVoteDetail) Reset()         { *m = ParaNodeVoteDetail{} }
func (m *ParaNodeVoteDetail) String() string { return proto.CompactTextString(m) }
func (*ParaNodeVoteDetail) ProtoMessage()    {}
func (*ParaNodeVoteDetail) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{7}
}
func (m *ParaNodeVoteDetail) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ParaNodeVoteDetail.Unmarshal(m, b)
}
func (m *ParaNodeVoteDetail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ParaNodeVoteDetail.Marshal(b, m, deterministic)
}
func (dst *ParaNodeVoteDetail) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ParaNodeVoteDetail.Merge(dst, src)
}
func (m *ParaNodeVoteDetail) XXX_Size() int {
	return xxx_messageInfo_ParaNodeVoteDetail.Size(m)
}
func (m *ParaNodeVoteDetail) XXX_DiscardUnknown() {
	xxx_messageInfo_ParaNodeVoteDetail.DiscardUnknown(m)
}

var xxx_messageInfo_ParaNodeVoteDetail proto.InternalMessageInfo

func (m *ParaNodeVoteDetail) GetAddrs() []string {
	if m != nil {
		return m.Addrs
	}
	return nil
}

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

type ParaNodeAddrIdStatus struct {
	Addr                 string   `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"`
	ProposalId           string   `protobuf:"bytes,2,opt,name=proposalId,proto3" json:"proposalId,omitempty"`
	QuitId               string   `protobuf:"bytes,3,opt,name=quitId,proto3" json:"quitId,omitempty"`
	Status               int32    `protobuf:"varint,4,opt,name=status,proto3" json:"status,omitempty"`
	Title                string   `protobuf:"bytes,5,opt,name=title,proto3" json:"title,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ParaNodeAddrIdStatus) Reset()         { *m = ParaNodeAddrIdStatus{} }
func (m *ParaNodeAddrIdStatus) String() string { return proto.CompactTextString(m) }
func (*ParaNodeAddrIdStatus) ProtoMessage()    {}
func (*ParaNodeAddrIdStatus) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{8}
}
func (m *ParaNodeAddrIdStatus) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ParaNodeAddrIdStatus.Unmarshal(m, b)
}
func (m *ParaNodeAddrIdStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ParaNodeAddrIdStatus.Marshal(b, m, deterministic)
}
func (dst *ParaNodeAddrIdStatus) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ParaNodeAddrIdStatus.Merge(dst, src)
}
func (m *ParaNodeAddrIdStatus) XXX_Size() int {
	return xxx_messageInfo_ParaNodeAddrIdStatus.Size(m)
}
func (m *ParaNodeAddrIdStatus) XXX_DiscardUnknown() {
	xxx_messageInfo_ParaNodeAddrIdStatus.DiscardUnknown(m)
}

var xxx_messageInfo_ParaNodeAddrIdStatus proto.InternalMessageInfo

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

func (m *ParaNodeAddrIdStatus) GetProposalId() string {
	if m != nil {
		return m.ProposalId
	}
	return ""
}

func (m *ParaNodeAddrIdStatus) GetQuitId() string {
	if m != nil {
		return m.QuitId
	}
	return ""
}

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

func (m *ParaNodeAddrIdStatus) GetTitle() string {
	if m != nil {
		return m.Title
	}
	return ""
}

type ParaNodeIdStatus struct {
	Id                   string              `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Status               int32               `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"`
	Title                string              `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"`
	TargetAddr           string              `protobuf:"bytes,4,opt,name=targetAddr,proto3" json:"targetAddr,omitempty"`
	CoinsFrozen          int64               `protobuf:"varint,5,opt,name=coinsFrozen,proto3" json:"coinsFrozen,omitempty"`
	Votes                *ParaNodeVoteDetail `protobuf:"bytes,6,opt,name=votes,proto3" json:"votes,omitempty"`
	FromAddr             string              `protobuf:"bytes,7,opt,name=fromAddr,proto3" json:"fromAddr,omitempty"`
	Height               int64               `protobuf:"varint,8,opt,name=height,proto3" json:"height,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *ParaNodeIdStatus) Reset()         { *m = ParaNodeIdStatus{} }
func (m *ParaNodeIdStatus) String() string { return proto.CompactTextString(m) }
func (*ParaNodeIdStatus) ProtoMessage()    {}
func (*ParaNodeIdStatus) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{9}
}
func (m *ParaNodeIdStatus) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ParaNodeIdStatus.Unmarshal(m, b)
}
func (m *ParaNodeIdStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ParaNodeIdStatus.Marshal(b, m, deterministic)
}
func (dst *ParaNodeIdStatus) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ParaNodeIdStatus.Merge(dst, src)
}
func (m *ParaNodeIdStatus) XXX_Size() int {
	return xxx_messageInfo_ParaNodeIdStatus.Size(m)
}
func (m *ParaNodeIdStatus) XXX_DiscardUnknown() {
	xxx_messageInfo_ParaNodeIdStatus.DiscardUnknown(m)
}

var xxx_messageInfo_ParaNodeIdStatus proto.InternalMessageInfo

func (m *ParaNodeIdStatus) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

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

func (m *ParaNodeIdStatus) GetTitle() string {
	if m != nil {
		return m.Title
	}
	return ""
}

func (m *ParaNodeIdStatus) GetTargetAddr() string {
	if m != nil {
		return m.TargetAddr
	}
	return ""
}

func (m *ParaNodeIdStatus) GetCoinsFrozen() int64 {
	if m != nil {
		return m.CoinsFrozen
	}
	return 0
}

func (m *ParaNodeIdStatus) GetVotes() *ParaNodeVoteDetail {
	if m != nil {
		return m.Votes
	}
	return nil
}

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

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

type ReceiptParaNodeConfig struct {
	Addr                 string              `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"`
	Config               *ParaNodeAddrConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"`
	Prev                 *ParaNodeIdStatus   `protobuf:"bytes,3,opt,name=prev,proto3" json:"prev,omitempty"`
	Current              *ParaNodeIdStatus   `protobuf:"bytes,4,opt,name=current,proto3" json:"current,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *ReceiptParaNodeConfig) Reset()         { *m = ReceiptParaNodeConfig{} }
func (m *ReceiptParaNodeConfig) String() string { return proto.CompactTextString(m) }
func (*ReceiptParaNodeConfig) ProtoMessage()    {}
func (*ReceiptParaNodeConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{10}
}
func (m *ReceiptParaNodeConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ReceiptParaNodeConfig.Unmarshal(m, b)
}
func (m *ReceiptParaNodeConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ReceiptParaNodeConfig.Marshal(b, m, deterministic)
}
func (dst *ReceiptParaNodeConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ReceiptParaNodeConfig.Merge(dst, src)
}
func (m *ReceiptParaNodeConfig) XXX_Size() int {
	return xxx_messageInfo_ReceiptParaNodeConfig.Size(m)
}
func (m *ReceiptParaNodeConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_ReceiptParaNodeConfig.DiscardUnknown(m)
}

var xxx_messageInfo_ReceiptParaNodeConfig proto.InternalMessageInfo

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

func (m *ReceiptParaNodeConfig) GetConfig() *ParaNodeAddrConfig {
	if m != nil {
		return m.Config
	}
	return nil
}

func (m *ReceiptParaNodeConfig) GetPrev() *ParaNodeIdStatus {
	if m != nil {
		return m.Prev
	}
	return nil
}

func (m *ReceiptParaNodeConfig) GetCurrent() *ParaNodeIdStatus {
	if m != nil {
		return m.Current
	}
	return nil
}

type ReceiptParaNodeAddrStatUpdate struct {
	FromAddr             string                `protobuf:"bytes,1,opt,name=fromAddr,proto3" json:"fromAddr,omitempty"`
	Prev                 *ParaNodeAddrIdStatus `protobuf:"bytes,2,opt,name=prev,proto3" json:"prev,omitempty"`
	Current              *ParaNodeAddrIdStatus `protobuf:"bytes,3,opt,name=current,proto3" json:"current,omitempty"`
	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
	XXX_unrecognized     []byte                `json:"-"`
	XXX_sizecache        int32                 `json:"-"`
}

func (m *ReceiptParaNodeAddrStatUpdate) Reset()         { *m = ReceiptParaNodeAddrStatUpdate{} }
func (m *ReceiptParaNodeAddrStatUpdate) String() string { return proto.CompactTextString(m) }
func (*ReceiptParaNodeAddrStatUpdate) ProtoMessage()    {}
func (*ReceiptParaNodeAddrStatUpdate) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{11}
}
func (m *ReceiptParaNodeAddrStatUpdate) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ReceiptParaNodeAddrStatUpdate.Unmarshal(m, b)
}
func (m *ReceiptParaNodeAddrStatUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ReceiptParaNodeAddrStatUpdate.Marshal(b, m, deterministic)
}
func (dst *ReceiptParaNodeAddrStatUpdate) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ReceiptParaNodeAddrStatUpdate.Merge(dst, src)
}
func (m *ReceiptParaNodeAddrStatUpdate) XXX_Size() int {
	return xxx_messageInfo_ReceiptParaNodeAddrStatUpdate.Size(m)
}
func (m *ReceiptParaNodeAddrStatUpdate) XXX_DiscardUnknown() {
	xxx_messageInfo_ReceiptParaNodeAddrStatUpdate.DiscardUnknown(m)
}

var xxx_messageInfo_ReceiptParaNodeAddrStatUpdate proto.InternalMessageInfo

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

func (m *ReceiptParaNodeAddrStatUpdate) GetPrev() *ParaNodeAddrIdStatus {
	if m != nil {
		return m.Prev
	}
	return nil
}

func (m *ReceiptParaNodeAddrStatUpdate) GetCurrent() *ParaNodeAddrIdStatus {
	if m != nil {
		return m.Current
	}
	return nil
}

type ReceiptParaNodeVoteDone struct {
	Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Title                string   `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
	TargetAddr           string   `protobuf:"bytes,3,opt,name=targetAddr,proto3" json:"targetAddr,omitempty"`
	TotalNodes           int32    `protobuf:"varint,4,opt,name=totalNodes,proto3" json:"totalNodes,omitempty"`
	TotalVote            int32    `protobuf:"varint,5,opt,name=totalVote,proto3" json:"totalVote,omitempty"`
	MostVote             int32    `protobuf:"varint,6,opt,name=mostVote,proto3" json:"mostVote,omitempty"`
	VoteRst              string   `protobuf:"bytes,7,opt,name=voteRst,proto3" json:"voteRst,omitempty"`
	DoneStatus           int32    `protobuf:"varint,8,opt,name=doneStatus,proto3" json:"doneStatus,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ReceiptParaNodeVoteDone) Reset()         { *m = ReceiptParaNodeVoteDone{} }
func (m *ReceiptParaNodeVoteDone) String() string { return proto.CompactTextString(m) }
func (*ReceiptParaNodeVoteDone) ProtoMessage()    {}
func (*ReceiptParaNodeVoteDone) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{12}
}
func (m *ReceiptParaNodeVoteDone) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ReceiptParaNodeVoteDone.Unmarshal(m, b)
}
func (m *ReceiptParaNodeVoteDone) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ReceiptParaNodeVoteDone.Marshal(b, m, deterministic)
}
func (dst *ReceiptParaNodeVoteDone) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ReceiptParaNodeVoteDone.Merge(dst, src)
}
func (m *ReceiptParaNodeVoteDone) XXX_Size() int {
	return xxx_messageInfo_ReceiptParaNodeVoteDone.Size(m)
}
func (m *ReceiptParaNodeVoteDone) XXX_DiscardUnknown() {
	xxx_messageInfo_ReceiptParaNodeVoteDone.DiscardUnknown(m)
}

var xxx_messageInfo_ReceiptParaNodeVoteDone proto.InternalMessageInfo

func (m *ReceiptParaNodeVoteDone) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

func (m *ReceiptParaNodeVoteDone) GetTitle() string {
	if m != nil {
		return m.Title
	}
	return ""
}

func (m *ReceiptParaNodeVoteDone) GetTargetAddr() string {
	if m != nil {
		return m.TargetAddr
	}
	return ""
}

func (m *ReceiptParaNodeVoteDone) GetTotalNodes() int32 {
	if m != nil {
		return m.TotalNodes
	}
	return 0
}

func (m *ReceiptParaNodeVoteDone) GetTotalVote() int32 {
	if m != nil {
		return m.TotalVote
	}
	return 0
}

func (m *ReceiptParaNodeVoteDone) GetMostVote() int32 {
	if m != nil {
		return m.MostVote
	}
	return 0
}

func (m *ReceiptParaNodeVoteDone) GetVoteRst() string {
	if m != nil {
		return m.VoteRst
	}
	return ""
}

func (m *ReceiptParaNodeVoteDone) GetDoneStatus() int32 {
	if m != nil {
		return m.DoneStatus
	}
	return 0
}

type ParaNodeGroupConfig struct {
	Title                string   `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
	Op                   uint32   `protobuf:"varint,2,opt,name=op,proto3" json:"op,omitempty"`
	Id                   string   `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"`
	Addrs                string   `protobuf:"bytes,4,opt,name=addrs,proto3" json:"addrs,omitempty"`
	CoinsFrozen          int64    `protobuf:"varint,5,opt,name=coinsFrozen,proto3" json:"coinsFrozen,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ParaNodeGroupConfig) Reset()         { *m = ParaNodeGroupConfig{} }
func (m *ParaNodeGroupConfig) String() string { return proto.CompactTextString(m) }
func (*ParaNodeGroupConfig) ProtoMessage()    {}
func (*ParaNodeGroupConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{13}
}
func (m *ParaNodeGroupConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ParaNodeGroupConfig.Unmarshal(m, b)
}
func (m *ParaNodeGroupConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ParaNodeGroupConfig.Marshal(b, m, deterministic)
}
func (dst *ParaNodeGroupConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ParaNodeGroupConfig.Merge(dst, src)
}
func (m *ParaNodeGroupConfig) XXX_Size() int {
	return xxx_messageInfo_ParaNodeGroupConfig.Size(m)
}
func (m *ParaNodeGroupConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_ParaNodeGroupConfig.DiscardUnknown(m)
}

var xxx_messageInfo_ParaNodeGroupConfig proto.InternalMessageInfo

func (m *ParaNodeGroupConfig) GetTitle() string {
	if m != nil {
		return m.Title
	}
	return ""
}

func (m *ParaNodeGroupConfig) GetOp() uint32 {
	if m != nil {
		return m.Op
	}
	return 0
}

func (m *ParaNodeGroupConfig) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

func (m *ParaNodeGroupConfig) GetAddrs() string {
	if m != nil {
		return m.Addrs
	}
	return ""
}

func (m *ParaNodeGroupConfig) GetCoinsFrozen() int64 {
	if m != nil {
		return m.CoinsFrozen
	}
	return 0
}

type ParaNodeGroupStatus struct {
	Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Status               int32    `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"`
	Title                string   `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"`
	TargetAddrs          string   `protobuf:"bytes,4,opt,name=targetAddrs,proto3" json:"targetAddrs,omitempty"`
	CoinsFrozen          int64    `protobuf:"varint,5,opt,name=coinsFrozen,proto3" json:"coinsFrozen,omitempty"`
	FromAddr             string   `protobuf:"bytes,6,opt,name=fromAddr,proto3" json:"fromAddr,omitempty"`
	Height               int64    `protobuf:"varint,7,opt,name=height,proto3" json:"height,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ParaNodeGroupStatus) Reset()         { *m = ParaNodeGroupStatus{} }
func (m *ParaNodeGroupStatus) String() string { return proto.CompactTextString(m) }
func (*ParaNodeGroupStatus) ProtoMessage()    {}
func (*ParaNodeGroupStatus) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{14}
}
func (m *ParaNodeGroupStatus) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ParaNodeGroupStatus.Unmarshal(m, b)
}
func (m *ParaNodeGroupStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ParaNodeGroupStatus.Marshal(b, m, deterministic)
}
func (dst *ParaNodeGroupStatus) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ParaNodeGroupStatus.Merge(dst, src)
}
func (m *ParaNodeGroupStatus) XXX_Size() int {
	return xxx_messageInfo_ParaNodeGroupStatus.Size(m)
}
func (m *ParaNodeGroupStatus) XXX_DiscardUnknown() {
	xxx_messageInfo_ParaNodeGroupStatus.DiscardUnknown(m)
}

var xxx_messageInfo_ParaNodeGroupStatus proto.InternalMessageInfo

func (m *ParaNodeGroupStatus) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

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

func (m *ParaNodeGroupStatus) GetTitle() string {
	if m != nil {
		return m.Title
	}
	return ""
}

func (m *ParaNodeGroupStatus) GetTargetAddrs() string {
	if m != nil {
		return m.TargetAddrs
	}
	return ""
}

func (m *ParaNodeGroupStatus) GetCoinsFrozen() int64 {
	if m != nil {
		return m.CoinsFrozen
	}
	return 0
}

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

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

type ReceiptParaNodeGroupConfig struct {
	Addr                 string               `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"`
	Config               *ParaNodeGroupConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"`
	Prev                 *ParaNodeGroupStatus `protobuf:"bytes,3,opt,name=prev,proto3" json:"prev,omitempty"`
	Current              *ParaNodeGroupStatus `protobuf:"bytes,4,opt,name=current,proto3" json:"current,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *ReceiptParaNodeGroupConfig) Reset()         { *m = ReceiptParaNodeGroupConfig{} }
func (m *ReceiptParaNodeGroupConfig) String() string { return proto.CompactTextString(m) }
func (*ReceiptParaNodeGroupConfig) ProtoMessage()    {}
func (*ReceiptParaNodeGroupConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{15}
}
func (m *ReceiptParaNodeGroupConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ReceiptParaNodeGroupConfig.Unmarshal(m, b)
}
func (m *ReceiptParaNodeGroupConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ReceiptParaNodeGroupConfig.Marshal(b, m, deterministic)
}
func (dst *ReceiptParaNodeGroupConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ReceiptParaNodeGroupConfig.Merge(dst, src)
}
func (m *ReceiptParaNodeGroupConfig) XXX_Size() int {
	return xxx_messageInfo_ReceiptParaNodeGroupConfig.Size(m)
}
func (m *ReceiptParaNodeGroupConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_ReceiptParaNodeGroupConfig.DiscardUnknown(m)
}

var xxx_messageInfo_ReceiptParaNodeGroupConfig proto.InternalMessageInfo

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

func (m *ReceiptParaNodeGroupConfig) GetConfig() *ParaNodeGroupConfig {
	if m != nil {
		return m.Config
	}
	return nil
}

func (m *ReceiptParaNodeGroupConfig) GetPrev() *ParaNodeGroupStatus {
	if m != nil {
		return m.Prev
	}
	return nil
}

func (m *ReceiptParaNodeGroupConfig) GetCurrent() *ParaNodeGroupStatus {
	if m != nil {
		return m.Current
	}
	return nil
}

// node query
type ReqParacrossNodeInfo struct {
	Title                string   `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
	Id                   string   `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
	Addr                 string   `protobuf:"bytes,3,opt,name=addr,proto3" json:"addr,omitempty"`
	Status               int32    `protobuf:"varint,4,opt,name=status,proto3" json:"status,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ReqParacrossNodeInfo) Reset()         { *m = ReqParacrossNodeInfo{} }
func (m *ReqParacrossNodeInfo) String() string { return proto.CompactTextString(m) }
func (*ReqParacrossNodeInfo) ProtoMessage()    {}
func (*ReqParacrossNodeInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{16}
}
func (m *ReqParacrossNodeInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ReqParacrossNodeInfo.Unmarshal(m, b)
}
func (m *ReqParacrossNodeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ReqParacrossNodeInfo.Marshal(b, m, deterministic)
}
func (dst *ReqParacrossNodeInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ReqParacrossNodeInfo.Merge(dst, src)
}
func (m *ReqParacrossNodeInfo) XXX_Size() int {
	return xxx_messageInfo_ReqParacrossNodeInfo.Size(m)
}
func (m *ReqParacrossNodeInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_ReqParacrossNodeInfo.DiscardUnknown(m)
}

var xxx_messageInfo_ReqParacrossNodeInfo proto.InternalMessageInfo

func (m *ReqParacrossNodeInfo) GetTitle() string {
	if m != nil {
		return m.Title
	}
	return ""
}

func (m *ReqParacrossNodeInfo) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

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

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

type RespParacrossNodeAddrs struct {
	Ids                  []*ParaNodeIdStatus `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *RespParacrossNodeAddrs) Reset()         { *m = RespParacrossNodeAddrs{} }
func (m *RespParacrossNodeAddrs) String() string { return proto.CompactTextString(m) }
func (*RespParacrossNodeAddrs) ProtoMessage()    {}
func (*RespParacrossNodeAddrs) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{17}
}
func (m *RespParacrossNodeAddrs) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RespParacrossNodeAddrs.Unmarshal(m, b)
}
func (m *RespParacrossNodeAddrs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RespParacrossNodeAddrs.Marshal(b, m, deterministic)
}
func (dst *RespParacrossNodeAddrs) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RespParacrossNodeAddrs.Merge(dst, src)
}
func (m *RespParacrossNodeAddrs) XXX_Size() int {
	return xxx_messageInfo_RespParacrossNodeAddrs.Size(m)
}
func (m *RespParacrossNodeAddrs) XXX_DiscardUnknown() {
	xxx_messageInfo_RespParacrossNodeAddrs.DiscardUnknown(m)
}

var xxx_messageInfo_RespParacrossNodeAddrs proto.InternalMessageInfo

func (m *RespParacrossNodeAddrs) GetIds() []*ParaNodeIdStatus {
	if m != nil {
		return m.Ids
	}
	return nil
}

type RespParacrossNodeGroups struct {
	Ids                  []*ParaNodeGroupStatus `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"`
	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
	XXX_unrecognized     []byte                 `json:"-"`
	XXX_sizecache        int32                  `json:"-"`
}

func (m *RespParacrossNodeGroups) Reset()         { *m = RespParacrossNodeGroups{} }
func (m *RespParacrossNodeGroups) String() string { return proto.CompactTextString(m) }
func (*RespParacrossNodeGroups) ProtoMessage()    {}
func (*RespParacrossNodeGroups) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{18}
}
func (m *RespParacrossNodeGroups) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RespParacrossNodeGroups.Unmarshal(m, b)
}
func (m *RespParacrossNodeGroups) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RespParacrossNodeGroups.Marshal(b, m, deterministic)
}
func (dst *RespParacrossNodeGroups) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RespParacrossNodeGroups.Merge(dst, src)
}
func (m *RespParacrossNodeGroups) XXX_Size() int {
	return xxx_messageInfo_RespParacrossNodeGroups.Size(m)
}
func (m *RespParacrossNodeGroups) XXX_DiscardUnknown() {
	xxx_messageInfo_RespParacrossNodeGroups.DiscardUnknown(m)
}

var xxx_messageInfo_RespParacrossNodeGroups proto.InternalMessageInfo

func (m *RespParacrossNodeGroups) GetIds() []*ParaNodeGroupStatus {
	if m != nil {
		return m.Ids
	}
	return nil
}

type ParaBlock2MainMap struct {
	Height               int64    `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
	BlockHash            string   `protobuf:"bytes,2,opt,name=blockHash,proto3" json:"blockHash,omitempty"`
	MainHeight           int64    `protobuf:"varint,3,opt,name=mainHeight,proto3" json:"mainHeight,omitempty"`
	MainHash             string   `protobuf:"bytes,4,opt,name=mainHash,proto3" json:"mainHash,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ParaBlock2MainMap) Reset()         { *m = ParaBlock2MainMap{} }
func (m *ParaBlock2MainMap) String() string { return proto.CompactTextString(m) }
func (*ParaBlock2MainMap) ProtoMessage()    {}
func (*ParaBlock2MainMap) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{19}
}
func (m *ParaBlock2MainMap) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ParaBlock2MainMap.Unmarshal(m, b)
}
func (m *ParaBlock2MainMap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ParaBlock2MainMap.Marshal(b, m, deterministic)
}
func (dst *ParaBlock2MainMap) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ParaBlock2MainMap.Merge(dst, src)
}
func (m *ParaBlock2MainMap) XXX_Size() int {
	return xxx_messageInfo_ParaBlock2MainMap.Size(m)
}
func (m *ParaBlock2MainMap) XXX_DiscardUnknown() {
	xxx_messageInfo_ParaBlock2MainMap.DiscardUnknown(m)
}

var xxx_messageInfo_ParaBlock2MainMap proto.InternalMessageInfo

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

func (m *ParaBlock2MainMap) GetBlockHash() string {
	if m != nil {
		return m.BlockHash
	}
	return ""
}

func (m *ParaBlock2MainMap) GetMainHeight() int64 {
	if m != nil {
		return m.MainHeight
	}
	return 0
}

func (m *ParaBlock2MainMap) GetMainHash() string {
	if m != nil {
		return m.MainHash
	}
	return ""
}

type ParaBlock2MainInfo struct {
	Items                []*ParaBlock2MainMap `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *ParaBlock2MainInfo) Reset()         { *m = ParaBlock2MainInfo{} }
func (m *ParaBlock2MainInfo) String() string { return proto.CompactTextString(m) }
func (*ParaBlock2MainInfo) ProtoMessage()    {}
func (*ParaBlock2MainInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{20}
}
func (m *ParaBlock2MainInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ParaBlock2MainInfo.Unmarshal(m, b)
}
func (m *ParaBlock2MainInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ParaBlock2MainInfo.Marshal(b, m, deterministic)
}
func (dst *ParaBlock2MainInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ParaBlock2MainInfo.Merge(dst, src)
}
func (m *ParaBlock2MainInfo) XXX_Size() int {
	return xxx_messageInfo_ParaBlock2MainInfo.Size(m)
}
func (m *ParaBlock2MainInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_ParaBlock2MainInfo.DiscardUnknown(m)
}

var xxx_messageInfo_ParaBlock2MainInfo proto.InternalMessageInfo

func (m *ParaBlock2MainInfo) GetItems() []*ParaBlock2MainMap {
	if m != nil {
		return m.Items
	}
	return nil
}

// action
type ParacrossNodeStatus struct {
	MainBlockHash        []byte   `protobuf:"bytes,1,opt,name=mainBlockHash,proto3" json:"mainBlockHash,omitempty"`
	MainBlockHeight      int64    `protobuf:"varint,2,opt,name=mainBlockHeight,proto3" json:"mainBlockHeight,omitempty"`
	Title                string   `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"`
	Height               int64    `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"`
	PreBlockHash         []byte   `protobuf:"bytes,5,opt,name=preBlockHash,proto3" json:"preBlockHash,omitempty"`
	BlockHash            []byte   `protobuf:"bytes,6,opt,name=blockHash,proto3" json:"blockHash,omitempty"`
	PreStateHash         []byte   `protobuf:"bytes,7,opt,name=preStateHash,proto3" json:"preStateHash,omitempty"`
	StateHash            []byte   `protobuf:"bytes,8,opt,name=stateHash,proto3" json:"stateHash,omitempty"`
	TxCounts             uint32   `protobuf:"varint,9,opt,name=txCounts,proto3" json:"txCounts,omitempty"`
	TxResult             []byte   `protobuf:"bytes,10,opt,name=txResult,proto3" json:"txResult,omitempty"`
	TxHashs              [][]byte `protobuf:"bytes,11,rep,name=txHashs,proto3" json:"txHashs,omitempty"`
	CrossTxResult        []byte   `protobuf:"bytes,12,opt,name=crossTxResult,proto3" json:"crossTxResult,omitempty"`
	CrossTxHashs         [][]byte `protobuf:"bytes,13,rep,name=crossTxHashs,proto3" json:"crossTxHashs,omitempty"`
	NonCommitTxCounts    uint32   `protobuf:"varint,14,opt,name=nonCommitTxCounts,proto3" json:"nonCommitTxCounts,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ParacrossNodeStatus) Reset()         { *m = ParacrossNodeStatus{} }
func (m *ParacrossNodeStatus) String() string { return proto.CompactTextString(m) }
func (*ParacrossNodeStatus) ProtoMessage()    {}
func (*ParacrossNodeStatus) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{21}
}
func (m *ParacrossNodeStatus) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ParacrossNodeStatus.Unmarshal(m, b)
}
func (m *ParacrossNodeStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ParacrossNodeStatus.Marshal(b, m, deterministic)
}
func (dst *ParacrossNodeStatus) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ParacrossNodeStatus.Merge(dst, src)
}
func (m *ParacrossNodeStatus) XXX_Size() int {
	return xxx_messageInfo_ParacrossNodeStatus.Size(m)
}
func (m *ParacrossNodeStatus) XXX_DiscardUnknown() {
	xxx_messageInfo_ParacrossNodeStatus.DiscardUnknown(m)
}

var xxx_messageInfo_ParacrossNodeStatus proto.InternalMessageInfo

func (m *ParacrossNodeStatus) GetMainBlockHash() []byte {
	if m != nil {
		return m.MainBlockHash
	}
	return nil
}

func (m *ParacrossNodeStatus) GetMainBlockHeight() int64 {
	if m != nil {
		return m.MainBlockHeight
	}
	return 0
}

func (m *ParacrossNodeStatus) GetTitle() string {
	if m != nil {
		return m.Title
	}
	return ""
}

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

func (m *ParacrossNodeStatus) GetPreBlockHash() []byte {
	if m != nil {
		return m.PreBlockHash
	}
	return nil
}

func (m *ParacrossNodeStatus) GetBlockHash() []byte {
	if m != nil {
		return m.BlockHash
	}
	return nil
}

func (m *ParacrossNodeStatus) GetPreStateHash() []byte {
	if m != nil {
		return m.PreStateHash
	}
	return nil
}

func (m *ParacrossNodeStatus) GetStateHash() []byte {
	if m != nil {
		return m.StateHash
	}
	return nil
}

func (m *ParacrossNodeStatus) GetTxCounts() uint32 {
	if m != nil {
		return m.TxCounts
	}
	return 0
}

func (m *ParacrossNodeStatus) GetTxResult() []byte {
	if m != nil {
		return m.TxResult
	}
	return nil
}

func (m *ParacrossNodeStatus) GetTxHashs() [][]byte {
	if m != nil {
		return m.TxHashs
	}
	return nil
}

func (m *ParacrossNodeStatus) GetCrossTxResult() []byte {
	if m != nil {
		return m.CrossTxResult
	}
	return nil
}

func (m *ParacrossNodeStatus) GetCrossTxHashs() [][]byte {
	if m != nil {
		return m.CrossTxHashs
	}
	return nil
}

func (m *ParacrossNodeStatus) GetNonCommitTxCounts() uint32 {
	if m != nil {
		return m.NonCommitTxCounts
	}
	return 0
}

type SelfConsensStages struct {
	Items                []*SelfConsensStage `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *SelfConsensStages) Reset()         { *m = SelfConsensStages{} }
func (m *SelfConsensStages) String() string { return proto.CompactTextString(m) }
func (*SelfConsensStages) ProtoMessage()    {}
func (*SelfConsensStages) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{22}
}
func (m *SelfConsensStages) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SelfConsensStages.Unmarshal(m, b)
}
func (m *SelfConsensStages) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SelfConsensStages.Marshal(b, m, deterministic)
}
func (dst *SelfConsensStages) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SelfConsensStages.Merge(dst, src)
}
func (m *SelfConsensStages) XXX_Size() int {
	return xxx_messageInfo_SelfConsensStages.Size(m)
}
func (m *SelfConsensStages) XXX_DiscardUnknown() {
	xxx_messageInfo_SelfConsensStages.DiscardUnknown(m)
}

var xxx_messageInfo_SelfConsensStages proto.InternalMessageInfo

func (m *SelfConsensStages) GetItems() []*SelfConsensStage {
	if m != nil {
		return m.Items
	}
	return nil
}

type SelfConsensStage struct {
	StartHeight          int64    `protobuf:"varint,1,opt,name=startHeight,proto3" json:"startHeight,omitempty"`
	Enable               uint32   `protobuf:"varint,2,opt,name=enable,proto3" json:"enable,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *SelfConsensStage) Reset()         { *m = SelfConsensStage{} }
func (m *SelfConsensStage) String() string { return proto.CompactTextString(m) }
func (*SelfConsensStage) ProtoMessage()    {}
func (*SelfConsensStage) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{23}
}
func (m *SelfConsensStage) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SelfConsensStage.Unmarshal(m, b)
}
func (m *SelfConsensStage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SelfConsensStage.Marshal(b, m, deterministic)
}
func (dst *SelfConsensStage) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SelfConsensStage.Merge(dst, src)
}
func (m *SelfConsensStage) XXX_Size() int {
	return xxx_messageInfo_SelfConsensStage.Size(m)
}
func (m *SelfConsensStage) XXX_DiscardUnknown() {
	xxx_messageInfo_SelfConsensStage.DiscardUnknown(m)
}

var xxx_messageInfo_SelfConsensStage proto.InternalMessageInfo

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

func (m *SelfConsensStage) GetEnable() uint32 {
	if m != nil {
		return m.Enable
	}
	return 0
}

type SelfConsensStageInfo struct {
	Id                   string              `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Status               uint32              `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"`
	Stage                *SelfConsensStage   `protobuf:"bytes,3,opt,name=stage,proto3" json:"stage,omitempty"`
	FromAddr             string              `protobuf:"bytes,4,opt,name=fromAddr,proto3" json:"fromAddr,omitempty"`
	ExecHeight           int64               `protobuf:"varint,5,opt,name=execHeight,proto3" json:"execHeight,omitempty"`
	Votes                *ParaNodeVoteDetail `protobuf:"bytes,6,opt,name=votes,proto3" json:"votes,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *SelfConsensStageInfo) Reset()         { *m = SelfConsensStageInfo{} }
func (m *SelfConsensStageInfo) String() string { return proto.CompactTextString(m) }
func (*SelfConsensStageInfo) ProtoMessage()    {}
func (*SelfConsensStageInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{24}
}
func (m *SelfConsensStageInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_SelfConsensStageInfo.Unmarshal(m, b)
}
func (m *SelfConsensStageInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_SelfConsensStageInfo.Marshal(b, m, deterministic)
}
func (dst *SelfConsensStageInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_SelfConsensStageInfo.Merge(dst, src)
}
func (m *SelfConsensStageInfo) XXX_Size() int {
	return xxx_messageInfo_SelfConsensStageInfo.Size(m)
}
func (m *SelfConsensStageInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_SelfConsensStageInfo.DiscardUnknown(m)
}

var xxx_messageInfo_SelfConsensStageInfo proto.InternalMessageInfo

func (m *SelfConsensStageInfo) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

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

func (m *SelfConsensStageInfo) GetStage() *SelfConsensStage {
	if m != nil {
		return m.Stage
	}
	return nil
}

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

func (m *SelfConsensStageInfo) GetExecHeight() int64 {
	if m != nil {
		return m.ExecHeight
	}
	return 0
}

func (m *SelfConsensStageInfo) GetVotes() *ParaNodeVoteDetail {
	if m != nil {
		return m.Votes
	}
	return nil
}

type LocalSelfConsStageInfo struct {
	Stage                *SelfConsensStageInfo `protobuf:"bytes,1,opt,name=stage,proto3" json:"stage,omitempty"`
	TxIndex              string                `protobuf:"bytes,2,opt,name=txIndex,proto3" json:"txIndex,omitempty"`
	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
	XXX_unrecognized     []byte                `json:"-"`
	XXX_sizecache        int32                 `json:"-"`
}

func (m *LocalSelfConsStageInfo) Reset()         { *m = LocalSelfConsStageInfo{} }
func (m *LocalSelfConsStageInfo) String() string { return proto.CompactTextString(m) }
func (*LocalSelfConsStageInfo) ProtoMessage()    {}
func (*LocalSelfConsStageInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{25}
}
func (m *LocalSelfConsStageInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LocalSelfConsStageInfo.Unmarshal(m, b)
}
func (m *LocalSelfConsStageInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LocalSelfConsStageInfo.Marshal(b, m, deterministic)
}
func (dst *LocalSelfConsStageInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LocalSelfConsStageInfo.Merge(dst, src)
}
func (m *LocalSelfConsStageInfo) XXX_Size() int {
	return xxx_messageInfo_LocalSelfConsStageInfo.Size(m)
}
func (m *LocalSelfConsStageInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_LocalSelfConsStageInfo.DiscardUnknown(m)
}

var xxx_messageInfo_LocalSelfConsStageInfo proto.InternalMessageInfo

func (m *LocalSelfConsStageInfo) GetStage() *SelfConsensStageInfo {
	if m != nil {
		return m.Stage
	}
	return nil
}

func (m *LocalSelfConsStageInfo) GetTxIndex() string {
	if m != nil {
		return m.TxIndex
	}
	return ""
}

type ConfigVoteInfo struct {
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// 投票值　１:ok 2:nok
	Value                uint32   `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ConfigVoteInfo) Reset()         { *m = ConfigVoteInfo{} }
func (m *ConfigVoteInfo) String() string { return proto.CompactTextString(m) }
func (*ConfigVoteInfo) ProtoMessage()    {}
func (*ConfigVoteInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{26}
}
func (m *ConfigVoteInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ConfigVoteInfo.Unmarshal(m, b)
}
func (m *ConfigVoteInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ConfigVoteInfo.Marshal(b, m, deterministic)
}
func (dst *ConfigVoteInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ConfigVoteInfo.Merge(dst, src)
}
func (m *ConfigVoteInfo) XXX_Size() int {
	return xxx_messageInfo_ConfigVoteInfo.Size(m)
}
func (m *ConfigVoteInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_ConfigVoteInfo.DiscardUnknown(m)
}

var xxx_messageInfo_ConfigVoteInfo proto.InternalMessageInfo

func (m *ConfigVoteInfo) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

func (m *ConfigVoteInfo) GetValue() uint32 {
	if m != nil {
		return m.Value
	}
	return 0
}

type ConfigCancelInfo struct {
	Id                   string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ConfigCancelInfo) Reset()         { *m = ConfigCancelInfo{} }
func (m *ConfigCancelInfo) String() string { return proto.CompactTextString(m) }
func (*ConfigCancelInfo) ProtoMessage()    {}
func (*ConfigCancelInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{27}
}
func (m *ConfigCancelInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ConfigCancelInfo.Unmarshal(m, b)
}
func (m *ConfigCancelInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ConfigCancelInfo.Marshal(b, m, deterministic)
}
func (dst *ConfigCancelInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ConfigCancelInfo.Merge(dst, src)
}
func (m *ConfigCancelInfo) XXX_Size() int {
	return xxx_messageInfo_ConfigCancelInfo.Size(m)
}
func (m *ConfigCancelInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_ConfigCancelInfo.DiscardUnknown(m)
}

var xxx_messageInfo_ConfigCancelInfo proto.InternalMessageInfo

func (m *ConfigCancelInfo) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

// 广义配置类型
type ParaStageConfig struct {
	Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
	// 配置类型
	Op uint32 `protobuf:"varint,2,opt,name=op,proto3" json:"op,omitempty"`
	// Types that are valid to be assigned to Value:
	//	*ParaStageConfig_Stage
	//	*ParaStageConfig_Vote
	//	*ParaStageConfig_Cancel
	Value                isParaStageConfig_Value `protobuf_oneof:"value"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

func (m *ParaStageConfig) Reset()         { *m = ParaStageConfig{} }
func (m *ParaStageConfig) String() string { return proto.CompactTextString(m) }
func (*ParaStageConfig) ProtoMessage()    {}
func (*ParaStageConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{28}
}
func (m *ParaStageConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ParaStageConfig.Unmarshal(m, b)
}
func (m *ParaStageConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ParaStageConfig.Marshal(b, m, deterministic)
}
func (dst *ParaStageConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ParaStageConfig.Merge(dst, src)
}
func (m *ParaStageConfig) XXX_Size() int {
	return xxx_messageInfo_ParaStageConfig.Size(m)
}
func (m *ParaStageConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_ParaStageConfig.DiscardUnknown(m)
}

var xxx_messageInfo_ParaStageConfig proto.InternalMessageInfo

func (m *ParaStageConfig) GetTitle() string {
	if m != nil {
		return m.Title
	}
	return ""
}

func (m *ParaStageConfig) GetOp() uint32 {
	if m != nil {
		return m.Op
	}
	return 0
}

type isParaStageConfig_Value interface {
	isParaStageConfig_Value()
}

type ParaStageConfig_Stage struct {
	Stage *SelfConsensStage `protobuf:"bytes,10,opt,name=stage,proto3,oneof"`
}

type ParaStageConfig_Vote struct {
	Vote *ConfigVoteInfo `protobuf:"bytes,11,opt,name=vote,proto3,oneof"`
}

type ParaStageConfig_Cancel struct {
	Cancel *ConfigCancelInfo `protobuf:"bytes,12,opt,name=cancel,proto3,oneof"`
}

func (*ParaStageConfig_Stage) isParaStageConfig_Value() {}

func (*ParaStageConfig_Vote) isParaStageConfig_Value() {}

func (*ParaStageConfig_Cancel) isParaStageConfig_Value() {}

func (m *ParaStageConfig) GetValue() isParaStageConfig_Value {
	if m != nil {
		return m.Value
	}
	return nil
}

func (m *ParaStageConfig) GetStage() *SelfConsensStage {
	if x, ok := m.GetValue().(*ParaStageConfig_Stage); ok {
		return x.Stage
	}
	return nil
}

func (m *ParaStageConfig) GetVote() *ConfigVoteInfo {
	if x, ok := m.GetValue().(*ParaStageConfig_Vote); ok {
		return x.Vote
	}
	return nil
}

func (m *ParaStageConfig) GetCancel() *ConfigCancelInfo {
	if x, ok := m.GetValue().(*ParaStageConfig_Cancel); ok {
		return x.Cancel
	}
	return nil
}

// XXX_OneofFuncs is for the internal use of the proto package.
func (*ParaStageConfig) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
	return _ParaStageConfig_OneofMarshaler, _ParaStageConfig_OneofUnmarshaler, _ParaStageConfig_OneofSizer, []interface{}{
		(*ParaStageConfig_Stage)(nil),
		(*ParaStageConfig_Vote)(nil),
		(*ParaStageConfig_Cancel)(nil),
	}
}

func _ParaStageConfig_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
	m := msg.(*ParaStageConfig)
	// value
	switch x := m.Value.(type) {
	case *ParaStageConfig_Stage:
		b.EncodeVarint(10<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.Stage); err != nil {
			return err
		}
	case *ParaStageConfig_Vote:
		b.EncodeVarint(11<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.Vote); err != nil {
			return err
		}
	case *ParaStageConfig_Cancel:
		b.EncodeVarint(12<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.Cancel); err != nil {
			return err
		}
	case nil:
	default:
		return fmt.Errorf("ParaStageConfig.Value has unexpected type %T", x)
	}
	return nil
}

func _ParaStageConfig_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
	m := msg.(*ParaStageConfig)
	switch tag {
	case 10: // value.stage
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(SelfConsensStage)
		err := b.DecodeMessage(msg)
		m.Value = &ParaStageConfig_Stage{msg}
		return true, err
	case 11: // value.vote
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(ConfigVoteInfo)
		err := b.DecodeMessage(msg)
		m.Value = &ParaStageConfig_Vote{msg}
		return true, err
	case 12: // value.cancel
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(ConfigCancelInfo)
		err := b.DecodeMessage(msg)
		m.Value = &ParaStageConfig_Cancel{msg}
		return true, err
	default:
		return false, nil
	}
}

func _ParaStageConfig_OneofSizer(msg proto.Message) (n int) {
	m := msg.(*ParaStageConfig)
	// value
	switch x := m.Value.(type) {
	case *ParaStageConfig_Stage:
		s := proto.Size(x.Stage)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case *ParaStageConfig_Vote:
		s := proto.Size(x.Vote)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case *ParaStageConfig_Cancel:
		s := proto.Size(x.Cancel)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case nil:
	default:
		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
	}
	return n
}

type ReceiptSelfConsStageConfig struct {
	Prev                 *SelfConsensStageInfo `protobuf:"bytes,1,opt,name=prev,proto3" json:"prev,omitempty"`
	Current              *SelfConsensStageInfo `protobuf:"bytes,2,opt,name=current,proto3" json:"current,omitempty"`
	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
	XXX_unrecognized     []byte                `json:"-"`
	XXX_sizecache        int32                 `json:"-"`
}

func (m *ReceiptSelfConsStageConfig) Reset()         { *m = ReceiptSelfConsStageConfig{} }
func (m *ReceiptSelfConsStageConfig) String() string { return proto.CompactTextString(m) }
func (*ReceiptSelfConsStageConfig) ProtoMessage()    {}
func (*ReceiptSelfConsStageConfig) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{29}
}
func (m *ReceiptSelfConsStageConfig) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ReceiptSelfConsStageConfig.Unmarshal(m, b)
}
func (m *ReceiptSelfConsStageConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ReceiptSelfConsStageConfig.Marshal(b, m, deterministic)
}
func (dst *ReceiptSelfConsStageConfig) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ReceiptSelfConsStageConfig.Merge(dst, src)
}
func (m *ReceiptSelfConsStageConfig) XXX_Size() int {
	return xxx_messageInfo_ReceiptSelfConsStageConfig.Size(m)
}
func (m *ReceiptSelfConsStageConfig) XXX_DiscardUnknown() {
	xxx_messageInfo_ReceiptSelfConsStageConfig.DiscardUnknown(m)
}

var xxx_messageInfo_ReceiptSelfConsStageConfig proto.InternalMessageInfo

func (m *ReceiptSelfConsStageConfig) GetPrev() *SelfConsensStageInfo {
	if m != nil {
		return m.Prev
	}
	return nil
}

func (m *ReceiptSelfConsStageConfig) GetCurrent() *SelfConsensStageInfo {
	if m != nil {
		return m.Current
	}
	return nil
}

type ReceiptSelfConsStageVoteDone struct {
	Id                   string            `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Stage                *SelfConsensStage `protobuf:"bytes,2,opt,name=stage,proto3" json:"stage,omitempty"`
	TotalNodes           int32             `protobuf:"varint,3,opt,name=totalNodes,proto3" json:"totalNodes,omitempty"`
	TotalVote            int32             `protobuf:"varint,4,opt,name=totalVote,proto3" json:"totalVote,omitempty"`
	MostVote             int32             `protobuf:"varint,5,opt,name=mostVote,proto3" json:"mostVote,omitempty"`
	VoteRst              string            `protobuf:"bytes,6,opt,name=voteRst,proto3" json:"voteRst,omitempty"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

func (m *ReceiptSelfConsStageVoteDone) Reset()         { *m = ReceiptSelfConsStageVoteDone{} }
func (m *ReceiptSelfConsStageVoteDone) String() string { return proto.CompactTextString(m) }
func (*ReceiptSelfConsStageVoteDone) ProtoMessage()    {}
func (*ReceiptSelfConsStageVoteDone) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{30}
}
func (m *ReceiptSelfConsStageVoteDone) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ReceiptSelfConsStageVoteDone.Unmarshal(m, b)
}
func (m *ReceiptSelfConsStageVoteDone) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ReceiptSelfConsStageVoteDone.Marshal(b, m, deterministic)
}
func (dst *ReceiptSelfConsStageVoteDone) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ReceiptSelfConsStageVoteDone.Merge(dst, src)
}
func (m *ReceiptSelfConsStageVoteDone) XXX_Size() int {
	return xxx_messageInfo_ReceiptSelfConsStageVoteDone.Size(m)
}
func (m *ReceiptSelfConsStageVoteDone) XXX_DiscardUnknown() {
	xxx_messageInfo_ReceiptSelfConsStageVoteDone.DiscardUnknown(m)
}

var xxx_messageInfo_ReceiptSelfConsStageVoteDone proto.InternalMessageInfo

func (m *ReceiptSelfConsStageVoteDone) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

func (m *ReceiptSelfConsStageVoteDone) GetStage() *SelfConsensStage {
	if m != nil {
		return m.Stage
	}
	return nil
}

func (m *ReceiptSelfConsStageVoteDone) GetTotalNodes() int32 {
	if m != nil {
		return m.TotalNodes
	}
	return 0
}

func (m *ReceiptSelfConsStageVoteDone) GetTotalVote() int32 {
	if m != nil {
		return m.TotalVote
	}
	return 0
}

func (m *ReceiptSelfConsStageVoteDone) GetMostVote() int32 {
	if m != nil {
		return m.MostVote
	}
	return 0
}

func (m *ReceiptSelfConsStageVoteDone) GetVoteRst() string {
	if m != nil {
		return m.VoteRst
	}
	return ""
}

type ReceiptSelfConsStagesUpdate struct {
	Prev                 *SelfConsensStages `protobuf:"bytes,1,opt,name=prev,proto3" json:"prev,omitempty"`
	Current              *SelfConsensStages `protobuf:"bytes,2,opt,name=current,proto3" json:"current,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (m *ReceiptSelfConsStagesUpdate) Reset()         { *m = ReceiptSelfConsStagesUpdate{} }
func (m *ReceiptSelfConsStagesUpdate) String() string { return proto.CompactTextString(m) }
func (*ReceiptSelfConsStagesUpdate) ProtoMessage()    {}
func (*ReceiptSelfConsStagesUpdate) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{31}
}
func (m *ReceiptSelfConsStagesUpdate) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ReceiptSelfConsStagesUpdate.Unmarshal(m, b)
}
func (m *ReceiptSelfConsStagesUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ReceiptSelfConsStagesUpdate.Marshal(b, m, deterministic)
}
func (dst *ReceiptSelfConsStagesUpdate) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ReceiptSelfConsStagesUpdate.Merge(dst, src)
}
func (m *ReceiptSelfConsStagesUpdate) XXX_Size() int {
	return xxx_messageInfo_ReceiptSelfConsStagesUpdate.Size(m)
}
func (m *ReceiptSelfConsStagesUpdate) XXX_DiscardUnknown() {
	xxx_messageInfo_ReceiptSelfConsStagesUpdate.DiscardUnknown(m)
}

var xxx_messageInfo_ReceiptSelfConsStagesUpdate proto.InternalMessageInfo

func (m *ReceiptSelfConsStagesUpdate) GetPrev() *SelfConsensStages {
	if m != nil {
		return m.Prev
	}
	return nil
}

func (m *ReceiptSelfConsStagesUpdate) GetCurrent() *SelfConsensStages {
	if m != nil {
		return m.Current
	}
	return nil
}

// query
type ReqQuerySelfStages struct {
	Status               uint32   `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"`
	Id                   string   `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
	Count                int32    `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty"`
	Direction            int32    `protobuf:"varint,4,opt,name=direction,proto3" json:"direction,omitempty"`
	Height               int64    `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"`
	Index                int32    `protobuf:"varint,6,opt,name=index,proto3" json:"index,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ReqQuerySelfStages) Reset()         { *m = ReqQuerySelfStages{} }
func (m *ReqQuerySelfStages) String() string { return proto.CompactTextString(m) }
func (*ReqQuerySelfStages) ProtoMessage()    {}
func (*ReqQuerySelfStages) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{32}
}
func (m *ReqQuerySelfStages) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ReqQuerySelfStages.Unmarshal(m, b)
}
func (m *ReqQuerySelfStages) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ReqQuerySelfStages.Marshal(b, m, deterministic)
}
func (dst *ReqQuerySelfStages) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ReqQuerySelfStages.Merge(dst, src)
}
func (m *ReqQuerySelfStages) XXX_Size() int {
	return xxx_messageInfo_ReqQuerySelfStages.Size(m)
}
func (m *ReqQuerySelfStages) XXX_DiscardUnknown() {
	xxx_messageInfo_ReqQuerySelfStages.DiscardUnknown(m)
}

var xxx_messageInfo_ReqQuerySelfStages proto.InternalMessageInfo

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

func (m *ReqQuerySelfStages) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

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

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

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

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

type ReplyQuerySelfStages struct {
	StageInfo            []*SelfConsensStageInfo `protobuf:"bytes,1,rep,name=stageInfo,proto3" json:"stageInfo,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

func (m *ReplyQuerySelfStages) Reset()         { *m = ReplyQuerySelfStages{} }
func (m *ReplyQuerySelfStages) String() string { return proto.CompactTextString(m) }
func (*ReplyQuerySelfStages) ProtoMessage()    {}
func (*ReplyQuerySelfStages) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{33}
}
func (m *ReplyQuerySelfStages) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ReplyQuerySelfStages.Unmarshal(m, b)
}
func (m *ReplyQuerySelfStages) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ReplyQuerySelfStages.Marshal(b, m, deterministic)
}
func (dst *ReplyQuerySelfStages) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ReplyQuerySelfStages.Merge(dst, src)
}
func (m *ReplyQuerySelfStages) XXX_Size() int {
	return xxx_messageInfo_ReplyQuerySelfStages.Size(m)
}
func (m *ReplyQuerySelfStages) XXX_DiscardUnknown() {
	xxx_messageInfo_ReplyQuerySelfStages.DiscardUnknown(m)
}

var xxx_messageInfo_ReplyQuerySelfStages proto.InternalMessageInfo

func (m *ReplyQuerySelfStages) GetStageInfo() []*SelfConsensStageInfo {
	if m != nil {
		return m.StageInfo
	}
	return nil
}

type ParacrossCommitAction struct {
	Status               *ParacrossNodeStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *ParacrossCommitAction) Reset()         { *m = ParacrossCommitAction{} }
func (m *ParacrossCommitAction) String() string { return proto.CompactTextString(m) }
func (*ParacrossCommitAction) ProtoMessage()    {}
func (*ParacrossCommitAction) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{34}
}
func (m *ParacrossCommitAction) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ParacrossCommitAction.Unmarshal(m, b)
}
func (m *ParacrossCommitAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ParacrossCommitAction.Marshal(b, m, deterministic)
}
func (dst *ParacrossCommitAction) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ParacrossCommitAction.Merge(dst, src)
}
func (m *ParacrossCommitAction) XXX_Size() int {
	return xxx_messageInfo_ParacrossCommitAction.Size(m)
}
func (m *ParacrossCommitAction) XXX_DiscardUnknown() {
	xxx_messageInfo_ParacrossCommitAction.DiscardUnknown(m)
}

var xxx_messageInfo_ParacrossCommitAction proto.InternalMessageInfo

func (m *ParacrossCommitAction) GetStatus() *ParacrossNodeStatus {
	if m != nil {
		return m.Status
	}
	return nil
}

type ParacrossMinerAction struct {
	Status               *ParacrossNodeStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	IsSelfConsensus      bool                 `protobuf:"varint,2,opt,name=isSelfConsensus,proto3" json:"isSelfConsensus,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *ParacrossMinerAction) Reset()         { *m = ParacrossMinerAction{} }
func (m *ParacrossMinerAction) String() string { return proto.CompactTextString(m) }
func (*ParacrossMinerAction) ProtoMessage()    {}
func (*ParacrossMinerAction) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{35}
}
func (m *ParacrossMinerAction) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ParacrossMinerAction.Unmarshal(m, b)
}
func (m *ParacrossMinerAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ParacrossMinerAction.Marshal(b, m, deterministic)
}
func (dst *ParacrossMinerAction) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ParacrossMinerAction.Merge(dst, src)
}
func (m *ParacrossMinerAction) XXX_Size() int {
	return xxx_messageInfo_ParacrossMinerAction.Size(m)
}
func (m *ParacrossMinerAction) XXX_DiscardUnknown() {
	xxx_messageInfo_ParacrossMinerAction.DiscardUnknown(m)
}

var xxx_messageInfo_ParacrossMinerAction proto.InternalMessageInfo

func (m *ParacrossMinerAction) GetStatus() *ParacrossNodeStatus {
	if m != nil {
		return m.Status
	}
	return nil
}

func (m *ParacrossMinerAction) GetIsSelfConsensus() bool {
	if m != nil {
		return m.IsSelfConsensus
	}
	return false
}

type ParacrossAction struct {
	// Types that are valid to be assigned to Value:
	//	*ParacrossAction_Commit
	//	*ParacrossAction_Miner
	//	*ParacrossAction_AssetTransfer
	//	*ParacrossAction_AssetWithdraw
	//	*ParacrossAction_Transfer
	//	*ParacrossAction_Withdraw
	//	*ParacrossAction_TransferToExec
	//	*ParacrossAction_NodeConfig
	//	*ParacrossAction_NodeGroupConfig
	//	*ParacrossAction_SelfStageConfig
	Value                isParacrossAction_Value `protobuf_oneof:"value"`
	Ty                   int32                   `protobuf:"varint,2,opt,name=ty,proto3" json:"ty,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

func (m *ParacrossAction) Reset()         { *m = ParacrossAction{} }
func (m *ParacrossAction) String() string { return proto.CompactTextString(m) }
func (*ParacrossAction) ProtoMessage()    {}
func (*ParacrossAction) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{36}
}
func (m *ParacrossAction) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ParacrossAction.Unmarshal(m, b)
}
func (m *ParacrossAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ParacrossAction.Marshal(b, m, deterministic)
}
func (dst *ParacrossAction) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ParacrossAction.Merge(dst, src)
}
func (m *ParacrossAction) XXX_Size() int {
	return xxx_messageInfo_ParacrossAction.Size(m)
}
func (m *ParacrossAction) XXX_DiscardUnknown() {
	xxx_messageInfo_ParacrossAction.DiscardUnknown(m)
}

var xxx_messageInfo_ParacrossAction proto.InternalMessageInfo

type isParacrossAction_Value interface {
	isParacrossAction_Value()
}

type ParacrossAction_Commit struct {
	Commit *ParacrossCommitAction `protobuf:"bytes,1,opt,name=commit,proto3,oneof"`
}

type ParacrossAction_Miner struct {
	Miner *ParacrossMinerAction `protobuf:"bytes,3,opt,name=miner,proto3,oneof"`
}

type ParacrossAction_AssetTransfer struct {
	AssetTransfer *types.AssetsTransfer `protobuf:"bytes,4,opt,name=assetTransfer,proto3,oneof"`
}

type ParacrossAction_AssetWithdraw struct {
	AssetWithdraw *types.AssetsWithdraw `protobuf:"bytes,5,opt,name=assetWithdraw,proto3,oneof"`
}

type ParacrossAction_Transfer struct {
	Transfer *types.AssetsTransfer `protobuf:"bytes,6,opt,name=transfer,proto3,oneof"`
}

type ParacrossAction_Withdraw struct {
	Withdraw *types.AssetsWithdraw `protobuf:"bytes,7,opt,name=withdraw,proto3,oneof"`
}

type ParacrossAction_TransferToExec struct {
	TransferToExec *types.AssetsTransferToExec `protobuf:"bytes,8,opt,name=transferToExec,proto3,oneof"`
}

type ParacrossAction_NodeConfig struct {
	NodeConfig *ParaNodeAddrConfig `protobuf:"bytes,9,opt,name=nodeConfig,proto3,oneof"`
}

type ParacrossAction_NodeGroupConfig struct {
	NodeGroupConfig *ParaNodeGroupConfig `protobuf:"bytes,10,opt,name=nodeGroupConfig,proto3,oneof"`
}

type ParacrossAction_SelfStageConfig struct {
	SelfStageConfig *ParaStageConfig `protobuf:"bytes,11,opt,name=selfStageConfig,proto3,oneof"`
}

func (*ParacrossAction_Commit) isParacrossAction_Value() {}

func (*ParacrossAction_Miner) isParacrossAction_Value() {}

func (*ParacrossAction_AssetTransfer) isParacrossAction_Value() {}

func (*ParacrossAction_AssetWithdraw) isParacrossAction_Value() {}

func (*ParacrossAction_Transfer) isParacrossAction_Value() {}

func (*ParacrossAction_Withdraw) isParacrossAction_Value() {}

func (*ParacrossAction_TransferToExec) isParacrossAction_Value() {}

func (*ParacrossAction_NodeConfig) isParacrossAction_Value() {}

func (*ParacrossAction_NodeGroupConfig) isParacrossAction_Value() {}

func (*ParacrossAction_SelfStageConfig) isParacrossAction_Value() {}

func (m *ParacrossAction) GetValue() isParacrossAction_Value {
	if m != nil {
		return m.Value
	}
	return nil
}

func (m *ParacrossAction) GetCommit() *ParacrossCommitAction {
	if x, ok := m.GetValue().(*ParacrossAction_Commit); ok {
		return x.Commit
	}
	return nil
}

func (m *ParacrossAction) GetMiner() *ParacrossMinerAction {
	if x, ok := m.GetValue().(*ParacrossAction_Miner); ok {
		return x.Miner
	}
	return nil
}

func (m *ParacrossAction) GetAssetTransfer() *types.AssetsTransfer {
	if x, ok := m.GetValue().(*ParacrossAction_AssetTransfer); ok {
		return x.AssetTransfer
	}
	return nil
}

func (m *ParacrossAction) GetAssetWithdraw() *types.AssetsWithdraw {
	if x, ok := m.GetValue().(*ParacrossAction_AssetWithdraw); ok {
		return x.AssetWithdraw
	}
	return nil
}

func (m *ParacrossAction) GetTransfer() *types.AssetsTransfer {
	if x, ok := m.GetValue().(*ParacrossAction_Transfer); ok {
		return x.Transfer
	}
	return nil
}

func (m *ParacrossAction) GetWithdraw() *types.AssetsWithdraw {
	if x, ok := m.GetValue().(*ParacrossAction_Withdraw); ok {
		return x.Withdraw
	}
	return nil
}

func (m *ParacrossAction) GetTransferToExec() *types.AssetsTransferToExec {
	if x, ok := m.GetValue().(*ParacrossAction_TransferToExec); ok {
		return x.TransferToExec
	}
	return nil
}

func (m *ParacrossAction) GetNodeConfig() *ParaNodeAddrConfig {
	if x, ok := m.GetValue().(*ParacrossAction_NodeConfig); ok {
		return x.NodeConfig
	}
	return nil
}

func (m *ParacrossAction) GetNodeGroupConfig() *ParaNodeGroupConfig {
	if x, ok := m.GetValue().(*ParacrossAction_NodeGroupConfig); ok {
		return x.NodeGroupConfig
	}
	return nil
}

func (m *ParacrossAction) GetSelfStageConfig() *ParaStageConfig {
	if x, ok := m.GetValue().(*ParacrossAction_SelfStageConfig); ok {
		return x.SelfStageConfig
	}
	return nil
}

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

// XXX_OneofFuncs is for the internal use of the proto package.
func (*ParacrossAction) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
	return _ParacrossAction_OneofMarshaler, _ParacrossAction_OneofUnmarshaler, _ParacrossAction_OneofSizer, []interface{}{
		(*ParacrossAction_Commit)(nil),
		(*ParacrossAction_Miner)(nil),
		(*ParacrossAction_AssetTransfer)(nil),
		(*ParacrossAction_AssetWithdraw)(nil),
		(*ParacrossAction_Transfer)(nil),
		(*ParacrossAction_Withdraw)(nil),
		(*ParacrossAction_TransferToExec)(nil),
		(*ParacrossAction_NodeConfig)(nil),
		(*ParacrossAction_NodeGroupConfig)(nil),
		(*ParacrossAction_SelfStageConfig)(nil),
	}
}

func _ParacrossAction_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
	m := msg.(*ParacrossAction)
	// value
	switch x := m.Value.(type) {
	case *ParacrossAction_Commit:
		b.EncodeVarint(1<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.Commit); err != nil {
			return err
		}
	case *ParacrossAction_Miner:
		b.EncodeVarint(3<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.Miner); err != nil {
			return err
		}
	case *ParacrossAction_AssetTransfer:
		b.EncodeVarint(4<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.AssetTransfer); err != nil {
			return err
		}
	case *ParacrossAction_AssetWithdraw:
		b.EncodeVarint(5<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.AssetWithdraw); err != nil {
			return err
		}
	case *ParacrossAction_Transfer:
		b.EncodeVarint(6<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.Transfer); err != nil {
			return err
		}
	case *ParacrossAction_Withdraw:
		b.EncodeVarint(7<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.Withdraw); err != nil {
			return err
		}
	case *ParacrossAction_TransferToExec:
		b.EncodeVarint(8<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.TransferToExec); err != nil {
			return err
		}
	case *ParacrossAction_NodeConfig:
		b.EncodeVarint(9<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.NodeConfig); err != nil {
			return err
		}
	case *ParacrossAction_NodeGroupConfig:
		b.EncodeVarint(10<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.NodeGroupConfig); err != nil {
			return err
		}
	case *ParacrossAction_SelfStageConfig:
		b.EncodeVarint(11<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.SelfStageConfig); err != nil {
			return err
		}
	case nil:
	default:
		return fmt.Errorf("ParacrossAction.Value has unexpected type %T", x)
	}
	return nil
}

func _ParacrossAction_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
	m := msg.(*ParacrossAction)
	switch tag {
	case 1: // value.commit
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(ParacrossCommitAction)
		err := b.DecodeMessage(msg)
		m.Value = &ParacrossAction_Commit{msg}
		return true, err
	case 3: // value.miner
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(ParacrossMinerAction)
		err := b.DecodeMessage(msg)
		m.Value = &ParacrossAction_Miner{msg}
		return true, err
	case 4: // value.assetTransfer
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(types.AssetsTransfer)
		err := b.DecodeMessage(msg)
		m.Value = &ParacrossAction_AssetTransfer{msg}
		return true, err
	case 5: // value.assetWithdraw
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(types.AssetsWithdraw)
		err := b.DecodeMessage(msg)
		m.Value = &ParacrossAction_AssetWithdraw{msg}
		return true, err
	case 6: // value.transfer
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(types.AssetsTransfer)
		err := b.DecodeMessage(msg)
		m.Value = &ParacrossAction_Transfer{msg}
		return true, err
	case 7: // value.withdraw
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(types.AssetsWithdraw)
		err := b.DecodeMessage(msg)
		m.Value = &ParacrossAction_Withdraw{msg}
		return true, err
	case 8: // value.transferToExec
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(types.AssetsTransferToExec)
		err := b.DecodeMessage(msg)
		m.Value = &ParacrossAction_TransferToExec{msg}
		return true, err
	case 9: // value.nodeConfig
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(ParaNodeAddrConfig)
		err := b.DecodeMessage(msg)
		m.Value = &ParacrossAction_NodeConfig{msg}
		return true, err
	case 10: // value.nodeGroupConfig
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(ParaNodeGroupConfig)
		err := b.DecodeMessage(msg)
		m.Value = &ParacrossAction_NodeGroupConfig{msg}
		return true, err
	case 11: // value.selfStageConfig
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(ParaStageConfig)
		err := b.DecodeMessage(msg)
		m.Value = &ParacrossAction_SelfStageConfig{msg}
		return true, err
	default:
		return false, nil
	}
}

func _ParacrossAction_OneofSizer(msg proto.Message) (n int) {
	m := msg.(*ParacrossAction)
	// value
	switch x := m.Value.(type) {
	case *ParacrossAction_Commit:
		s := proto.Size(x.Commit)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case *ParacrossAction_Miner:
		s := proto.Size(x.Miner)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case *ParacrossAction_AssetTransfer:
		s := proto.Size(x.AssetTransfer)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case *ParacrossAction_AssetWithdraw:
		s := proto.Size(x.AssetWithdraw)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case *ParacrossAction_Transfer:
		s := proto.Size(x.Transfer)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case *ParacrossAction_Withdraw:
		s := proto.Size(x.Withdraw)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case *ParacrossAction_TransferToExec:
		s := proto.Size(x.TransferToExec)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case *ParacrossAction_NodeConfig:
		s := proto.Size(x.NodeConfig)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case *ParacrossAction_NodeGroupConfig:
		s := proto.Size(x.NodeGroupConfig)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case *ParacrossAction_SelfStageConfig:
		s := proto.Size(x.SelfStageConfig)
		n += 1 // tag and wire
		n += proto.SizeVarint(uint64(s))
		n += s
	case nil:
	default:
		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
	}
	return n
}

// logs
type ReceiptParacrossCommit struct {
	Addr                 string                 `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"`
	Status               *ParacrossNodeStatus   `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	Prev                 *ParacrossHeightStatus `protobuf:"bytes,3,opt,name=prev,proto3" json:"prev,omitempty"`
	Current              *ParacrossHeightStatus `protobuf:"bytes,4,opt,name=current,proto3" json:"current,omitempty"`
	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
	XXX_unrecognized     []byte                 `json:"-"`
	XXX_sizecache        int32                  `json:"-"`
}

func (m *ReceiptParacrossCommit) Reset()         { *m = ReceiptParacrossCommit{} }
func (m *ReceiptParacrossCommit) String() string { return proto.CompactTextString(m) }
func (*ReceiptParacrossCommit) ProtoMessage()    {}
func (*ReceiptParacrossCommit) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{37}
}
func (m *ReceiptParacrossCommit) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ReceiptParacrossCommit.Unmarshal(m, b)
}
func (m *ReceiptParacrossCommit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ReceiptParacrossCommit.Marshal(b, m, deterministic)
}
func (dst *ReceiptParacrossCommit) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ReceiptParacrossCommit.Merge(dst, src)
}
func (m *ReceiptParacrossCommit) XXX_Size() int {
	return xxx_messageInfo_ReceiptParacrossCommit.Size(m)
}
func (m *ReceiptParacrossCommit) XXX_DiscardUnknown() {
	xxx_messageInfo_ReceiptParacrossCommit.DiscardUnknown(m)
}

var xxx_messageInfo_ReceiptParacrossCommit proto.InternalMessageInfo

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

func (m *ReceiptParacrossCommit) GetStatus() *ParacrossNodeStatus {
	if m != nil {
		return m.Status
	}
	return nil
}

func (m *ReceiptParacrossCommit) GetPrev() *ParacrossHeightStatus {
	if m != nil {
		return m.Prev
	}
	return nil
}

func (m *ReceiptParacrossCommit) GetCurrent() *ParacrossHeightStatus {
	if m != nil {
		return m.Current
	}
	return nil
}

type ReceiptParacrossMiner struct {
	Status               *ParacrossNodeStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *ReceiptParacrossMiner) Reset()         { *m = ReceiptParacrossMiner{} }
func (m *ReceiptParacrossMiner) String() string { return proto.CompactTextString(m) }
func (*ReceiptParacrossMiner) ProtoMessage()    {}
func (*ReceiptParacrossMiner) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{38}
}
func (m *ReceiptParacrossMiner) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ReceiptParacrossMiner.Unmarshal(m, b)
}
func (m *ReceiptParacrossMiner) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ReceiptParacrossMiner.Marshal(b, m, deterministic)
}
func (dst *ReceiptParacrossMiner) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ReceiptParacrossMiner.Merge(dst, src)
}
func (m *ReceiptParacrossMiner) XXX_Size() int {
	return xxx_messageInfo_ReceiptParacrossMiner.Size(m)
}
func (m *ReceiptParacrossMiner) XXX_DiscardUnknown() {
	xxx_messageInfo_ReceiptParacrossMiner.DiscardUnknown(m)
}

var xxx_messageInfo_ReceiptParacrossMiner proto.InternalMessageInfo

func (m *ReceiptParacrossMiner) GetStatus() *ParacrossNodeStatus {
	if m != nil {
		return m.Status
	}
	return nil
}

type ReceiptParacrossDone struct {
	TotalNodes           int32    `protobuf:"varint,1,opt,name=totalNodes,proto3" json:"totalNodes,omitempty"`
	TotalCommit          int32    `protobuf:"varint,2,opt,name=totalCommit,proto3" json:"totalCommit,omitempty"`
	MostSameCommit       int32    `protobuf:"varint,3,opt,name=mostSameCommit,proto3" json:"mostSameCommit,omitempty"`
	Title                string   `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"`
	Height               int64    `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"`
	StateHash            []byte   `protobuf:"bytes,6,opt,name=stateHash,proto3" json:"stateHash,omitempty"`
	TxCounts             uint32   `protobuf:"varint,7,opt,name=txCounts,proto3" json:"txCounts,omitempty"`
	TxResult             []byte   `protobuf:"bytes,8,opt,name=txResult,proto3" json:"txResult,omitempty"`
	BlockHash            []byte   `protobuf:"bytes,9,opt,name=blockHash,proto3" json:"blockHash,omitempty"`
	TxHashs              [][]byte `protobuf:"bytes,10,rep,name=txHashs,proto3" json:"txHashs,omitempty"`
	CrossTxResult        []byte   `protobuf:"bytes,11,opt,name=crossTxResult,proto3" json:"crossTxResult,omitempty"`
	CrossTxHashs         [][]byte `protobuf:"bytes,12,rep,name=crossTxHashs,proto3" json:"crossTxHashs,omitempty"`
	MainBlockHash        []byte   `protobuf:"bytes,13,opt,name=mainBlockHash,proto3" json:"mainBlockHash,omitempty"`
	MainBlockHeight      int64    `protobuf:"varint,14,opt,name=mainBlockHeight,proto3" json:"mainBlockHeight,omitempty"`
	ChainExecHeight      int64    `protobuf:"varint,15,opt,name=chainExecHeight,proto3" json:"chainExecHeight,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ReceiptParacrossDone) Reset()         { *m = ReceiptParacrossDone{} }
func (m *ReceiptParacrossDone) String() string { return proto.CompactTextString(m) }
func (*ReceiptParacrossDone) ProtoMessage()    {}
func (*ReceiptParacrossDone) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{39}
}
func (m *ReceiptParacrossDone) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ReceiptParacrossDone.Unmarshal(m, b)
}
func (m *ReceiptParacrossDone) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ReceiptParacrossDone.Marshal(b, m, deterministic)
}
func (dst *ReceiptParacrossDone) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ReceiptParacrossDone.Merge(dst, src)
}
func (m *ReceiptParacrossDone) XXX_Size() int {
	return xxx_messageInfo_ReceiptParacrossDone.Size(m)
}
func (m *ReceiptParacrossDone) XXX_DiscardUnknown() {
	xxx_messageInfo_ReceiptParacrossDone.DiscardUnknown(m)
}

var xxx_messageInfo_ReceiptParacrossDone proto.InternalMessageInfo

func (m *ReceiptParacrossDone) GetTotalNodes() int32 {
	if m != nil {
		return m.TotalNodes
	}
	return 0
}

func (m *ReceiptParacrossDone) GetTotalCommit() int32 {
	if m != nil {
		return m.TotalCommit
	}
	return 0
}

func (m *ReceiptParacrossDone) GetMostSameCommit() int32 {
	if m != nil {
		return m.MostSameCommit
	}
	return 0
}

func (m *ReceiptParacrossDone) GetTitle() string {
	if m != nil {
		return m.Title
	}
	return ""
}

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

func (m *ReceiptParacrossDone) GetStateHash() []byte {
	if m != nil {
		return m.StateHash
	}
	return nil
}

func (m *ReceiptParacrossDone) GetTxCounts() uint32 {
	if m != nil {
		return m.TxCounts
	}
	return 0
}

func (m *ReceiptParacrossDone) GetTxResult() []byte {
	if m != nil {
		return m.TxResult
	}
	return nil
}

func (m *ReceiptParacrossDone) GetBlockHash() []byte {
	if m != nil {
		return m.BlockHash
	}
	return nil
}

func (m *ReceiptParacrossDone) GetTxHashs() [][]byte {
	if m != nil {
		return m.TxHashs
	}
	return nil
}

func (m *ReceiptParacrossDone) GetCrossTxResult() []byte {
	if m != nil {
		return m.CrossTxResult
	}
	return nil
}

func (m *ReceiptParacrossDone) GetCrossTxHashs() [][]byte {
	if m != nil {
		return m.CrossTxHashs
	}
	return nil
}

func (m *ReceiptParacrossDone) GetMainBlockHash() []byte {
	if m != nil {
		return m.MainBlockHash
	}
	return nil
}

func (m *ReceiptParacrossDone) GetMainBlockHeight() int64 {
	if m != nil {
		return m.MainBlockHeight
	}
	return 0
}

func (m *ReceiptParacrossDone) GetChainExecHeight() int64 {
	if m != nil {
		return m.ChainExecHeight
	}
	return 0
}

type ReceiptParacrossRecord struct {
	Addr                 string               `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"`
	Status               *ParacrossNodeStatus `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *ReceiptParacrossRecord) Reset()         { *m = ReceiptParacrossRecord{} }
func (m *ReceiptParacrossRecord) String() string { return proto.CompactTextString(m) }
func (*ReceiptParacrossRecord) ProtoMessage()    {}
func (*ReceiptParacrossRecord) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{40}
}
func (m *ReceiptParacrossRecord) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ReceiptParacrossRecord.Unmarshal(m, b)
}
func (m *ReceiptParacrossRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ReceiptParacrossRecord.Marshal(b, m, deterministic)
}
func (dst *ReceiptParacrossRecord) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ReceiptParacrossRecord.Merge(dst, src)
}
func (m *ReceiptParacrossRecord) XXX_Size() int {
	return xxx_messageInfo_ReceiptParacrossRecord.Size(m)
}
func (m *ReceiptParacrossRecord) XXX_DiscardUnknown() {
	xxx_messageInfo_ReceiptParacrossRecord.DiscardUnknown(m)
}

var xxx_messageInfo_ReceiptParacrossRecord proto.InternalMessageInfo

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

func (m *ReceiptParacrossRecord) GetStatus() *ParacrossNodeStatus {
	if m != nil {
		return m.Status
	}
	return nil
}

// LocalDB
// title-height-addr : txHash
type ParacrossTx struct {
	TxHash               string   `protobuf:"bytes,1,opt,name=txHash,proto3" json:"txHash,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ParacrossTx) Reset()         { *m = ParacrossTx{} }
func (m *ParacrossTx) String() string { return proto.CompactTextString(m) }
func (*ParacrossTx) ProtoMessage()    {}
func (*ParacrossTx) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{41}
}
func (m *ParacrossTx) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ParacrossTx.Unmarshal(m, b)
}
func (m *ParacrossTx) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ParacrossTx.Marshal(b, m, deterministic)
}
func (dst *ParacrossTx) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ParacrossTx.Merge(dst, src)
}
func (m *ParacrossTx) XXX_Size() int {
	return xxx_messageInfo_ParacrossTx.Size(m)
}
func (m *ParacrossTx) XXX_DiscardUnknown() {
	xxx_messageInfo_ParacrossTx.DiscardUnknown(m)
}

var xxx_messageInfo_ParacrossTx proto.InternalMessageInfo

func (m *ParacrossTx) GetTxHash() string {
	if m != nil {
		return m.TxHash
	}
	return ""
}

// query
type ReqParacrossTitleHeight struct {
	Title                string   `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
	Height               int64    `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ReqParacrossTitleHeight) Reset()         { *m = ReqParacrossTitleHeight{} }
func (m *ReqParacrossTitleHeight) String() string { return proto.CompactTextString(m) }
func (*ReqParacrossTitleHeight) ProtoMessage()    {}
func (*ReqParacrossTitleHeight) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{42}
}
func (m *ReqParacrossTitleHeight) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ReqParacrossTitleHeight.Unmarshal(m, b)
}
func (m *ReqParacrossTitleHeight) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ReqParacrossTitleHeight.Marshal(b, m, deterministic)
}
func (dst *ReqParacrossTitleHeight) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ReqParacrossTitleHeight.Merge(dst, src)
}
func (m *ReqParacrossTitleHeight) XXX_Size() int {
	return xxx_messageInfo_ReqParacrossTitleHeight.Size(m)
}
func (m *ReqParacrossTitleHeight) XXX_DiscardUnknown() {
	xxx_messageInfo_ReqParacrossTitleHeight.DiscardUnknown(m)
}

var xxx_messageInfo_ReqParacrossTitleHeight proto.InternalMessageInfo

func (m *ReqParacrossTitleHeight) GetTitle() string {
	if m != nil {
		return m.Title
	}
	return ""
}

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

type RespParacrossDone struct {
	TotalNodes     int32  `protobuf:"varint,1,opt,name=totalNodes,proto3" json:"totalNodes,omitempty"`
	TotalCommit    int32  `protobuf:"varint,2,opt,name=totalCommit,proto3" json:"totalCommit,omitempty"`
	MostSameCommit int32  `protobuf:"varint,3,opt,name=mostSameCommit,proto3" json:"mostSameCommit,omitempty"`
	Title          string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"`
	Height         int64  `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"`
	StateHash      string `protobuf:"bytes,6,opt,name=stateHash,proto3" json:"stateHash,omitempty"`
	TxCounts       uint32 `protobuf:"varint,7,opt,name=txCounts,proto3" json:"txCounts,omitempty"`
	TxResult       string `protobuf:"bytes,8,opt,name=txResult,proto3" json:"txResult,omitempty"`
	// commitDone chainHeight
	ChainExecHeight      int64    `protobuf:"varint,9,opt,name=chainExecHeight,proto3" json:"chainExecHeight,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *RespParacrossDone) Reset()         { *m = RespParacrossDone{} }
func (m *RespParacrossDone) String() string { return proto.CompactTextString(m) }
func (*RespParacrossDone) ProtoMessage()    {}
func (*RespParacrossDone) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{43}
}
func (m *RespParacrossDone) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RespParacrossDone.Unmarshal(m, b)
}
func (m *RespParacrossDone) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RespParacrossDone.Marshal(b, m, deterministic)
}
func (dst *RespParacrossDone) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RespParacrossDone.Merge(dst, src)
}
func (m *RespParacrossDone) XXX_Size() int {
	return xxx_messageInfo_RespParacrossDone.Size(m)
}
func (m *RespParacrossDone) XXX_DiscardUnknown() {
	xxx_messageInfo_RespParacrossDone.DiscardUnknown(m)
}

var xxx_messageInfo_RespParacrossDone proto.InternalMessageInfo

func (m *RespParacrossDone) GetTotalNodes() int32 {
	if m != nil {
		return m.TotalNodes
	}
	return 0
}

func (m *RespParacrossDone) GetTotalCommit() int32 {
	if m != nil {
		return m.TotalCommit
	}
	return 0
}

func (m *RespParacrossDone) GetMostSameCommit() int32 {
	if m != nil {
		return m.MostSameCommit
	}
	return 0
}

func (m *RespParacrossDone) GetTitle() string {
	if m != nil {
		return m.Title
	}
	return ""
}

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

func (m *RespParacrossDone) GetStateHash() string {
	if m != nil {
		return m.StateHash
	}
	return ""
}

func (m *RespParacrossDone) GetTxCounts() uint32 {
	if m != nil {
		return m.TxCounts
	}
	return 0
}

func (m *RespParacrossDone) GetTxResult() string {
	if m != nil {
		return m.TxResult
	}
	return ""
}

func (m *RespParacrossDone) GetChainExecHeight() int64 {
	if m != nil {
		return m.ChainExecHeight
	}
	return 0
}

type RespParacrossTitles struct {
	Titles               []*RespParacrossDone `protobuf:"bytes,1,rep,name=titles,proto3" json:"titles,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *RespParacrossTitles) Reset()         { *m = RespParacrossTitles{} }
func (m *RespParacrossTitles) String() string { return proto.CompactTextString(m) }
func (*RespParacrossTitles) ProtoMessage()    {}
func (*RespParacrossTitles) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{44}
}
func (m *RespParacrossTitles) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RespParacrossTitles.Unmarshal(m, b)
}
func (m *RespParacrossTitles) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RespParacrossTitles.Marshal(b, m, deterministic)
}
func (dst *RespParacrossTitles) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RespParacrossTitles.Merge(dst, src)
}
func (m *RespParacrossTitles) XXX_Size() int {
	return xxx_messageInfo_RespParacrossTitles.Size(m)
}
func (m *RespParacrossTitles) XXX_DiscardUnknown() {
	xxx_messageInfo_RespParacrossTitles.DiscardUnknown(m)
}

var xxx_messageInfo_RespParacrossTitles proto.InternalMessageInfo

func (m *RespParacrossTitles) GetTitles() []*RespParacrossDone {
	if m != nil {
		return m.Titles
	}
	return nil
}

type ReqParacrossTitleHash struct {
	Title                string   `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
	BlockHash            []byte   `protobuf:"bytes,2,opt,name=blockHash,proto3" json:"blockHash,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ReqParacrossTitleHash) Reset()         { *m = ReqParacrossTitleHash{} }
func (m *ReqParacrossTitleHash) String() string { return proto.CompactTextString(m) }
func (*ReqParacrossTitleHash) ProtoMessage()    {}
func (*ReqParacrossTitleHash) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{45}
}
func (m *ReqParacrossTitleHash) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ReqParacrossTitleHash.Unmarshal(m, b)
}
func (m *ReqParacrossTitleHash) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ReqParacrossTitleHash.Marshal(b, m, deterministic)
}
func (dst *ReqParacrossTitleHash) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ReqParacrossTitleHash.Merge(dst, src)
}
func (m *ReqParacrossTitleHash) XXX_Size() int {
	return xxx_messageInfo_ReqParacrossTitleHash.Size(m)
}
func (m *ReqParacrossTitleHash) XXX_DiscardUnknown() {
	xxx_messageInfo_ReqParacrossTitleHash.DiscardUnknown(m)
}

var xxx_messageInfo_ReqParacrossTitleHash proto.InternalMessageInfo

func (m *ReqParacrossTitleHash) GetTitle() string {
	if m != nil {
		return m.Title
	}
	return ""
}

func (m *ReqParacrossTitleHash) GetBlockHash() []byte {
	if m != nil {
		return m.BlockHash
	}
	return nil
}

// 跨链转账相关
type ParacrossAsset struct {
	// input
	From       string `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"`
	To         string `protobuf:"bytes,2,opt,name=to,proto3" json:"to,omitempty"`
	IsWithdraw bool   `protobuf:"varint,3,opt,name=isWithdraw,proto3" json:"isWithdraw,omitempty"`
	TxHash     []byte `protobuf:"bytes,4,opt,name=txHash,proto3" json:"txHash,omitempty"`
	Amount     int64  `protobuf:"varint,5,opt,name=amount,proto3" json:"amount,omitempty"`
	Exec       string `protobuf:"bytes,6,opt,name=exec,proto3" json:"exec,omitempty"`
	Symbol     string `protobuf:"bytes,7,opt,name=symbol,proto3" json:"symbol,omitempty"`
	// 主链部分
	Height int64 `protobuf:"varint,10,opt,name=height,proto3" json:"height,omitempty"`
	// 平行链部分
	CommitDoneHeight     int64    `protobuf:"varint,21,opt,name=commitDoneHeight,proto3" json:"commitDoneHeight,omitempty"`
	ParaHeight           int64    `protobuf:"varint,22,opt,name=paraHeight,proto3" json:"paraHeight,omitempty"`
	Success              bool     `protobuf:"varint,23,opt,name=success,proto3" json:"success,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ParacrossAsset) Reset()         { *m = ParacrossAsset{} }
func (m *ParacrossAsset) String() string { return proto.CompactTextString(m) }
func (*ParacrossAsset) ProtoMessage()    {}
func (*ParacrossAsset) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{46}
}
func (m *ParacrossAsset) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ParacrossAsset.Unmarshal(m, b)
}
func (m *ParacrossAsset) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ParacrossAsset.Marshal(b, m, deterministic)
}
func (dst *ParacrossAsset) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ParacrossAsset.Merge(dst, src)
}
func (m *ParacrossAsset) XXX_Size() int {
	return xxx_messageInfo_ParacrossAsset.Size(m)
}
func (m *ParacrossAsset) XXX_DiscardUnknown() {
	xxx_messageInfo_ParacrossAsset.DiscardUnknown(m)
}

var xxx_messageInfo_ParacrossAsset proto.InternalMessageInfo

func (m *ParacrossAsset) GetFrom() string {
	if m != nil {
		return m.From
	}
	return ""
}

func (m *ParacrossAsset) GetTo() string {
	if m != nil {
		return m.To
	}
	return ""
}

func (m *ParacrossAsset) GetIsWithdraw() bool {
	if m != nil {
		return m.IsWithdraw
	}
	return false
}

func (m *ParacrossAsset) GetTxHash() []byte {
	if m != nil {
		return m.TxHash
	}
	return nil
}

func (m *ParacrossAsset) GetAmount() int64 {
	if m != nil {
		return m.Amount
	}
	return 0
}

func (m *ParacrossAsset) GetExec() string {
	if m != nil {
		return m.Exec
	}
	return ""
}

func (m *ParacrossAsset) GetSymbol() string {
	if m != nil {
		return m.Symbol
	}
	return ""
}

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

func (m *ParacrossAsset) GetCommitDoneHeight() int64 {
	if m != nil {
		return m.CommitDoneHeight
	}
	return 0
}

func (m *ParacrossAsset) GetParaHeight() int64 {
	if m != nil {
		return m.ParaHeight
	}
	return 0
}

func (m *ParacrossAsset) GetSuccess() bool {
	if m != nil {
		return m.Success
	}
	return false
}

type ParacrossAssetRsp struct {
	// input
	From       string `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"`
	To         string `protobuf:"bytes,2,opt,name=to,proto3" json:"to,omitempty"`
	IsWithdraw string `protobuf:"bytes,3,opt,name=isWithdraw,proto3" json:"isWithdraw,omitempty"`
	TxHash     string `protobuf:"bytes,4,opt,name=txHash,proto3" json:"txHash,omitempty"`
	Amount     int64  `protobuf:"varint,5,opt,name=amount,proto3" json:"amount,omitempty"`
	Exec       string `protobuf:"bytes,6,opt,name=exec,proto3" json:"exec,omitempty"`
	Symbol     string `protobuf:"bytes,7,opt,name=symbol,proto3" json:"symbol,omitempty"`
	// 主链部分
	Height int64 `protobuf:"varint,10,opt,name=height,proto3" json:"height,omitempty"`
	// 平行链部分
	CommitDoneHeight     int64    `protobuf:"varint,21,opt,name=commitDoneHeight,proto3" json:"commitDoneHeight,omitempty"`
	ParaHeight           int64    `protobuf:"varint,22,opt,name=paraHeight,proto3" json:"paraHeight,omitempty"`
	Success              string   `protobuf:"bytes,23,opt,name=success,proto3" json:"success,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ParacrossAssetRsp) Reset()         { *m = ParacrossAssetRsp{} }
func (m *ParacrossAssetRsp) String() string { return proto.CompactTextString(m) }
func (*ParacrossAssetRsp) ProtoMessage()    {}
func (*ParacrossAssetRsp) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{47}
}
func (m *ParacrossAssetRsp) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ParacrossAssetRsp.Unmarshal(m, b)
}
func (m *ParacrossAssetRsp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ParacrossAssetRsp.Marshal(b, m, deterministic)
}
func (dst *ParacrossAssetRsp) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ParacrossAssetRsp.Merge(dst, src)
}
func (m *ParacrossAssetRsp) XXX_Size() int {
	return xxx_messageInfo_ParacrossAssetRsp.Size(m)
}
func (m *ParacrossAssetRsp) XXX_DiscardUnknown() {
	xxx_messageInfo_ParacrossAssetRsp.DiscardUnknown(m)
}

var xxx_messageInfo_ParacrossAssetRsp proto.InternalMessageInfo

func (m *ParacrossAssetRsp) GetFrom() string {
	if m != nil {
		return m.From
	}
	return ""
}

func (m *ParacrossAssetRsp) GetTo() string {
	if m != nil {
		return m.To
	}
	return ""
}

func (m *ParacrossAssetRsp) GetIsWithdraw() string {
	if m != nil {
		return m.IsWithdraw
	}
	return ""
}

func (m *ParacrossAssetRsp) GetTxHash() string {
	if m != nil {
		return m.TxHash
	}
	return ""
}

func (m *ParacrossAssetRsp) GetAmount() int64 {
	if m != nil {
		return m.Amount
	}
	return 0
}

func (m *ParacrossAssetRsp) GetExec() string {
	if m != nil {
		return m.Exec
	}
	return ""
}

func (m *ParacrossAssetRsp) GetSymbol() string {
	if m != nil {
		return m.Symbol
	}
	return ""
}

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

func (m *ParacrossAssetRsp) GetCommitDoneHeight() int64 {
	if m != nil {
		return m.CommitDoneHeight
	}
	return 0
}

func (m *ParacrossAssetRsp) GetParaHeight() int64 {
	if m != nil {
		return m.ParaHeight
	}
	return 0
}

func (m *ParacrossAssetRsp) GetSuccess() string {
	if m != nil {
		return m.Success
	}
	return ""
}

type ParaLocalDbBlock struct {
	Height               int64                `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
	MainHash             []byte               `protobuf:"bytes,2,opt,name=mainHash,proto3" json:"mainHash,omitempty"`
	MainHeight           int64                `protobuf:"varint,3,opt,name=mainHeight,proto3" json:"mainHeight,omitempty"`
	ParentMainHash       []byte               `protobuf:"bytes,4,opt,name=parentMainHash,proto3" json:"parentMainHash,omitempty"`
	BlockTime            int64                `protobuf:"varint,5,opt,name=blockTime,proto3" json:"blockTime,omitempty"`
	Txs                  []*types.Transaction `protobuf:"bytes,6,rep,name=txs,proto3" json:"txs,omitempty"`
	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
	XXX_unrecognized     []byte               `json:"-"`
	XXX_sizecache        int32                `json:"-"`
}

func (m *ParaLocalDbBlock) Reset()         { *m = ParaLocalDbBlock{} }
func (m *ParaLocalDbBlock) String() string { return proto.CompactTextString(m) }
func (*ParaLocalDbBlock) ProtoMessage()    {}
func (*ParaLocalDbBlock) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{48}
}
func (m *ParaLocalDbBlock) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ParaLocalDbBlock.Unmarshal(m, b)
}
func (m *ParaLocalDbBlock) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ParaLocalDbBlock.Marshal(b, m, deterministic)
}
func (dst *ParaLocalDbBlock) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ParaLocalDbBlock.Merge(dst, src)
}
func (m *ParaLocalDbBlock) XXX_Size() int {
	return xxx_messageInfo_ParaLocalDbBlock.Size(m)
}
func (m *ParaLocalDbBlock) XXX_DiscardUnknown() {
	xxx_messageInfo_ParaLocalDbBlock.DiscardUnknown(m)
}

var xxx_messageInfo_ParaLocalDbBlock proto.InternalMessageInfo

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

func (m *ParaLocalDbBlock) GetMainHash() []byte {
	if m != nil {
		return m.MainHash
	}
	return nil
}

func (m *ParaLocalDbBlock) GetMainHeight() int64 {
	if m != nil {
		return m.MainHeight
	}
	return 0
}

func (m *ParaLocalDbBlock) GetParentMainHash() []byte {
	if m != nil {
		return m.ParentMainHash
	}
	return nil
}

func (m *ParaLocalDbBlock) GetBlockTime() int64 {
	if m != nil {
		return m.BlockTime
	}
	return 0
}

func (m *ParaLocalDbBlock) GetTxs() []*types.Transaction {
	if m != nil {
		return m.Txs
	}
	return nil
}

type ParaLocalDbBlockInfo struct {
	Height               int64    `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
	MainHash             string   `protobuf:"bytes,2,opt,name=mainHash,proto3" json:"mainHash,omitempty"`
	MainHeight           int64    `protobuf:"varint,3,opt,name=mainHeight,proto3" json:"mainHeight,omitempty"`
	ParentMainHash       string   `protobuf:"bytes,4,opt,name=parentMainHash,proto3" json:"parentMainHash,omitempty"`
	BlockTime            int64    `protobuf:"varint,5,opt,name=blockTime,proto3" json:"blockTime,omitempty"`
	Txs                  []string `protobuf:"bytes,6,rep,name=txs,proto3" json:"txs,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ParaLocalDbBlockInfo) Reset()         { *m = ParaLocalDbBlockInfo{} }
func (m *ParaLocalDbBlockInfo) String() string { return proto.CompactTextString(m) }
func (*ParaLocalDbBlockInfo) ProtoMessage()    {}
func (*ParaLocalDbBlockInfo) Descriptor() ([]byte, []int) {
	return fileDescriptor_paracross_86d4df6243fac7f6, []int{49}
}
func (m *ParaLocalDbBlockInfo) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ParaLocalDbBlockInfo.Unmarshal(m, b)
}
func (m *ParaLocalDbBlockInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ParaLocalDbBlockInfo.Marshal(b, m, deterministic)
}
func (dst *ParaLocalDbBlockInfo) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ParaLocalDbBlockInfo.Merge(dst, src)
}
func (m *ParaLocalDbBlockInfo) XXX_Size() int {
	return xxx_messageInfo_ParaLocalDbBlockInfo.Size(m)
}
func (m *ParaLocalDbBlockInfo) XXX_DiscardUnknown() {
	xxx_messageInfo_ParaLocalDbBlockInfo.DiscardUnknown(m)
}

var xxx_messageInfo_ParaLocalDbBlockInfo proto.InternalMessageInfo

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

func (m *ParaLocalDbBlockInfo) GetMainHash() string {
	if m != nil {
		return m.MainHash
	}
	return ""
}

func (m *ParaLocalDbBlockInfo) GetMainHeight() int64 {
	if m != nil {
		return m.MainHeight
	}
	return 0
}

func (m *ParaLocalDbBlockInfo) GetParentMainHash() string {
	if m != nil {
		return m.ParentMainHash
	}
	return ""
}

func (m *ParaLocalDbBlockInfo) GetBlockTime() int64 {
	if m != nil {
		return m.BlockTime
	}
	return 0
}

func (m *ParaLocalDbBlockInfo) GetTxs() []string {
	if m != nil {
		return m.Txs
	}
	return nil
}

func init() {
	proto.RegisterType((*ParacrossStatusDetails)(nil), "types.ParacrossStatusDetails")
	proto.RegisterType((*ParacrossStatusBlockDetails)(nil), "types.ParacrossStatusBlockDetails")
	proto.RegisterType((*ParacrossHeightStatus)(nil), "types.ParacrossHeightStatus")
	proto.RegisterType((*ParacrossHeightStatusRsp)(nil), "types.ParacrossHeightStatusRsp")
	proto.RegisterType((*ParacrossStatus)(nil), "types.ParacrossStatus")
	proto.RegisterType((*ParacrossConsensusStatus)(nil), "types.ParacrossConsensusStatus")
	proto.RegisterType((*ParaNodeAddrConfig)(nil), "types.ParaNodeAddrConfig")
	proto.RegisterType((*ParaNodeVoteDetail)(nil), "types.ParaNodeVoteDetail")
	proto.RegisterType((*ParaNodeAddrIdStatus)(nil), "types.ParaNodeAddrIdStatus")
	proto.RegisterType((*ParaNodeIdStatus)(nil), "types.ParaNodeIdStatus")
	proto.RegisterType((*ReceiptParaNodeConfig)(nil), "types.ReceiptParaNodeConfig")
	proto.RegisterType((*ReceiptParaNodeAddrStatUpdate)(nil), "types.ReceiptParaNodeAddrStatUpdate")
	proto.RegisterType((*ReceiptParaNodeVoteDone)(nil), "types.ReceiptParaNodeVoteDone")
	proto.RegisterType((*ParaNodeGroupConfig)(nil), "types.ParaNodeGroupConfig")
	proto.RegisterType((*ParaNodeGroupStatus)(nil), "types.ParaNodeGroupStatus")
	proto.RegisterType((*ReceiptParaNodeGroupConfig)(nil), "types.ReceiptParaNodeGroupConfig")
	proto.RegisterType((*ReqParacrossNodeInfo)(nil), "types.ReqParacrossNodeInfo")
	proto.RegisterType((*RespParacrossNodeAddrs)(nil), "types.RespParacrossNodeAddrs")
	proto.RegisterType((*RespParacrossNodeGroups)(nil), "types.RespParacrossNodeGroups")
	proto.RegisterType((*ParaBlock2MainMap)(nil), "types.ParaBlock2MainMap")
	proto.RegisterType((*ParaBlock2MainInfo)(nil), "types.ParaBlock2MainInfo")
	proto.RegisterType((*ParacrossNodeStatus)(nil), "types.ParacrossNodeStatus")
	proto.RegisterType((*SelfConsensStages)(nil), "types.SelfConsensStages")
	proto.RegisterType((*SelfConsensStage)(nil), "types.SelfConsensStage")
	proto.RegisterType((*SelfConsensStageInfo)(nil), "types.SelfConsensStageInfo")
	proto.RegisterType((*LocalSelfConsStageInfo)(nil), "types.LocalSelfConsStageInfo")
	proto.RegisterType((*ConfigVoteInfo)(nil), "types.ConfigVoteInfo")
	proto.RegisterType((*ConfigCancelInfo)(nil), "types.ConfigCancelInfo")
	proto.RegisterType((*ParaStageConfig)(nil), "types.ParaStageConfig")
	proto.RegisterType((*ReceiptSelfConsStageConfig)(nil), "types.ReceiptSelfConsStageConfig")
	proto.RegisterType((*ReceiptSelfConsStageVoteDone)(nil), "types.ReceiptSelfConsStageVoteDone")
	proto.RegisterType((*ReceiptSelfConsStagesUpdate)(nil), "types.ReceiptSelfConsStagesUpdate")
	proto.RegisterType((*ReqQuerySelfStages)(nil), "types.ReqQuerySelfStages")
	proto.RegisterType((*ReplyQuerySelfStages)(nil), "types.ReplyQuerySelfStages")
	proto.RegisterType((*ParacrossCommitAction)(nil), "types.ParacrossCommitAction")
	proto.RegisterType((*ParacrossMinerAction)(nil), "types.ParacrossMinerAction")
	proto.RegisterType((*ParacrossAction)(nil), "types.ParacrossAction")
	proto.RegisterType((*ReceiptParacrossCommit)(nil), "types.ReceiptParacrossCommit")
	proto.RegisterType((*ReceiptParacrossMiner)(nil), "types.ReceiptParacrossMiner")
	proto.RegisterType((*ReceiptParacrossDone)(nil), "types.ReceiptParacrossDone")
	proto.RegisterType((*ReceiptParacrossRecord)(nil), "types.ReceiptParacrossRecord")
	proto.RegisterType((*ParacrossTx)(nil), "types.ParacrossTx")
	proto.RegisterType((*ReqParacrossTitleHeight)(nil), "types.ReqParacrossTitleHeight")
	proto.RegisterType((*RespParacrossDone)(nil), "types.RespParacrossDone")
	proto.RegisterType((*RespParacrossTitles)(nil), "types.RespParacrossTitles")
	proto.RegisterType((*ReqParacrossTitleHash)(nil), "types.ReqParacrossTitleHash")
	proto.RegisterType((*ParacrossAsset)(nil), "types.ParacrossAsset")
	proto.RegisterType((*ParacrossAssetRsp)(nil), "types.ParacrossAssetRsp")
	proto.RegisterType((*ParaLocalDbBlock)(nil), "types.ParaLocalDbBlock")
	proto.RegisterType((*ParaLocalDbBlockInfo)(nil), "types.ParaLocalDbBlockInfo")
}

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

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

// ParacrossClient is the client API for Paracross service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type ParacrossClient interface {
	IsSync(ctx context.Context, in *types.ReqNil, opts ...grpc.CallOption) (*types.IsCaughtUp, error)
}

type paracrossClient struct {
	cc *grpc.ClientConn
}

func NewParacrossClient(cc *grpc.ClientConn) ParacrossClient {
	return &paracrossClient{cc}
}

func (c *paracrossClient) IsSync(ctx context.Context, in *types.ReqNil, opts ...grpc.CallOption) (*types.IsCaughtUp, error) {
	out := new(types.IsCaughtUp)
	err := c.cc.Invoke(ctx, "/types.paracross/IsSync", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// ParacrossServer is the server API for Paracross service.
type ParacrossServer interface {
	IsSync(context.Context, *types.ReqNil) (*types.IsCaughtUp, error)
}

func RegisterParacrossServer(s *grpc.Server, srv ParacrossServer) {
	s.RegisterService(&_Paracross_serviceDesc, srv)
}

func _Paracross_IsSync_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(types.ReqNil)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ParacrossServer).IsSync(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/types.paracross/IsSync",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ParacrossServer).IsSync(ctx, req.(*types.ReqNil))
	}
	return interceptor(ctx, in, info, handler)
}

var _Paracross_serviceDesc = grpc.ServiceDesc{
	ServiceName: "types.paracross",
	HandlerType: (*ParacrossServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "IsSync",
			Handler:    _Paracross_IsSync_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "paracross.proto",
}

func init() { proto.RegisterFile("paracross.proto", fileDescriptor_paracross_86d4df6243fac7f6) }

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