github.com/turingchain2020/turingchain@v1.1.21/types/blockchain.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // source: blockchain.proto
     3  
     4  package types
     5  
     6  import (
     7  	fmt "fmt"
     8  	math "math"
     9  
    10  	proto "github.com/golang/protobuf/proto"
    11  )
    12  
    13  // Reference imports to suppress errors if they are not otherwise used.
    14  var _ = proto.Marshal
    15  var _ = fmt.Errorf
    16  var _ = math.Inf
    17  
    18  // This is a compile-time assertion to ensure that this generated file
    19  // is compatible with the proto package it is being compiled against.
    20  // A compilation error at this line likely means your copy of the
    21  // proto package needs to be updated.
    22  const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
    23  
    24  //区块头信息
    25  // 	 version : 版本信息
    26  //	 parentHash :父哈希
    27  // 	 txHash : 交易根哈希
    28  //	 stateHash :状态哈希
    29  // 	 height : 区块高度
    30  //	 blockTime :区块产生时的时标
    31  // 	 txCount : 区块上所有交易个数
    32  //	 difficulty :区块难度系数,
    33  //	 signature :交易签名
    34  type Header struct {
    35  	Version              int64      `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
    36  	ParentHash           []byte     `protobuf:"bytes,2,opt,name=parentHash,proto3" json:"parentHash,omitempty"`
    37  	TxHash               []byte     `protobuf:"bytes,3,opt,name=txHash,proto3" json:"txHash,omitempty"`
    38  	StateHash            []byte     `protobuf:"bytes,4,opt,name=stateHash,proto3" json:"stateHash,omitempty"`
    39  	Height               int64      `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"`
    40  	BlockTime            int64      `protobuf:"varint,6,opt,name=blockTime,proto3" json:"blockTime,omitempty"`
    41  	TxCount              int64      `protobuf:"varint,9,opt,name=txCount,proto3" json:"txCount,omitempty"`
    42  	Hash                 []byte     `protobuf:"bytes,10,opt,name=hash,proto3" json:"hash,omitempty"`
    43  	Difficulty           uint32     `protobuf:"varint,11,opt,name=difficulty,proto3" json:"difficulty,omitempty"`
    44  	Signature            *Signature `protobuf:"bytes,8,opt,name=signature,proto3" json:"signature,omitempty"`
    45  	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
    46  	XXX_unrecognized     []byte     `json:"-"`
    47  	XXX_sizecache        int32      `json:"-"`
    48  }
    49  
    50  func (m *Header) Reset()         { *m = Header{} }
    51  func (m *Header) String() string { return proto.CompactTextString(m) }
    52  func (*Header) ProtoMessage()    {}
    53  func (*Header) Descriptor() ([]byte, []int) {
    54  	return fileDescriptor_e9ac6287ce250c9a, []int{0}
    55  }
    56  
    57  func (m *Header) XXX_Unmarshal(b []byte) error {
    58  	return xxx_messageInfo_Header.Unmarshal(m, b)
    59  }
    60  func (m *Header) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    61  	return xxx_messageInfo_Header.Marshal(b, m, deterministic)
    62  }
    63  func (m *Header) XXX_Merge(src proto.Message) {
    64  	xxx_messageInfo_Header.Merge(m, src)
    65  }
    66  func (m *Header) XXX_Size() int {
    67  	return xxx_messageInfo_Header.Size(m)
    68  }
    69  func (m *Header) XXX_DiscardUnknown() {
    70  	xxx_messageInfo_Header.DiscardUnknown(m)
    71  }
    72  
    73  var xxx_messageInfo_Header proto.InternalMessageInfo
    74  
    75  func (m *Header) GetVersion() int64 {
    76  	if m != nil {
    77  		return m.Version
    78  	}
    79  	return 0
    80  }
    81  
    82  func (m *Header) GetParentHash() []byte {
    83  	if m != nil {
    84  		return m.ParentHash
    85  	}
    86  	return nil
    87  }
    88  
    89  func (m *Header) GetTxHash() []byte {
    90  	if m != nil {
    91  		return m.TxHash
    92  	}
    93  	return nil
    94  }
    95  
    96  func (m *Header) GetStateHash() []byte {
    97  	if m != nil {
    98  		return m.StateHash
    99  	}
   100  	return nil
   101  }
   102  
   103  func (m *Header) GetHeight() int64 {
   104  	if m != nil {
   105  		return m.Height
   106  	}
   107  	return 0
   108  }
   109  
   110  func (m *Header) GetBlockTime() int64 {
   111  	if m != nil {
   112  		return m.BlockTime
   113  	}
   114  	return 0
   115  }
   116  
   117  func (m *Header) GetTxCount() int64 {
   118  	if m != nil {
   119  		return m.TxCount
   120  	}
   121  	return 0
   122  }
   123  
   124  func (m *Header) GetHash() []byte {
   125  	if m != nil {
   126  		return m.Hash
   127  	}
   128  	return nil
   129  }
   130  
   131  func (m *Header) GetDifficulty() uint32 {
   132  	if m != nil {
   133  		return m.Difficulty
   134  	}
   135  	return 0
   136  }
   137  
   138  func (m *Header) GetSignature() *Signature {
   139  	if m != nil {
   140  		return m.Signature
   141  	}
   142  	return nil
   143  }
   144  
   145  //  参考Header解释
   146  // mainHash 平行链上使用的字段,代表这个区块的主链hash
   147  type Block struct {
   148  	Version              int64          `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
   149  	ParentHash           []byte         `protobuf:"bytes,2,opt,name=parentHash,proto3" json:"parentHash,omitempty"`
   150  	TxHash               []byte         `protobuf:"bytes,3,opt,name=txHash,proto3" json:"txHash,omitempty"`
   151  	StateHash            []byte         `protobuf:"bytes,4,opt,name=stateHash,proto3" json:"stateHash,omitempty"`
   152  	Height               int64          `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"`
   153  	BlockTime            int64          `protobuf:"varint,6,opt,name=blockTime,proto3" json:"blockTime,omitempty"`
   154  	Difficulty           uint32         `protobuf:"varint,11,opt,name=difficulty,proto3" json:"difficulty,omitempty"`
   155  	MainHash             []byte         `protobuf:"bytes,12,opt,name=mainHash,proto3" json:"mainHash,omitempty"`
   156  	MainHeight           int64          `protobuf:"varint,13,opt,name=mainHeight,proto3" json:"mainHeight,omitempty"`
   157  	Signature            *Signature     `protobuf:"bytes,8,opt,name=signature,proto3" json:"signature,omitempty"`
   158  	Txs                  []*Transaction `protobuf:"bytes,7,rep,name=txs,proto3" json:"txs,omitempty"`
   159  	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
   160  	XXX_unrecognized     []byte         `json:"-"`
   161  	XXX_sizecache        int32          `json:"-"`
   162  }
   163  
   164  func (m *Block) Reset()         { *m = Block{} }
   165  func (m *Block) String() string { return proto.CompactTextString(m) }
   166  func (*Block) ProtoMessage()    {}
   167  func (*Block) Descriptor() ([]byte, []int) {
   168  	return fileDescriptor_e9ac6287ce250c9a, []int{1}
   169  }
   170  
   171  func (m *Block) XXX_Unmarshal(b []byte) error {
   172  	return xxx_messageInfo_Block.Unmarshal(m, b)
   173  }
   174  func (m *Block) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   175  	return xxx_messageInfo_Block.Marshal(b, m, deterministic)
   176  }
   177  func (m *Block) XXX_Merge(src proto.Message) {
   178  	xxx_messageInfo_Block.Merge(m, src)
   179  }
   180  func (m *Block) XXX_Size() int {
   181  	return xxx_messageInfo_Block.Size(m)
   182  }
   183  func (m *Block) XXX_DiscardUnknown() {
   184  	xxx_messageInfo_Block.DiscardUnknown(m)
   185  }
   186  
   187  var xxx_messageInfo_Block proto.InternalMessageInfo
   188  
   189  func (m *Block) GetVersion() int64 {
   190  	if m != nil {
   191  		return m.Version
   192  	}
   193  	return 0
   194  }
   195  
   196  func (m *Block) GetParentHash() []byte {
   197  	if m != nil {
   198  		return m.ParentHash
   199  	}
   200  	return nil
   201  }
   202  
   203  func (m *Block) GetTxHash() []byte {
   204  	if m != nil {
   205  		return m.TxHash
   206  	}
   207  	return nil
   208  }
   209  
   210  func (m *Block) GetStateHash() []byte {
   211  	if m != nil {
   212  		return m.StateHash
   213  	}
   214  	return nil
   215  }
   216  
   217  func (m *Block) GetHeight() int64 {
   218  	if m != nil {
   219  		return m.Height
   220  	}
   221  	return 0
   222  }
   223  
   224  func (m *Block) GetBlockTime() int64 {
   225  	if m != nil {
   226  		return m.BlockTime
   227  	}
   228  	return 0
   229  }
   230  
   231  func (m *Block) GetDifficulty() uint32 {
   232  	if m != nil {
   233  		return m.Difficulty
   234  	}
   235  	return 0
   236  }
   237  
   238  func (m *Block) GetMainHash() []byte {
   239  	if m != nil {
   240  		return m.MainHash
   241  	}
   242  	return nil
   243  }
   244  
   245  func (m *Block) GetMainHeight() int64 {
   246  	if m != nil {
   247  		return m.MainHeight
   248  	}
   249  	return 0
   250  }
   251  
   252  func (m *Block) GetSignature() *Signature {
   253  	if m != nil {
   254  		return m.Signature
   255  	}
   256  	return nil
   257  }
   258  
   259  func (m *Block) GetTxs() []*Transaction {
   260  	if m != nil {
   261  		return m.Txs
   262  	}
   263  	return nil
   264  }
   265  
   266  type Blocks struct {
   267  	Items                []*Block `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
   268  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   269  	XXX_unrecognized     []byte   `json:"-"`
   270  	XXX_sizecache        int32    `json:"-"`
   271  }
   272  
   273  func (m *Blocks) Reset()         { *m = Blocks{} }
   274  func (m *Blocks) String() string { return proto.CompactTextString(m) }
   275  func (*Blocks) ProtoMessage()    {}
   276  func (*Blocks) Descriptor() ([]byte, []int) {
   277  	return fileDescriptor_e9ac6287ce250c9a, []int{2}
   278  }
   279  
   280  func (m *Blocks) XXX_Unmarshal(b []byte) error {
   281  	return xxx_messageInfo_Blocks.Unmarshal(m, b)
   282  }
   283  func (m *Blocks) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   284  	return xxx_messageInfo_Blocks.Marshal(b, m, deterministic)
   285  }
   286  func (m *Blocks) XXX_Merge(src proto.Message) {
   287  	xxx_messageInfo_Blocks.Merge(m, src)
   288  }
   289  func (m *Blocks) XXX_Size() int {
   290  	return xxx_messageInfo_Blocks.Size(m)
   291  }
   292  func (m *Blocks) XXX_DiscardUnknown() {
   293  	xxx_messageInfo_Blocks.DiscardUnknown(m)
   294  }
   295  
   296  var xxx_messageInfo_Blocks proto.InternalMessageInfo
   297  
   298  func (m *Blocks) GetItems() []*Block {
   299  	if m != nil {
   300  		return m.Items
   301  	}
   302  	return nil
   303  }
   304  
   305  type BlockSeq struct {
   306  	Num                  int64          `protobuf:"varint,1,opt,name=num,proto3" json:"num,omitempty"`
   307  	Seq                  *BlockSequence `protobuf:"bytes,2,opt,name=seq,proto3" json:"seq,omitempty"`
   308  	Detail               *BlockDetail   `protobuf:"bytes,3,opt,name=detail,proto3" json:"detail,omitempty"`
   309  	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
   310  	XXX_unrecognized     []byte         `json:"-"`
   311  	XXX_sizecache        int32          `json:"-"`
   312  }
   313  
   314  func (m *BlockSeq) Reset()         { *m = BlockSeq{} }
   315  func (m *BlockSeq) String() string { return proto.CompactTextString(m) }
   316  func (*BlockSeq) ProtoMessage()    {}
   317  func (*BlockSeq) Descriptor() ([]byte, []int) {
   318  	return fileDescriptor_e9ac6287ce250c9a, []int{3}
   319  }
   320  
   321  func (m *BlockSeq) XXX_Unmarshal(b []byte) error {
   322  	return xxx_messageInfo_BlockSeq.Unmarshal(m, b)
   323  }
   324  func (m *BlockSeq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   325  	return xxx_messageInfo_BlockSeq.Marshal(b, m, deterministic)
   326  }
   327  func (m *BlockSeq) XXX_Merge(src proto.Message) {
   328  	xxx_messageInfo_BlockSeq.Merge(m, src)
   329  }
   330  func (m *BlockSeq) XXX_Size() int {
   331  	return xxx_messageInfo_BlockSeq.Size(m)
   332  }
   333  func (m *BlockSeq) XXX_DiscardUnknown() {
   334  	xxx_messageInfo_BlockSeq.DiscardUnknown(m)
   335  }
   336  
   337  var xxx_messageInfo_BlockSeq proto.InternalMessageInfo
   338  
   339  func (m *BlockSeq) GetNum() int64 {
   340  	if m != nil {
   341  		return m.Num
   342  	}
   343  	return 0
   344  }
   345  
   346  func (m *BlockSeq) GetSeq() *BlockSequence {
   347  	if m != nil {
   348  		return m.Seq
   349  	}
   350  	return nil
   351  }
   352  
   353  func (m *BlockSeq) GetDetail() *BlockDetail {
   354  	if m != nil {
   355  		return m.Detail
   356  	}
   357  	return nil
   358  }
   359  
   360  type BlockSeqs struct {
   361  	Seqs                 []*BlockSeq `protobuf:"bytes,1,rep,name=seqs,proto3" json:"seqs,omitempty"`
   362  	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
   363  	XXX_unrecognized     []byte      `json:"-"`
   364  	XXX_sizecache        int32       `json:"-"`
   365  }
   366  
   367  func (m *BlockSeqs) Reset()         { *m = BlockSeqs{} }
   368  func (m *BlockSeqs) String() string { return proto.CompactTextString(m) }
   369  func (*BlockSeqs) ProtoMessage()    {}
   370  func (*BlockSeqs) Descriptor() ([]byte, []int) {
   371  	return fileDescriptor_e9ac6287ce250c9a, []int{4}
   372  }
   373  
   374  func (m *BlockSeqs) XXX_Unmarshal(b []byte) error {
   375  	return xxx_messageInfo_BlockSeqs.Unmarshal(m, b)
   376  }
   377  func (m *BlockSeqs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   378  	return xxx_messageInfo_BlockSeqs.Marshal(b, m, deterministic)
   379  }
   380  func (m *BlockSeqs) XXX_Merge(src proto.Message) {
   381  	xxx_messageInfo_BlockSeqs.Merge(m, src)
   382  }
   383  func (m *BlockSeqs) XXX_Size() int {
   384  	return xxx_messageInfo_BlockSeqs.Size(m)
   385  }
   386  func (m *BlockSeqs) XXX_DiscardUnknown() {
   387  	xxx_messageInfo_BlockSeqs.DiscardUnknown(m)
   388  }
   389  
   390  var xxx_messageInfo_BlockSeqs proto.InternalMessageInfo
   391  
   392  func (m *BlockSeqs) GetSeqs() []*BlockSeq {
   393  	if m != nil {
   394  		return m.Seqs
   395  	}
   396  	return nil
   397  }
   398  
   399  //节点ID以及对应的Block
   400  type BlockPid struct {
   401  	Pid                  string   `protobuf:"bytes,1,opt,name=pid,proto3" json:"pid,omitempty"`
   402  	Block                *Block   `protobuf:"bytes,2,opt,name=block,proto3" json:"block,omitempty"`
   403  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   404  	XXX_unrecognized     []byte   `json:"-"`
   405  	XXX_sizecache        int32    `json:"-"`
   406  }
   407  
   408  func (m *BlockPid) Reset()         { *m = BlockPid{} }
   409  func (m *BlockPid) String() string { return proto.CompactTextString(m) }
   410  func (*BlockPid) ProtoMessage()    {}
   411  func (*BlockPid) Descriptor() ([]byte, []int) {
   412  	return fileDescriptor_e9ac6287ce250c9a, []int{5}
   413  }
   414  
   415  func (m *BlockPid) XXX_Unmarshal(b []byte) error {
   416  	return xxx_messageInfo_BlockPid.Unmarshal(m, b)
   417  }
   418  func (m *BlockPid) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   419  	return xxx_messageInfo_BlockPid.Marshal(b, m, deterministic)
   420  }
   421  func (m *BlockPid) XXX_Merge(src proto.Message) {
   422  	xxx_messageInfo_BlockPid.Merge(m, src)
   423  }
   424  func (m *BlockPid) XXX_Size() int {
   425  	return xxx_messageInfo_BlockPid.Size(m)
   426  }
   427  func (m *BlockPid) XXX_DiscardUnknown() {
   428  	xxx_messageInfo_BlockPid.DiscardUnknown(m)
   429  }
   430  
   431  var xxx_messageInfo_BlockPid proto.InternalMessageInfo
   432  
   433  func (m *BlockPid) GetPid() string {
   434  	if m != nil {
   435  		return m.Pid
   436  	}
   437  	return ""
   438  }
   439  
   440  func (m *BlockPid) GetBlock() *Block {
   441  	if m != nil {
   442  		return m.Block
   443  	}
   444  	return nil
   445  }
   446  
   447  // resp
   448  type BlockDetails struct {
   449  	Items                []*BlockDetail `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
   450  	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
   451  	XXX_unrecognized     []byte         `json:"-"`
   452  	XXX_sizecache        int32          `json:"-"`
   453  }
   454  
   455  func (m *BlockDetails) Reset()         { *m = BlockDetails{} }
   456  func (m *BlockDetails) String() string { return proto.CompactTextString(m) }
   457  func (*BlockDetails) ProtoMessage()    {}
   458  func (*BlockDetails) Descriptor() ([]byte, []int) {
   459  	return fileDescriptor_e9ac6287ce250c9a, []int{6}
   460  }
   461  
   462  func (m *BlockDetails) XXX_Unmarshal(b []byte) error {
   463  	return xxx_messageInfo_BlockDetails.Unmarshal(m, b)
   464  }
   465  func (m *BlockDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   466  	return xxx_messageInfo_BlockDetails.Marshal(b, m, deterministic)
   467  }
   468  func (m *BlockDetails) XXX_Merge(src proto.Message) {
   469  	xxx_messageInfo_BlockDetails.Merge(m, src)
   470  }
   471  func (m *BlockDetails) XXX_Size() int {
   472  	return xxx_messageInfo_BlockDetails.Size(m)
   473  }
   474  func (m *BlockDetails) XXX_DiscardUnknown() {
   475  	xxx_messageInfo_BlockDetails.DiscardUnknown(m)
   476  }
   477  
   478  var xxx_messageInfo_BlockDetails proto.InternalMessageInfo
   479  
   480  func (m *BlockDetails) GetItems() []*BlockDetail {
   481  	if m != nil {
   482  		return m.Items
   483  	}
   484  	return nil
   485  }
   486  
   487  // resp
   488  type Headers struct {
   489  	Items                []*Header `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
   490  	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
   491  	XXX_unrecognized     []byte    `json:"-"`
   492  	XXX_sizecache        int32     `json:"-"`
   493  }
   494  
   495  func (m *Headers) Reset()         { *m = Headers{} }
   496  func (m *Headers) String() string { return proto.CompactTextString(m) }
   497  func (*Headers) ProtoMessage()    {}
   498  func (*Headers) Descriptor() ([]byte, []int) {
   499  	return fileDescriptor_e9ac6287ce250c9a, []int{7}
   500  }
   501  
   502  func (m *Headers) XXX_Unmarshal(b []byte) error {
   503  	return xxx_messageInfo_Headers.Unmarshal(m, b)
   504  }
   505  func (m *Headers) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   506  	return xxx_messageInfo_Headers.Marshal(b, m, deterministic)
   507  }
   508  func (m *Headers) XXX_Merge(src proto.Message) {
   509  	xxx_messageInfo_Headers.Merge(m, src)
   510  }
   511  func (m *Headers) XXX_Size() int {
   512  	return xxx_messageInfo_Headers.Size(m)
   513  }
   514  func (m *Headers) XXX_DiscardUnknown() {
   515  	xxx_messageInfo_Headers.DiscardUnknown(m)
   516  }
   517  
   518  var xxx_messageInfo_Headers proto.InternalMessageInfo
   519  
   520  func (m *Headers) GetItems() []*Header {
   521  	if m != nil {
   522  		return m.Items
   523  	}
   524  	return nil
   525  }
   526  
   527  type HeadersPid struct {
   528  	Pid                  string   `protobuf:"bytes,1,opt,name=pid,proto3" json:"pid,omitempty"`
   529  	Headers              *Headers `protobuf:"bytes,2,opt,name=headers,proto3" json:"headers,omitempty"`
   530  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   531  	XXX_unrecognized     []byte   `json:"-"`
   532  	XXX_sizecache        int32    `json:"-"`
   533  }
   534  
   535  func (m *HeadersPid) Reset()         { *m = HeadersPid{} }
   536  func (m *HeadersPid) String() string { return proto.CompactTextString(m) }
   537  func (*HeadersPid) ProtoMessage()    {}
   538  func (*HeadersPid) Descriptor() ([]byte, []int) {
   539  	return fileDescriptor_e9ac6287ce250c9a, []int{8}
   540  }
   541  
   542  func (m *HeadersPid) XXX_Unmarshal(b []byte) error {
   543  	return xxx_messageInfo_HeadersPid.Unmarshal(m, b)
   544  }
   545  func (m *HeadersPid) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   546  	return xxx_messageInfo_HeadersPid.Marshal(b, m, deterministic)
   547  }
   548  func (m *HeadersPid) XXX_Merge(src proto.Message) {
   549  	xxx_messageInfo_HeadersPid.Merge(m, src)
   550  }
   551  func (m *HeadersPid) XXX_Size() int {
   552  	return xxx_messageInfo_HeadersPid.Size(m)
   553  }
   554  func (m *HeadersPid) XXX_DiscardUnknown() {
   555  	xxx_messageInfo_HeadersPid.DiscardUnknown(m)
   556  }
   557  
   558  var xxx_messageInfo_HeadersPid proto.InternalMessageInfo
   559  
   560  func (m *HeadersPid) GetPid() string {
   561  	if m != nil {
   562  		return m.Pid
   563  	}
   564  	return ""
   565  }
   566  
   567  func (m *HeadersPid) GetHeaders() *Headers {
   568  	if m != nil {
   569  		return m.Headers
   570  	}
   571  	return nil
   572  }
   573  
   574  //区块视图
   575  // 	 head : 区块头信息
   576  //	 txCount :区块上交易个数
   577  // 	 txHashes : 区块上交易的哈希列表
   578  type BlockOverview struct {
   579  	Head                 *Header  `protobuf:"bytes,1,opt,name=head,proto3" json:"head,omitempty"`
   580  	TxCount              int64    `protobuf:"varint,2,opt,name=txCount,proto3" json:"txCount,omitempty"`
   581  	TxHashes             [][]byte `protobuf:"bytes,3,rep,name=txHashes,proto3" json:"txHashes,omitempty"`
   582  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   583  	XXX_unrecognized     []byte   `json:"-"`
   584  	XXX_sizecache        int32    `json:"-"`
   585  }
   586  
   587  func (m *BlockOverview) Reset()         { *m = BlockOverview{} }
   588  func (m *BlockOverview) String() string { return proto.CompactTextString(m) }
   589  func (*BlockOverview) ProtoMessage()    {}
   590  func (*BlockOverview) Descriptor() ([]byte, []int) {
   591  	return fileDescriptor_e9ac6287ce250c9a, []int{9}
   592  }
   593  
   594  func (m *BlockOverview) XXX_Unmarshal(b []byte) error {
   595  	return xxx_messageInfo_BlockOverview.Unmarshal(m, b)
   596  }
   597  func (m *BlockOverview) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   598  	return xxx_messageInfo_BlockOverview.Marshal(b, m, deterministic)
   599  }
   600  func (m *BlockOverview) XXX_Merge(src proto.Message) {
   601  	xxx_messageInfo_BlockOverview.Merge(m, src)
   602  }
   603  func (m *BlockOverview) XXX_Size() int {
   604  	return xxx_messageInfo_BlockOverview.Size(m)
   605  }
   606  func (m *BlockOverview) XXX_DiscardUnknown() {
   607  	xxx_messageInfo_BlockOverview.DiscardUnknown(m)
   608  }
   609  
   610  var xxx_messageInfo_BlockOverview proto.InternalMessageInfo
   611  
   612  func (m *BlockOverview) GetHead() *Header {
   613  	if m != nil {
   614  		return m.Head
   615  	}
   616  	return nil
   617  }
   618  
   619  func (m *BlockOverview) GetTxCount() int64 {
   620  	if m != nil {
   621  		return m.TxCount
   622  	}
   623  	return 0
   624  }
   625  
   626  func (m *BlockOverview) GetTxHashes() [][]byte {
   627  	if m != nil {
   628  		return m.TxHashes
   629  	}
   630  	return nil
   631  }
   632  
   633  //区块详细信息
   634  // 	 block : 区块信息
   635  //	 receipts :区块上所有交易的收据信息列表
   636  type BlockDetail struct {
   637  	Block                *Block         `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"`
   638  	Receipts             []*ReceiptData `protobuf:"bytes,2,rep,name=receipts,proto3" json:"receipts,omitempty"`
   639  	KV                   []*KeyValue    `protobuf:"bytes,3,rep,name=KV,proto3" json:"KV,omitempty"`
   640  	PrevStatusHash       []byte         `protobuf:"bytes,4,opt,name=prevStatusHash,proto3" json:"prevStatusHash,omitempty"`
   641  	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
   642  	XXX_unrecognized     []byte         `json:"-"`
   643  	XXX_sizecache        int32          `json:"-"`
   644  }
   645  
   646  func (m *BlockDetail) Reset()         { *m = BlockDetail{} }
   647  func (m *BlockDetail) String() string { return proto.CompactTextString(m) }
   648  func (*BlockDetail) ProtoMessage()    {}
   649  func (*BlockDetail) Descriptor() ([]byte, []int) {
   650  	return fileDescriptor_e9ac6287ce250c9a, []int{10}
   651  }
   652  
   653  func (m *BlockDetail) XXX_Unmarshal(b []byte) error {
   654  	return xxx_messageInfo_BlockDetail.Unmarshal(m, b)
   655  }
   656  func (m *BlockDetail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   657  	return xxx_messageInfo_BlockDetail.Marshal(b, m, deterministic)
   658  }
   659  func (m *BlockDetail) XXX_Merge(src proto.Message) {
   660  	xxx_messageInfo_BlockDetail.Merge(m, src)
   661  }
   662  func (m *BlockDetail) XXX_Size() int {
   663  	return xxx_messageInfo_BlockDetail.Size(m)
   664  }
   665  func (m *BlockDetail) XXX_DiscardUnknown() {
   666  	xxx_messageInfo_BlockDetail.DiscardUnknown(m)
   667  }
   668  
   669  var xxx_messageInfo_BlockDetail proto.InternalMessageInfo
   670  
   671  func (m *BlockDetail) GetBlock() *Block {
   672  	if m != nil {
   673  		return m.Block
   674  	}
   675  	return nil
   676  }
   677  
   678  func (m *BlockDetail) GetReceipts() []*ReceiptData {
   679  	if m != nil {
   680  		return m.Receipts
   681  	}
   682  	return nil
   683  }
   684  
   685  func (m *BlockDetail) GetKV() []*KeyValue {
   686  	if m != nil {
   687  		return m.KV
   688  	}
   689  	return nil
   690  }
   691  
   692  func (m *BlockDetail) GetPrevStatusHash() []byte {
   693  	if m != nil {
   694  		return m.PrevStatusHash
   695  	}
   696  	return nil
   697  }
   698  
   699  type Receipts struct {
   700  	Receipts             []*Receipt `protobuf:"bytes,1,rep,name=receipts,proto3" json:"receipts,omitempty"`
   701  	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
   702  	XXX_unrecognized     []byte     `json:"-"`
   703  	XXX_sizecache        int32      `json:"-"`
   704  }
   705  
   706  func (m *Receipts) Reset()         { *m = Receipts{} }
   707  func (m *Receipts) String() string { return proto.CompactTextString(m) }
   708  func (*Receipts) ProtoMessage()    {}
   709  func (*Receipts) Descriptor() ([]byte, []int) {
   710  	return fileDescriptor_e9ac6287ce250c9a, []int{11}
   711  }
   712  
   713  func (m *Receipts) XXX_Unmarshal(b []byte) error {
   714  	return xxx_messageInfo_Receipts.Unmarshal(m, b)
   715  }
   716  func (m *Receipts) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   717  	return xxx_messageInfo_Receipts.Marshal(b, m, deterministic)
   718  }
   719  func (m *Receipts) XXX_Merge(src proto.Message) {
   720  	xxx_messageInfo_Receipts.Merge(m, src)
   721  }
   722  func (m *Receipts) XXX_Size() int {
   723  	return xxx_messageInfo_Receipts.Size(m)
   724  }
   725  func (m *Receipts) XXX_DiscardUnknown() {
   726  	xxx_messageInfo_Receipts.DiscardUnknown(m)
   727  }
   728  
   729  var xxx_messageInfo_Receipts proto.InternalMessageInfo
   730  
   731  func (m *Receipts) GetReceipts() []*Receipt {
   732  	if m != nil {
   733  		return m.Receipts
   734  	}
   735  	return nil
   736  }
   737  
   738  type ReceiptCheckTxList struct {
   739  	Errs                 []string `protobuf:"bytes,1,rep,name=errs,proto3" json:"errs,omitempty"`
   740  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   741  	XXX_unrecognized     []byte   `json:"-"`
   742  	XXX_sizecache        int32    `json:"-"`
   743  }
   744  
   745  func (m *ReceiptCheckTxList) Reset()         { *m = ReceiptCheckTxList{} }
   746  func (m *ReceiptCheckTxList) String() string { return proto.CompactTextString(m) }
   747  func (*ReceiptCheckTxList) ProtoMessage()    {}
   748  func (*ReceiptCheckTxList) Descriptor() ([]byte, []int) {
   749  	return fileDescriptor_e9ac6287ce250c9a, []int{12}
   750  }
   751  
   752  func (m *ReceiptCheckTxList) XXX_Unmarshal(b []byte) error {
   753  	return xxx_messageInfo_ReceiptCheckTxList.Unmarshal(m, b)
   754  }
   755  func (m *ReceiptCheckTxList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   756  	return xxx_messageInfo_ReceiptCheckTxList.Marshal(b, m, deterministic)
   757  }
   758  func (m *ReceiptCheckTxList) XXX_Merge(src proto.Message) {
   759  	xxx_messageInfo_ReceiptCheckTxList.Merge(m, src)
   760  }
   761  func (m *ReceiptCheckTxList) XXX_Size() int {
   762  	return xxx_messageInfo_ReceiptCheckTxList.Size(m)
   763  }
   764  func (m *ReceiptCheckTxList) XXX_DiscardUnknown() {
   765  	xxx_messageInfo_ReceiptCheckTxList.DiscardUnknown(m)
   766  }
   767  
   768  var xxx_messageInfo_ReceiptCheckTxList proto.InternalMessageInfo
   769  
   770  func (m *ReceiptCheckTxList) GetErrs() []string {
   771  	if m != nil {
   772  		return m.Errs
   773  	}
   774  	return nil
   775  }
   776  
   777  //区块链状态
   778  // 	 currentHeight : 区块最新高度
   779  //	 mempoolSize :内存池大小
   780  // 	 msgQueueSize : 消息队列大小
   781  type ChainStatus struct {
   782  	CurrentHeight        int64    `protobuf:"varint,1,opt,name=currentHeight,proto3" json:"currentHeight,omitempty"`
   783  	MempoolSize          int64    `protobuf:"varint,2,opt,name=mempoolSize,proto3" json:"mempoolSize,omitempty"`
   784  	MsgQueueSize         int64    `protobuf:"varint,3,opt,name=msgQueueSize,proto3" json:"msgQueueSize,omitempty"`
   785  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   786  	XXX_unrecognized     []byte   `json:"-"`
   787  	XXX_sizecache        int32    `json:"-"`
   788  }
   789  
   790  func (m *ChainStatus) Reset()         { *m = ChainStatus{} }
   791  func (m *ChainStatus) String() string { return proto.CompactTextString(m) }
   792  func (*ChainStatus) ProtoMessage()    {}
   793  func (*ChainStatus) Descriptor() ([]byte, []int) {
   794  	return fileDescriptor_e9ac6287ce250c9a, []int{13}
   795  }
   796  
   797  func (m *ChainStatus) XXX_Unmarshal(b []byte) error {
   798  	return xxx_messageInfo_ChainStatus.Unmarshal(m, b)
   799  }
   800  func (m *ChainStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   801  	return xxx_messageInfo_ChainStatus.Marshal(b, m, deterministic)
   802  }
   803  func (m *ChainStatus) XXX_Merge(src proto.Message) {
   804  	xxx_messageInfo_ChainStatus.Merge(m, src)
   805  }
   806  func (m *ChainStatus) XXX_Size() int {
   807  	return xxx_messageInfo_ChainStatus.Size(m)
   808  }
   809  func (m *ChainStatus) XXX_DiscardUnknown() {
   810  	xxx_messageInfo_ChainStatus.DiscardUnknown(m)
   811  }
   812  
   813  var xxx_messageInfo_ChainStatus proto.InternalMessageInfo
   814  
   815  func (m *ChainStatus) GetCurrentHeight() int64 {
   816  	if m != nil {
   817  		return m.CurrentHeight
   818  	}
   819  	return 0
   820  }
   821  
   822  func (m *ChainStatus) GetMempoolSize() int64 {
   823  	if m != nil {
   824  		return m.MempoolSize
   825  	}
   826  	return 0
   827  }
   828  
   829  func (m *ChainStatus) GetMsgQueueSize() int64 {
   830  	if m != nil {
   831  		return m.MsgQueueSize
   832  	}
   833  	return 0
   834  }
   835  
   836  //获取区块信息
   837  // 	 start : 获取区块的开始高度
   838  //	 end :获取区块的结束高度
   839  // 	 Isdetail : 是否需要获取区块的详细信息
   840  // 	 pid : peer列表
   841  type ReqBlocks struct {
   842  	Start                int64    `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"`
   843  	End                  int64    `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"`
   844  	IsDetail             bool     `protobuf:"varint,3,opt,name=isDetail,proto3" json:"isDetail,omitempty"`
   845  	Pid                  []string `protobuf:"bytes,4,rep,name=pid,proto3" json:"pid,omitempty"`
   846  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   847  	XXX_unrecognized     []byte   `json:"-"`
   848  	XXX_sizecache        int32    `json:"-"`
   849  }
   850  
   851  func (m *ReqBlocks) Reset()         { *m = ReqBlocks{} }
   852  func (m *ReqBlocks) String() string { return proto.CompactTextString(m) }
   853  func (*ReqBlocks) ProtoMessage()    {}
   854  func (*ReqBlocks) Descriptor() ([]byte, []int) {
   855  	return fileDescriptor_e9ac6287ce250c9a, []int{14}
   856  }
   857  
   858  func (m *ReqBlocks) XXX_Unmarshal(b []byte) error {
   859  	return xxx_messageInfo_ReqBlocks.Unmarshal(m, b)
   860  }
   861  func (m *ReqBlocks) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   862  	return xxx_messageInfo_ReqBlocks.Marshal(b, m, deterministic)
   863  }
   864  func (m *ReqBlocks) XXX_Merge(src proto.Message) {
   865  	xxx_messageInfo_ReqBlocks.Merge(m, src)
   866  }
   867  func (m *ReqBlocks) XXX_Size() int {
   868  	return xxx_messageInfo_ReqBlocks.Size(m)
   869  }
   870  func (m *ReqBlocks) XXX_DiscardUnknown() {
   871  	xxx_messageInfo_ReqBlocks.DiscardUnknown(m)
   872  }
   873  
   874  var xxx_messageInfo_ReqBlocks proto.InternalMessageInfo
   875  
   876  func (m *ReqBlocks) GetStart() int64 {
   877  	if m != nil {
   878  		return m.Start
   879  	}
   880  	return 0
   881  }
   882  
   883  func (m *ReqBlocks) GetEnd() int64 {
   884  	if m != nil {
   885  		return m.End
   886  	}
   887  	return 0
   888  }
   889  
   890  func (m *ReqBlocks) GetIsDetail() bool {
   891  	if m != nil {
   892  		return m.IsDetail
   893  	}
   894  	return false
   895  }
   896  
   897  func (m *ReqBlocks) GetPid() []string {
   898  	if m != nil {
   899  		return m.Pid
   900  	}
   901  	return nil
   902  }
   903  
   904  type MempoolSize struct {
   905  	Size                 int64    `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"`
   906  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   907  	XXX_unrecognized     []byte   `json:"-"`
   908  	XXX_sizecache        int32    `json:"-"`
   909  }
   910  
   911  func (m *MempoolSize) Reset()         { *m = MempoolSize{} }
   912  func (m *MempoolSize) String() string { return proto.CompactTextString(m) }
   913  func (*MempoolSize) ProtoMessage()    {}
   914  func (*MempoolSize) Descriptor() ([]byte, []int) {
   915  	return fileDescriptor_e9ac6287ce250c9a, []int{15}
   916  }
   917  
   918  func (m *MempoolSize) XXX_Unmarshal(b []byte) error {
   919  	return xxx_messageInfo_MempoolSize.Unmarshal(m, b)
   920  }
   921  func (m *MempoolSize) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   922  	return xxx_messageInfo_MempoolSize.Marshal(b, m, deterministic)
   923  }
   924  func (m *MempoolSize) XXX_Merge(src proto.Message) {
   925  	xxx_messageInfo_MempoolSize.Merge(m, src)
   926  }
   927  func (m *MempoolSize) XXX_Size() int {
   928  	return xxx_messageInfo_MempoolSize.Size(m)
   929  }
   930  func (m *MempoolSize) XXX_DiscardUnknown() {
   931  	xxx_messageInfo_MempoolSize.DiscardUnknown(m)
   932  }
   933  
   934  var xxx_messageInfo_MempoolSize proto.InternalMessageInfo
   935  
   936  func (m *MempoolSize) GetSize() int64 {
   937  	if m != nil {
   938  		return m.Size
   939  	}
   940  	return 0
   941  }
   942  
   943  type ReplyBlockHeight struct {
   944  	Height               int64    `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
   945  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   946  	XXX_unrecognized     []byte   `json:"-"`
   947  	XXX_sizecache        int32    `json:"-"`
   948  }
   949  
   950  func (m *ReplyBlockHeight) Reset()         { *m = ReplyBlockHeight{} }
   951  func (m *ReplyBlockHeight) String() string { return proto.CompactTextString(m) }
   952  func (*ReplyBlockHeight) ProtoMessage()    {}
   953  func (*ReplyBlockHeight) Descriptor() ([]byte, []int) {
   954  	return fileDescriptor_e9ac6287ce250c9a, []int{16}
   955  }
   956  
   957  func (m *ReplyBlockHeight) XXX_Unmarshal(b []byte) error {
   958  	return xxx_messageInfo_ReplyBlockHeight.Unmarshal(m, b)
   959  }
   960  func (m *ReplyBlockHeight) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   961  	return xxx_messageInfo_ReplyBlockHeight.Marshal(b, m, deterministic)
   962  }
   963  func (m *ReplyBlockHeight) XXX_Merge(src proto.Message) {
   964  	xxx_messageInfo_ReplyBlockHeight.Merge(m, src)
   965  }
   966  func (m *ReplyBlockHeight) XXX_Size() int {
   967  	return xxx_messageInfo_ReplyBlockHeight.Size(m)
   968  }
   969  func (m *ReplyBlockHeight) XXX_DiscardUnknown() {
   970  	xxx_messageInfo_ReplyBlockHeight.DiscardUnknown(m)
   971  }
   972  
   973  var xxx_messageInfo_ReplyBlockHeight proto.InternalMessageInfo
   974  
   975  func (m *ReplyBlockHeight) GetHeight() int64 {
   976  	if m != nil {
   977  		return m.Height
   978  	}
   979  	return 0
   980  }
   981  
   982  //区块体信息
   983  // 	 txs : 区块上所有交易列表
   984  //	 receipts :区块上所有交易的收据信息列表
   985  // 	 mainHash : 主链区块hash,平行链使用
   986  //	 mainHeight :主链区块高度,平行链使用
   987  // 	 hash : 本链区块hash
   988  //	 height :本链区块高度
   989  type BlockBody struct {
   990  	Txs                  []*Transaction `protobuf:"bytes,1,rep,name=txs,proto3" json:"txs,omitempty"`
   991  	Receipts             []*ReceiptData `protobuf:"bytes,2,rep,name=receipts,proto3" json:"receipts,omitempty"`
   992  	MainHash             []byte         `protobuf:"bytes,3,opt,name=mainHash,proto3" json:"mainHash,omitempty"`
   993  	MainHeight           int64          `protobuf:"varint,4,opt,name=mainHeight,proto3" json:"mainHeight,omitempty"`
   994  	Hash                 []byte         `protobuf:"bytes,5,opt,name=hash,proto3" json:"hash,omitempty"`
   995  	Height               int64          `protobuf:"varint,6,opt,name=height,proto3" json:"height,omitempty"`
   996  	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
   997  	XXX_unrecognized     []byte         `json:"-"`
   998  	XXX_sizecache        int32          `json:"-"`
   999  }
  1000  
  1001  func (m *BlockBody) Reset()         { *m = BlockBody{} }
  1002  func (m *BlockBody) String() string { return proto.CompactTextString(m) }
  1003  func (*BlockBody) ProtoMessage()    {}
  1004  func (*BlockBody) Descriptor() ([]byte, []int) {
  1005  	return fileDescriptor_e9ac6287ce250c9a, []int{17}
  1006  }
  1007  
  1008  func (m *BlockBody) XXX_Unmarshal(b []byte) error {
  1009  	return xxx_messageInfo_BlockBody.Unmarshal(m, b)
  1010  }
  1011  func (m *BlockBody) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1012  	return xxx_messageInfo_BlockBody.Marshal(b, m, deterministic)
  1013  }
  1014  func (m *BlockBody) XXX_Merge(src proto.Message) {
  1015  	xxx_messageInfo_BlockBody.Merge(m, src)
  1016  }
  1017  func (m *BlockBody) XXX_Size() int {
  1018  	return xxx_messageInfo_BlockBody.Size(m)
  1019  }
  1020  func (m *BlockBody) XXX_DiscardUnknown() {
  1021  	xxx_messageInfo_BlockBody.DiscardUnknown(m)
  1022  }
  1023  
  1024  var xxx_messageInfo_BlockBody proto.InternalMessageInfo
  1025  
  1026  func (m *BlockBody) GetTxs() []*Transaction {
  1027  	if m != nil {
  1028  		return m.Txs
  1029  	}
  1030  	return nil
  1031  }
  1032  
  1033  func (m *BlockBody) GetReceipts() []*ReceiptData {
  1034  	if m != nil {
  1035  		return m.Receipts
  1036  	}
  1037  	return nil
  1038  }
  1039  
  1040  func (m *BlockBody) GetMainHash() []byte {
  1041  	if m != nil {
  1042  		return m.MainHash
  1043  	}
  1044  	return nil
  1045  }
  1046  
  1047  func (m *BlockBody) GetMainHeight() int64 {
  1048  	if m != nil {
  1049  		return m.MainHeight
  1050  	}
  1051  	return 0
  1052  }
  1053  
  1054  func (m *BlockBody) GetHash() []byte {
  1055  	if m != nil {
  1056  		return m.Hash
  1057  	}
  1058  	return nil
  1059  }
  1060  
  1061  func (m *BlockBody) GetHeight() int64 {
  1062  	if m != nil {
  1063  		return m.Height
  1064  	}
  1065  	return 0
  1066  }
  1067  
  1068  //区块回执
  1069  //	 receipts :区块上所有交易的收据信息列表
  1070  // 	 hash : 本链区块hash
  1071  //	 height :本链区块高度
  1072  type BlockReceipt struct {
  1073  	Receipts             []*ReceiptData `protobuf:"bytes,1,rep,name=receipts,proto3" json:"receipts,omitempty"`
  1074  	Hash                 []byte         `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"`
  1075  	Height               int64          `protobuf:"varint,3,opt,name=height,proto3" json:"height,omitempty"`
  1076  	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
  1077  	XXX_unrecognized     []byte         `json:"-"`
  1078  	XXX_sizecache        int32          `json:"-"`
  1079  }
  1080  
  1081  func (m *BlockReceipt) Reset()         { *m = BlockReceipt{} }
  1082  func (m *BlockReceipt) String() string { return proto.CompactTextString(m) }
  1083  func (*BlockReceipt) ProtoMessage()    {}
  1084  func (*BlockReceipt) Descriptor() ([]byte, []int) {
  1085  	return fileDescriptor_e9ac6287ce250c9a, []int{18}
  1086  }
  1087  
  1088  func (m *BlockReceipt) XXX_Unmarshal(b []byte) error {
  1089  	return xxx_messageInfo_BlockReceipt.Unmarshal(m, b)
  1090  }
  1091  func (m *BlockReceipt) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1092  	return xxx_messageInfo_BlockReceipt.Marshal(b, m, deterministic)
  1093  }
  1094  func (m *BlockReceipt) XXX_Merge(src proto.Message) {
  1095  	xxx_messageInfo_BlockReceipt.Merge(m, src)
  1096  }
  1097  func (m *BlockReceipt) XXX_Size() int {
  1098  	return xxx_messageInfo_BlockReceipt.Size(m)
  1099  }
  1100  func (m *BlockReceipt) XXX_DiscardUnknown() {
  1101  	xxx_messageInfo_BlockReceipt.DiscardUnknown(m)
  1102  }
  1103  
  1104  var xxx_messageInfo_BlockReceipt proto.InternalMessageInfo
  1105  
  1106  func (m *BlockReceipt) GetReceipts() []*ReceiptData {
  1107  	if m != nil {
  1108  		return m.Receipts
  1109  	}
  1110  	return nil
  1111  }
  1112  
  1113  func (m *BlockReceipt) GetHash() []byte {
  1114  	if m != nil {
  1115  		return m.Hash
  1116  	}
  1117  	return nil
  1118  }
  1119  
  1120  func (m *BlockReceipt) GetHeight() int64 {
  1121  	if m != nil {
  1122  		return m.Height
  1123  	}
  1124  	return 0
  1125  }
  1126  
  1127  //  区块追赶主链状态,用于判断本节点区块是否已经同步好
  1128  type IsCaughtUp struct {
  1129  	Iscaughtup           bool     `protobuf:"varint,1,opt,name=Iscaughtup,proto3" json:"Iscaughtup,omitempty"`
  1130  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1131  	XXX_unrecognized     []byte   `json:"-"`
  1132  	XXX_sizecache        int32    `json:"-"`
  1133  }
  1134  
  1135  func (m *IsCaughtUp) Reset()         { *m = IsCaughtUp{} }
  1136  func (m *IsCaughtUp) String() string { return proto.CompactTextString(m) }
  1137  func (*IsCaughtUp) ProtoMessage()    {}
  1138  func (*IsCaughtUp) Descriptor() ([]byte, []int) {
  1139  	return fileDescriptor_e9ac6287ce250c9a, []int{19}
  1140  }
  1141  
  1142  func (m *IsCaughtUp) XXX_Unmarshal(b []byte) error {
  1143  	return xxx_messageInfo_IsCaughtUp.Unmarshal(m, b)
  1144  }
  1145  func (m *IsCaughtUp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1146  	return xxx_messageInfo_IsCaughtUp.Marshal(b, m, deterministic)
  1147  }
  1148  func (m *IsCaughtUp) XXX_Merge(src proto.Message) {
  1149  	xxx_messageInfo_IsCaughtUp.Merge(m, src)
  1150  }
  1151  func (m *IsCaughtUp) XXX_Size() int {
  1152  	return xxx_messageInfo_IsCaughtUp.Size(m)
  1153  }
  1154  func (m *IsCaughtUp) XXX_DiscardUnknown() {
  1155  	xxx_messageInfo_IsCaughtUp.DiscardUnknown(m)
  1156  }
  1157  
  1158  var xxx_messageInfo_IsCaughtUp proto.InternalMessageInfo
  1159  
  1160  func (m *IsCaughtUp) GetIscaughtup() bool {
  1161  	if m != nil {
  1162  		return m.Iscaughtup
  1163  	}
  1164  	return false
  1165  }
  1166  
  1167  //  ntp时钟状态
  1168  type IsNtpClockSync struct {
  1169  	Isntpclocksync       bool     `protobuf:"varint,1,opt,name=isntpclocksync,proto3" json:"isntpclocksync,omitempty"`
  1170  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1171  	XXX_unrecognized     []byte   `json:"-"`
  1172  	XXX_sizecache        int32    `json:"-"`
  1173  }
  1174  
  1175  func (m *IsNtpClockSync) Reset()         { *m = IsNtpClockSync{} }
  1176  func (m *IsNtpClockSync) String() string { return proto.CompactTextString(m) }
  1177  func (*IsNtpClockSync) ProtoMessage()    {}
  1178  func (*IsNtpClockSync) Descriptor() ([]byte, []int) {
  1179  	return fileDescriptor_e9ac6287ce250c9a, []int{20}
  1180  }
  1181  
  1182  func (m *IsNtpClockSync) XXX_Unmarshal(b []byte) error {
  1183  	return xxx_messageInfo_IsNtpClockSync.Unmarshal(m, b)
  1184  }
  1185  func (m *IsNtpClockSync) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1186  	return xxx_messageInfo_IsNtpClockSync.Marshal(b, m, deterministic)
  1187  }
  1188  func (m *IsNtpClockSync) XXX_Merge(src proto.Message) {
  1189  	xxx_messageInfo_IsNtpClockSync.Merge(m, src)
  1190  }
  1191  func (m *IsNtpClockSync) XXX_Size() int {
  1192  	return xxx_messageInfo_IsNtpClockSync.Size(m)
  1193  }
  1194  func (m *IsNtpClockSync) XXX_DiscardUnknown() {
  1195  	xxx_messageInfo_IsNtpClockSync.DiscardUnknown(m)
  1196  }
  1197  
  1198  var xxx_messageInfo_IsNtpClockSync proto.InternalMessageInfo
  1199  
  1200  func (m *IsNtpClockSync) GetIsntpclocksync() bool {
  1201  	if m != nil {
  1202  		return m.Isntpclocksync
  1203  	}
  1204  	return false
  1205  }
  1206  
  1207  type ChainExecutor struct {
  1208  	Driver    string `protobuf:"bytes,1,opt,name=driver,proto3" json:"driver,omitempty"`
  1209  	FuncName  string `protobuf:"bytes,2,opt,name=funcName,proto3" json:"funcName,omitempty"`
  1210  	StateHash []byte `protobuf:"bytes,3,opt,name=stateHash,proto3" json:"stateHash,omitempty"`
  1211  	Param     []byte `protobuf:"bytes,4,opt,name=param,proto3" json:"param,omitempty"`
  1212  	//扩展字段,用于额外的用途
  1213  	Extra                []byte   `protobuf:"bytes,5,opt,name=extra,proto3" json:"extra,omitempty"`
  1214  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1215  	XXX_unrecognized     []byte   `json:"-"`
  1216  	XXX_sizecache        int32    `json:"-"`
  1217  }
  1218  
  1219  func (m *ChainExecutor) Reset()         { *m = ChainExecutor{} }
  1220  func (m *ChainExecutor) String() string { return proto.CompactTextString(m) }
  1221  func (*ChainExecutor) ProtoMessage()    {}
  1222  func (*ChainExecutor) Descriptor() ([]byte, []int) {
  1223  	return fileDescriptor_e9ac6287ce250c9a, []int{21}
  1224  }
  1225  
  1226  func (m *ChainExecutor) XXX_Unmarshal(b []byte) error {
  1227  	return xxx_messageInfo_ChainExecutor.Unmarshal(m, b)
  1228  }
  1229  func (m *ChainExecutor) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1230  	return xxx_messageInfo_ChainExecutor.Marshal(b, m, deterministic)
  1231  }
  1232  func (m *ChainExecutor) XXX_Merge(src proto.Message) {
  1233  	xxx_messageInfo_ChainExecutor.Merge(m, src)
  1234  }
  1235  func (m *ChainExecutor) XXX_Size() int {
  1236  	return xxx_messageInfo_ChainExecutor.Size(m)
  1237  }
  1238  func (m *ChainExecutor) XXX_DiscardUnknown() {
  1239  	xxx_messageInfo_ChainExecutor.DiscardUnknown(m)
  1240  }
  1241  
  1242  var xxx_messageInfo_ChainExecutor proto.InternalMessageInfo
  1243  
  1244  func (m *ChainExecutor) GetDriver() string {
  1245  	if m != nil {
  1246  		return m.Driver
  1247  	}
  1248  	return ""
  1249  }
  1250  
  1251  func (m *ChainExecutor) GetFuncName() string {
  1252  	if m != nil {
  1253  		return m.FuncName
  1254  	}
  1255  	return ""
  1256  }
  1257  
  1258  func (m *ChainExecutor) GetStateHash() []byte {
  1259  	if m != nil {
  1260  		return m.StateHash
  1261  	}
  1262  	return nil
  1263  }
  1264  
  1265  func (m *ChainExecutor) GetParam() []byte {
  1266  	if m != nil {
  1267  		return m.Param
  1268  	}
  1269  	return nil
  1270  }
  1271  
  1272  func (m *ChainExecutor) GetExtra() []byte {
  1273  	if m != nil {
  1274  		return m.Extra
  1275  	}
  1276  	return nil
  1277  }
  1278  
  1279  //  通过block hash记录block的操作类型及add/del:1/2
  1280  type BlockSequence struct {
  1281  	Hash                 []byte   `protobuf:"bytes,1,opt,name=Hash,proto3" json:"Hash,omitempty"`
  1282  	Type                 int64    `protobuf:"varint,2,opt,name=Type,proto3" json:"Type,omitempty"`
  1283  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1284  	XXX_unrecognized     []byte   `json:"-"`
  1285  	XXX_sizecache        int32    `json:"-"`
  1286  }
  1287  
  1288  func (m *BlockSequence) Reset()         { *m = BlockSequence{} }
  1289  func (m *BlockSequence) String() string { return proto.CompactTextString(m) }
  1290  func (*BlockSequence) ProtoMessage()    {}
  1291  func (*BlockSequence) Descriptor() ([]byte, []int) {
  1292  	return fileDescriptor_e9ac6287ce250c9a, []int{22}
  1293  }
  1294  
  1295  func (m *BlockSequence) XXX_Unmarshal(b []byte) error {
  1296  	return xxx_messageInfo_BlockSequence.Unmarshal(m, b)
  1297  }
  1298  func (m *BlockSequence) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1299  	return xxx_messageInfo_BlockSequence.Marshal(b, m, deterministic)
  1300  }
  1301  func (m *BlockSequence) XXX_Merge(src proto.Message) {
  1302  	xxx_messageInfo_BlockSequence.Merge(m, src)
  1303  }
  1304  func (m *BlockSequence) XXX_Size() int {
  1305  	return xxx_messageInfo_BlockSequence.Size(m)
  1306  }
  1307  func (m *BlockSequence) XXX_DiscardUnknown() {
  1308  	xxx_messageInfo_BlockSequence.DiscardUnknown(m)
  1309  }
  1310  
  1311  var xxx_messageInfo_BlockSequence proto.InternalMessageInfo
  1312  
  1313  func (m *BlockSequence) GetHash() []byte {
  1314  	if m != nil {
  1315  		return m.Hash
  1316  	}
  1317  	return nil
  1318  }
  1319  
  1320  func (m *BlockSequence) GetType() int64 {
  1321  	if m != nil {
  1322  		return m.Type
  1323  	}
  1324  	return 0
  1325  }
  1326  
  1327  // resp
  1328  type BlockSequences struct {
  1329  	Items                []*BlockSequence `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
  1330  	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
  1331  	XXX_unrecognized     []byte           `json:"-"`
  1332  	XXX_sizecache        int32            `json:"-"`
  1333  }
  1334  
  1335  func (m *BlockSequences) Reset()         { *m = BlockSequences{} }
  1336  func (m *BlockSequences) String() string { return proto.CompactTextString(m) }
  1337  func (*BlockSequences) ProtoMessage()    {}
  1338  func (*BlockSequences) Descriptor() ([]byte, []int) {
  1339  	return fileDescriptor_e9ac6287ce250c9a, []int{23}
  1340  }
  1341  
  1342  func (m *BlockSequences) XXX_Unmarshal(b []byte) error {
  1343  	return xxx_messageInfo_BlockSequences.Unmarshal(m, b)
  1344  }
  1345  func (m *BlockSequences) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1346  	return xxx_messageInfo_BlockSequences.Marshal(b, m, deterministic)
  1347  }
  1348  func (m *BlockSequences) XXX_Merge(src proto.Message) {
  1349  	xxx_messageInfo_BlockSequences.Merge(m, src)
  1350  }
  1351  func (m *BlockSequences) XXX_Size() int {
  1352  	return xxx_messageInfo_BlockSequences.Size(m)
  1353  }
  1354  func (m *BlockSequences) XXX_DiscardUnknown() {
  1355  	xxx_messageInfo_BlockSequences.DiscardUnknown(m)
  1356  }
  1357  
  1358  var xxx_messageInfo_BlockSequences proto.InternalMessageInfo
  1359  
  1360  func (m *BlockSequences) GetItems() []*BlockSequence {
  1361  	if m != nil {
  1362  		return m.Items
  1363  	}
  1364  	return nil
  1365  }
  1366  
  1367  //平行链区块详细信息
  1368  // 	 blockdetail : 区块详细信息
  1369  //	 sequence :区块序列号
  1370  //   isSync:写数据库时是否需要刷盘
  1371  type ParaChainBlockDetail struct {
  1372  	Blockdetail          *BlockDetail `protobuf:"bytes,1,opt,name=blockdetail,proto3" json:"blockdetail,omitempty"`
  1373  	Sequence             int64        `protobuf:"varint,2,opt,name=sequence,proto3" json:"sequence,omitempty"`
  1374  	IsSync               bool         `protobuf:"varint,3,opt,name=isSync,proto3" json:"isSync,omitempty"`
  1375  	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
  1376  	XXX_unrecognized     []byte       `json:"-"`
  1377  	XXX_sizecache        int32        `json:"-"`
  1378  }
  1379  
  1380  func (m *ParaChainBlockDetail) Reset()         { *m = ParaChainBlockDetail{} }
  1381  func (m *ParaChainBlockDetail) String() string { return proto.CompactTextString(m) }
  1382  func (*ParaChainBlockDetail) ProtoMessage()    {}
  1383  func (*ParaChainBlockDetail) Descriptor() ([]byte, []int) {
  1384  	return fileDescriptor_e9ac6287ce250c9a, []int{24}
  1385  }
  1386  
  1387  func (m *ParaChainBlockDetail) XXX_Unmarshal(b []byte) error {
  1388  	return xxx_messageInfo_ParaChainBlockDetail.Unmarshal(m, b)
  1389  }
  1390  func (m *ParaChainBlockDetail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1391  	return xxx_messageInfo_ParaChainBlockDetail.Marshal(b, m, deterministic)
  1392  }
  1393  func (m *ParaChainBlockDetail) XXX_Merge(src proto.Message) {
  1394  	xxx_messageInfo_ParaChainBlockDetail.Merge(m, src)
  1395  }
  1396  func (m *ParaChainBlockDetail) XXX_Size() int {
  1397  	return xxx_messageInfo_ParaChainBlockDetail.Size(m)
  1398  }
  1399  func (m *ParaChainBlockDetail) XXX_DiscardUnknown() {
  1400  	xxx_messageInfo_ParaChainBlockDetail.DiscardUnknown(m)
  1401  }
  1402  
  1403  var xxx_messageInfo_ParaChainBlockDetail proto.InternalMessageInfo
  1404  
  1405  func (m *ParaChainBlockDetail) GetBlockdetail() *BlockDetail {
  1406  	if m != nil {
  1407  		return m.Blockdetail
  1408  	}
  1409  	return nil
  1410  }
  1411  
  1412  func (m *ParaChainBlockDetail) GetSequence() int64 {
  1413  	if m != nil {
  1414  		return m.Sequence
  1415  	}
  1416  	return 0
  1417  }
  1418  
  1419  func (m *ParaChainBlockDetail) GetIsSync() bool {
  1420  	if m != nil {
  1421  		return m.IsSync
  1422  	}
  1423  	return false
  1424  }
  1425  
  1426  // 定义para交易结构
  1427  type ParaTxDetails struct {
  1428  	Items                []*ParaTxDetail `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
  1429  	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
  1430  	XXX_unrecognized     []byte          `json:"-"`
  1431  	XXX_sizecache        int32           `json:"-"`
  1432  }
  1433  
  1434  func (m *ParaTxDetails) Reset()         { *m = ParaTxDetails{} }
  1435  func (m *ParaTxDetails) String() string { return proto.CompactTextString(m) }
  1436  func (*ParaTxDetails) ProtoMessage()    {}
  1437  func (*ParaTxDetails) Descriptor() ([]byte, []int) {
  1438  	return fileDescriptor_e9ac6287ce250c9a, []int{25}
  1439  }
  1440  
  1441  func (m *ParaTxDetails) XXX_Unmarshal(b []byte) error {
  1442  	return xxx_messageInfo_ParaTxDetails.Unmarshal(m, b)
  1443  }
  1444  func (m *ParaTxDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1445  	return xxx_messageInfo_ParaTxDetails.Marshal(b, m, deterministic)
  1446  }
  1447  func (m *ParaTxDetails) XXX_Merge(src proto.Message) {
  1448  	xxx_messageInfo_ParaTxDetails.Merge(m, src)
  1449  }
  1450  func (m *ParaTxDetails) XXX_Size() int {
  1451  	return xxx_messageInfo_ParaTxDetails.Size(m)
  1452  }
  1453  func (m *ParaTxDetails) XXX_DiscardUnknown() {
  1454  	xxx_messageInfo_ParaTxDetails.DiscardUnknown(m)
  1455  }
  1456  
  1457  var xxx_messageInfo_ParaTxDetails proto.InternalMessageInfo
  1458  
  1459  func (m *ParaTxDetails) GetItems() []*ParaTxDetail {
  1460  	if m != nil {
  1461  		return m.Items
  1462  	}
  1463  	return nil
  1464  }
  1465  
  1466  // type:平行链交易所在区块add/del操作,方便平行链回滚
  1467  // header:平行链交易所在区块头信息
  1468  // txDetails:本区块中指定title平行链的所有交易
  1469  // proofs:对应平行链子roothash的存在证明路径
  1470  // childHash:此平行链交易的子roothash
  1471  // index:对应平行链子roothash在整个区块中的索引
  1472  type ParaTxDetail struct {
  1473  	Type                 int64       `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"`
  1474  	Header               *Header     `protobuf:"bytes,2,opt,name=header,proto3" json:"header,omitempty"`
  1475  	TxDetails            []*TxDetail `protobuf:"bytes,3,rep,name=txDetails,proto3" json:"txDetails,omitempty"`
  1476  	ChildHash            []byte      `protobuf:"bytes,4,opt,name=childHash,proto3" json:"childHash,omitempty"`
  1477  	Index                uint32      `protobuf:"varint,5,opt,name=index,proto3" json:"index,omitempty"`
  1478  	Proofs               [][]byte    `protobuf:"bytes,6,rep,name=proofs,proto3" json:"proofs,omitempty"`
  1479  	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
  1480  	XXX_unrecognized     []byte      `json:"-"`
  1481  	XXX_sizecache        int32       `json:"-"`
  1482  }
  1483  
  1484  func (m *ParaTxDetail) Reset()         { *m = ParaTxDetail{} }
  1485  func (m *ParaTxDetail) String() string { return proto.CompactTextString(m) }
  1486  func (*ParaTxDetail) ProtoMessage()    {}
  1487  func (*ParaTxDetail) Descriptor() ([]byte, []int) {
  1488  	return fileDescriptor_e9ac6287ce250c9a, []int{26}
  1489  }
  1490  
  1491  func (m *ParaTxDetail) XXX_Unmarshal(b []byte) error {
  1492  	return xxx_messageInfo_ParaTxDetail.Unmarshal(m, b)
  1493  }
  1494  func (m *ParaTxDetail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1495  	return xxx_messageInfo_ParaTxDetail.Marshal(b, m, deterministic)
  1496  }
  1497  func (m *ParaTxDetail) XXX_Merge(src proto.Message) {
  1498  	xxx_messageInfo_ParaTxDetail.Merge(m, src)
  1499  }
  1500  func (m *ParaTxDetail) XXX_Size() int {
  1501  	return xxx_messageInfo_ParaTxDetail.Size(m)
  1502  }
  1503  func (m *ParaTxDetail) XXX_DiscardUnknown() {
  1504  	xxx_messageInfo_ParaTxDetail.DiscardUnknown(m)
  1505  }
  1506  
  1507  var xxx_messageInfo_ParaTxDetail proto.InternalMessageInfo
  1508  
  1509  func (m *ParaTxDetail) GetType() int64 {
  1510  	if m != nil {
  1511  		return m.Type
  1512  	}
  1513  	return 0
  1514  }
  1515  
  1516  func (m *ParaTxDetail) GetHeader() *Header {
  1517  	if m != nil {
  1518  		return m.Header
  1519  	}
  1520  	return nil
  1521  }
  1522  
  1523  func (m *ParaTxDetail) GetTxDetails() []*TxDetail {
  1524  	if m != nil {
  1525  		return m.TxDetails
  1526  	}
  1527  	return nil
  1528  }
  1529  
  1530  func (m *ParaTxDetail) GetChildHash() []byte {
  1531  	if m != nil {
  1532  		return m.ChildHash
  1533  	}
  1534  	return nil
  1535  }
  1536  
  1537  func (m *ParaTxDetail) GetIndex() uint32 {
  1538  	if m != nil {
  1539  		return m.Index
  1540  	}
  1541  	return 0
  1542  }
  1543  
  1544  func (m *ParaTxDetail) GetProofs() [][]byte {
  1545  	if m != nil {
  1546  		return m.Proofs
  1547  	}
  1548  	return nil
  1549  }
  1550  
  1551  //交易的详情:
  1552  // index:本交易在block中索引值,用于proof的证明
  1553  // tx:本交易内容
  1554  // receipt:本交易在主链的执行回执
  1555  // proofs:本交易hash在block中merkel中的路径
  1556  type TxDetail struct {
  1557  	Index                uint32       `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"`
  1558  	Tx                   *Transaction `protobuf:"bytes,2,opt,name=tx,proto3" json:"tx,omitempty"`
  1559  	Receipt              *ReceiptData `protobuf:"bytes,3,opt,name=receipt,proto3" json:"receipt,omitempty"`
  1560  	Proofs               [][]byte     `protobuf:"bytes,4,rep,name=proofs,proto3" json:"proofs,omitempty"`
  1561  	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
  1562  	XXX_unrecognized     []byte       `json:"-"`
  1563  	XXX_sizecache        int32        `json:"-"`
  1564  }
  1565  
  1566  func (m *TxDetail) Reset()         { *m = TxDetail{} }
  1567  func (m *TxDetail) String() string { return proto.CompactTextString(m) }
  1568  func (*TxDetail) ProtoMessage()    {}
  1569  func (*TxDetail) Descriptor() ([]byte, []int) {
  1570  	return fileDescriptor_e9ac6287ce250c9a, []int{27}
  1571  }
  1572  
  1573  func (m *TxDetail) XXX_Unmarshal(b []byte) error {
  1574  	return xxx_messageInfo_TxDetail.Unmarshal(m, b)
  1575  }
  1576  func (m *TxDetail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1577  	return xxx_messageInfo_TxDetail.Marshal(b, m, deterministic)
  1578  }
  1579  func (m *TxDetail) XXX_Merge(src proto.Message) {
  1580  	xxx_messageInfo_TxDetail.Merge(m, src)
  1581  }
  1582  func (m *TxDetail) XXX_Size() int {
  1583  	return xxx_messageInfo_TxDetail.Size(m)
  1584  }
  1585  func (m *TxDetail) XXX_DiscardUnknown() {
  1586  	xxx_messageInfo_TxDetail.DiscardUnknown(m)
  1587  }
  1588  
  1589  var xxx_messageInfo_TxDetail proto.InternalMessageInfo
  1590  
  1591  func (m *TxDetail) GetIndex() uint32 {
  1592  	if m != nil {
  1593  		return m.Index
  1594  	}
  1595  	return 0
  1596  }
  1597  
  1598  func (m *TxDetail) GetTx() *Transaction {
  1599  	if m != nil {
  1600  		return m.Tx
  1601  	}
  1602  	return nil
  1603  }
  1604  
  1605  func (m *TxDetail) GetReceipt() *ReceiptData {
  1606  	if m != nil {
  1607  		return m.Receipt
  1608  	}
  1609  	return nil
  1610  }
  1611  
  1612  func (m *TxDetail) GetProofs() [][]byte {
  1613  	if m != nil {
  1614  		return m.Proofs
  1615  	}
  1616  	return nil
  1617  }
  1618  
  1619  //通过seq区间和title请求平行链的交易
  1620  type ReqParaTxByTitle struct {
  1621  	Start                int64    `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"`
  1622  	End                  int64    `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"`
  1623  	Title                string   `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"`
  1624  	IsSeq                bool     `protobuf:"varint,4,opt,name=isSeq,proto3" json:"isSeq,omitempty"`
  1625  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1626  	XXX_unrecognized     []byte   `json:"-"`
  1627  	XXX_sizecache        int32    `json:"-"`
  1628  }
  1629  
  1630  func (m *ReqParaTxByTitle) Reset()         { *m = ReqParaTxByTitle{} }
  1631  func (m *ReqParaTxByTitle) String() string { return proto.CompactTextString(m) }
  1632  func (*ReqParaTxByTitle) ProtoMessage()    {}
  1633  func (*ReqParaTxByTitle) Descriptor() ([]byte, []int) {
  1634  	return fileDescriptor_e9ac6287ce250c9a, []int{28}
  1635  }
  1636  
  1637  func (m *ReqParaTxByTitle) XXX_Unmarshal(b []byte) error {
  1638  	return xxx_messageInfo_ReqParaTxByTitle.Unmarshal(m, b)
  1639  }
  1640  func (m *ReqParaTxByTitle) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1641  	return xxx_messageInfo_ReqParaTxByTitle.Marshal(b, m, deterministic)
  1642  }
  1643  func (m *ReqParaTxByTitle) XXX_Merge(src proto.Message) {
  1644  	xxx_messageInfo_ReqParaTxByTitle.Merge(m, src)
  1645  }
  1646  func (m *ReqParaTxByTitle) XXX_Size() int {
  1647  	return xxx_messageInfo_ReqParaTxByTitle.Size(m)
  1648  }
  1649  func (m *ReqParaTxByTitle) XXX_DiscardUnknown() {
  1650  	xxx_messageInfo_ReqParaTxByTitle.DiscardUnknown(m)
  1651  }
  1652  
  1653  var xxx_messageInfo_ReqParaTxByTitle proto.InternalMessageInfo
  1654  
  1655  func (m *ReqParaTxByTitle) GetStart() int64 {
  1656  	if m != nil {
  1657  		return m.Start
  1658  	}
  1659  	return 0
  1660  }
  1661  
  1662  func (m *ReqParaTxByTitle) GetEnd() int64 {
  1663  	if m != nil {
  1664  		return m.End
  1665  	}
  1666  	return 0
  1667  }
  1668  
  1669  func (m *ReqParaTxByTitle) GetTitle() string {
  1670  	if m != nil {
  1671  		return m.Title
  1672  	}
  1673  	return ""
  1674  }
  1675  
  1676  func (m *ReqParaTxByTitle) GetIsSeq() bool {
  1677  	if m != nil {
  1678  		return m.IsSeq
  1679  	}
  1680  	return false
  1681  }
  1682  
  1683  //导出block文件头信息
  1684  type FileHeader struct {
  1685  	StartHeight          int64    `protobuf:"varint,1,opt,name=startHeight,proto3" json:"startHeight,omitempty"`
  1686  	Driver               string   `protobuf:"bytes,2,opt,name=driver,proto3" json:"driver,omitempty"`
  1687  	Title                string   `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"`
  1688  	TestNet              bool     `protobuf:"varint,4,opt,name=testNet,proto3" json:"testNet,omitempty"`
  1689  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1690  	XXX_unrecognized     []byte   `json:"-"`
  1691  	XXX_sizecache        int32    `json:"-"`
  1692  }
  1693  
  1694  func (m *FileHeader) Reset()         { *m = FileHeader{} }
  1695  func (m *FileHeader) String() string { return proto.CompactTextString(m) }
  1696  func (*FileHeader) ProtoMessage()    {}
  1697  func (*FileHeader) Descriptor() ([]byte, []int) {
  1698  	return fileDescriptor_e9ac6287ce250c9a, []int{29}
  1699  }
  1700  
  1701  func (m *FileHeader) XXX_Unmarshal(b []byte) error {
  1702  	return xxx_messageInfo_FileHeader.Unmarshal(m, b)
  1703  }
  1704  func (m *FileHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1705  	return xxx_messageInfo_FileHeader.Marshal(b, m, deterministic)
  1706  }
  1707  func (m *FileHeader) XXX_Merge(src proto.Message) {
  1708  	xxx_messageInfo_FileHeader.Merge(m, src)
  1709  }
  1710  func (m *FileHeader) XXX_Size() int {
  1711  	return xxx_messageInfo_FileHeader.Size(m)
  1712  }
  1713  func (m *FileHeader) XXX_DiscardUnknown() {
  1714  	xxx_messageInfo_FileHeader.DiscardUnknown(m)
  1715  }
  1716  
  1717  var xxx_messageInfo_FileHeader proto.InternalMessageInfo
  1718  
  1719  func (m *FileHeader) GetStartHeight() int64 {
  1720  	if m != nil {
  1721  		return m.StartHeight
  1722  	}
  1723  	return 0
  1724  }
  1725  
  1726  func (m *FileHeader) GetDriver() string {
  1727  	if m != nil {
  1728  		return m.Driver
  1729  	}
  1730  	return ""
  1731  }
  1732  
  1733  func (m *FileHeader) GetTitle() string {
  1734  	if m != nil {
  1735  		return m.Title
  1736  	}
  1737  	return ""
  1738  }
  1739  
  1740  func (m *FileHeader) GetTestNet() bool {
  1741  	if m != nil {
  1742  		return m.TestNet
  1743  	}
  1744  	return false
  1745  }
  1746  
  1747  //存储block高度和hash
  1748  type EndBlock struct {
  1749  	Height               int64    `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
  1750  	Hash                 []byte   `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"`
  1751  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1752  	XXX_unrecognized     []byte   `json:"-"`
  1753  	XXX_sizecache        int32    `json:"-"`
  1754  }
  1755  
  1756  func (m *EndBlock) Reset()         { *m = EndBlock{} }
  1757  func (m *EndBlock) String() string { return proto.CompactTextString(m) }
  1758  func (*EndBlock) ProtoMessage()    {}
  1759  func (*EndBlock) Descriptor() ([]byte, []int) {
  1760  	return fileDescriptor_e9ac6287ce250c9a, []int{30}
  1761  }
  1762  
  1763  func (m *EndBlock) XXX_Unmarshal(b []byte) error {
  1764  	return xxx_messageInfo_EndBlock.Unmarshal(m, b)
  1765  }
  1766  func (m *EndBlock) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1767  	return xxx_messageInfo_EndBlock.Marshal(b, m, deterministic)
  1768  }
  1769  func (m *EndBlock) XXX_Merge(src proto.Message) {
  1770  	xxx_messageInfo_EndBlock.Merge(m, src)
  1771  }
  1772  func (m *EndBlock) XXX_Size() int {
  1773  	return xxx_messageInfo_EndBlock.Size(m)
  1774  }
  1775  func (m *EndBlock) XXX_DiscardUnknown() {
  1776  	xxx_messageInfo_EndBlock.DiscardUnknown(m)
  1777  }
  1778  
  1779  var xxx_messageInfo_EndBlock proto.InternalMessageInfo
  1780  
  1781  func (m *EndBlock) GetHeight() int64 {
  1782  	if m != nil {
  1783  		return m.Height
  1784  	}
  1785  	return 0
  1786  }
  1787  
  1788  func (m *EndBlock) GetHash() []byte {
  1789  	if m != nil {
  1790  		return m.Hash
  1791  	}
  1792  	return nil
  1793  }
  1794  
  1795  //通过seq获取区块的header信息
  1796  type HeaderSeq struct {
  1797  	Num                  int64          `protobuf:"varint,1,opt,name=num,proto3" json:"num,omitempty"`
  1798  	Seq                  *BlockSequence `protobuf:"bytes,2,opt,name=seq,proto3" json:"seq,omitempty"`
  1799  	Header               *Header        `protobuf:"bytes,3,opt,name=header,proto3" json:"header,omitempty"`
  1800  	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
  1801  	XXX_unrecognized     []byte         `json:"-"`
  1802  	XXX_sizecache        int32          `json:"-"`
  1803  }
  1804  
  1805  func (m *HeaderSeq) Reset()         { *m = HeaderSeq{} }
  1806  func (m *HeaderSeq) String() string { return proto.CompactTextString(m) }
  1807  func (*HeaderSeq) ProtoMessage()    {}
  1808  func (*HeaderSeq) Descriptor() ([]byte, []int) {
  1809  	return fileDescriptor_e9ac6287ce250c9a, []int{31}
  1810  }
  1811  
  1812  func (m *HeaderSeq) XXX_Unmarshal(b []byte) error {
  1813  	return xxx_messageInfo_HeaderSeq.Unmarshal(m, b)
  1814  }
  1815  func (m *HeaderSeq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1816  	return xxx_messageInfo_HeaderSeq.Marshal(b, m, deterministic)
  1817  }
  1818  func (m *HeaderSeq) XXX_Merge(src proto.Message) {
  1819  	xxx_messageInfo_HeaderSeq.Merge(m, src)
  1820  }
  1821  func (m *HeaderSeq) XXX_Size() int {
  1822  	return xxx_messageInfo_HeaderSeq.Size(m)
  1823  }
  1824  func (m *HeaderSeq) XXX_DiscardUnknown() {
  1825  	xxx_messageInfo_HeaderSeq.DiscardUnknown(m)
  1826  }
  1827  
  1828  var xxx_messageInfo_HeaderSeq proto.InternalMessageInfo
  1829  
  1830  func (m *HeaderSeq) GetNum() int64 {
  1831  	if m != nil {
  1832  		return m.Num
  1833  	}
  1834  	return 0
  1835  }
  1836  
  1837  func (m *HeaderSeq) GetSeq() *BlockSequence {
  1838  	if m != nil {
  1839  		return m.Seq
  1840  	}
  1841  	return nil
  1842  }
  1843  
  1844  func (m *HeaderSeq) GetHeader() *Header {
  1845  	if m != nil {
  1846  		return m.Header
  1847  	}
  1848  	return nil
  1849  }
  1850  
  1851  //批量推送区块的header信息
  1852  type HeaderSeqs struct {
  1853  	Seqs                 []*HeaderSeq `protobuf:"bytes,1,rep,name=seqs,proto3" json:"seqs,omitempty"`
  1854  	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
  1855  	XXX_unrecognized     []byte       `json:"-"`
  1856  	XXX_sizecache        int32        `json:"-"`
  1857  }
  1858  
  1859  func (m *HeaderSeqs) Reset()         { *m = HeaderSeqs{} }
  1860  func (m *HeaderSeqs) String() string { return proto.CompactTextString(m) }
  1861  func (*HeaderSeqs) ProtoMessage()    {}
  1862  func (*HeaderSeqs) Descriptor() ([]byte, []int) {
  1863  	return fileDescriptor_e9ac6287ce250c9a, []int{32}
  1864  }
  1865  
  1866  func (m *HeaderSeqs) XXX_Unmarshal(b []byte) error {
  1867  	return xxx_messageInfo_HeaderSeqs.Unmarshal(m, b)
  1868  }
  1869  func (m *HeaderSeqs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1870  	return xxx_messageInfo_HeaderSeqs.Marshal(b, m, deterministic)
  1871  }
  1872  func (m *HeaderSeqs) XXX_Merge(src proto.Message) {
  1873  	xxx_messageInfo_HeaderSeqs.Merge(m, src)
  1874  }
  1875  func (m *HeaderSeqs) XXX_Size() int {
  1876  	return xxx_messageInfo_HeaderSeqs.Size(m)
  1877  }
  1878  func (m *HeaderSeqs) XXX_DiscardUnknown() {
  1879  	xxx_messageInfo_HeaderSeqs.DiscardUnknown(m)
  1880  }
  1881  
  1882  var xxx_messageInfo_HeaderSeqs proto.InternalMessageInfo
  1883  
  1884  func (m *HeaderSeqs) GetSeqs() []*HeaderSeq {
  1885  	if m != nil {
  1886  		return m.Seqs
  1887  	}
  1888  	return nil
  1889  }
  1890  
  1891  //记录本平行链所在区块的信息以及子根hash值
  1892  // childHash:平行链子roothash值
  1893  // startIndex:此平行链的第一笔交易的index索引值
  1894  // childHashIndex:此平行链子roothash在本区块中的索引值
  1895  // txCount:此平行链交易的个数
  1896  type HeightPara struct {
  1897  	Height               int64    `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
  1898  	Title                string   `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
  1899  	Hash                 []byte   `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"`
  1900  	ChildHash            []byte   `protobuf:"bytes,4,opt,name=childHash,proto3" json:"childHash,omitempty"`
  1901  	StartIndex           int32    `protobuf:"varint,5,opt,name=startIndex,proto3" json:"startIndex,omitempty"`
  1902  	ChildHashIndex       uint32   `protobuf:"varint,6,opt,name=childHashIndex,proto3" json:"childHashIndex,omitempty"`
  1903  	TxCount              int32    `protobuf:"varint,7,opt,name=txCount,proto3" json:"txCount,omitempty"`
  1904  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1905  	XXX_unrecognized     []byte   `json:"-"`
  1906  	XXX_sizecache        int32    `json:"-"`
  1907  }
  1908  
  1909  func (m *HeightPara) Reset()         { *m = HeightPara{} }
  1910  func (m *HeightPara) String() string { return proto.CompactTextString(m) }
  1911  func (*HeightPara) ProtoMessage()    {}
  1912  func (*HeightPara) Descriptor() ([]byte, []int) {
  1913  	return fileDescriptor_e9ac6287ce250c9a, []int{33}
  1914  }
  1915  
  1916  func (m *HeightPara) XXX_Unmarshal(b []byte) error {
  1917  	return xxx_messageInfo_HeightPara.Unmarshal(m, b)
  1918  }
  1919  func (m *HeightPara) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1920  	return xxx_messageInfo_HeightPara.Marshal(b, m, deterministic)
  1921  }
  1922  func (m *HeightPara) XXX_Merge(src proto.Message) {
  1923  	xxx_messageInfo_HeightPara.Merge(m, src)
  1924  }
  1925  func (m *HeightPara) XXX_Size() int {
  1926  	return xxx_messageInfo_HeightPara.Size(m)
  1927  }
  1928  func (m *HeightPara) XXX_DiscardUnknown() {
  1929  	xxx_messageInfo_HeightPara.DiscardUnknown(m)
  1930  }
  1931  
  1932  var xxx_messageInfo_HeightPara proto.InternalMessageInfo
  1933  
  1934  func (m *HeightPara) GetHeight() int64 {
  1935  	if m != nil {
  1936  		return m.Height
  1937  	}
  1938  	return 0
  1939  }
  1940  
  1941  func (m *HeightPara) GetTitle() string {
  1942  	if m != nil {
  1943  		return m.Title
  1944  	}
  1945  	return ""
  1946  }
  1947  
  1948  func (m *HeightPara) GetHash() []byte {
  1949  	if m != nil {
  1950  		return m.Hash
  1951  	}
  1952  	return nil
  1953  }
  1954  
  1955  func (m *HeightPara) GetChildHash() []byte {
  1956  	if m != nil {
  1957  		return m.ChildHash
  1958  	}
  1959  	return nil
  1960  }
  1961  
  1962  func (m *HeightPara) GetStartIndex() int32 {
  1963  	if m != nil {
  1964  		return m.StartIndex
  1965  	}
  1966  	return 0
  1967  }
  1968  
  1969  func (m *HeightPara) GetChildHashIndex() uint32 {
  1970  	if m != nil {
  1971  		return m.ChildHashIndex
  1972  	}
  1973  	return 0
  1974  }
  1975  
  1976  func (m *HeightPara) GetTxCount() int32 {
  1977  	if m != nil {
  1978  		return m.TxCount
  1979  	}
  1980  	return 0
  1981  }
  1982  
  1983  type HeightParas struct {
  1984  	Items                []*HeightPara `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
  1985  	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
  1986  	XXX_unrecognized     []byte        `json:"-"`
  1987  	XXX_sizecache        int32         `json:"-"`
  1988  }
  1989  
  1990  func (m *HeightParas) Reset()         { *m = HeightParas{} }
  1991  func (m *HeightParas) String() string { return proto.CompactTextString(m) }
  1992  func (*HeightParas) ProtoMessage()    {}
  1993  func (*HeightParas) Descriptor() ([]byte, []int) {
  1994  	return fileDescriptor_e9ac6287ce250c9a, []int{34}
  1995  }
  1996  
  1997  func (m *HeightParas) XXX_Unmarshal(b []byte) error {
  1998  	return xxx_messageInfo_HeightParas.Unmarshal(m, b)
  1999  }
  2000  func (m *HeightParas) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2001  	return xxx_messageInfo_HeightParas.Marshal(b, m, deterministic)
  2002  }
  2003  func (m *HeightParas) XXX_Merge(src proto.Message) {
  2004  	xxx_messageInfo_HeightParas.Merge(m, src)
  2005  }
  2006  func (m *HeightParas) XXX_Size() int {
  2007  	return xxx_messageInfo_HeightParas.Size(m)
  2008  }
  2009  func (m *HeightParas) XXX_DiscardUnknown() {
  2010  	xxx_messageInfo_HeightParas.DiscardUnknown(m)
  2011  }
  2012  
  2013  var xxx_messageInfo_HeightParas proto.InternalMessageInfo
  2014  
  2015  func (m *HeightParas) GetItems() []*HeightPara {
  2016  	if m != nil {
  2017  		return m.Items
  2018  	}
  2019  	return nil
  2020  }
  2021  
  2022  //记录平行链第一笔交易的index,以及平行链的roothash
  2023  // title:子链名字,主链的默认是main
  2024  // startIndex:子链第一笔交易的索引
  2025  // childHash:子链的根hash
  2026  // txCount:子链交易的数量
  2027  type ChildChain struct {
  2028  	Title                string   `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
  2029  	StartIndex           int32    `protobuf:"varint,2,opt,name=startIndex,proto3" json:"startIndex,omitempty"`
  2030  	ChildHash            []byte   `protobuf:"bytes,3,opt,name=childHash,proto3" json:"childHash,omitempty"`
  2031  	TxCount              int32    `protobuf:"varint,4,opt,name=txCount,proto3" json:"txCount,omitempty"`
  2032  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2033  	XXX_unrecognized     []byte   `json:"-"`
  2034  	XXX_sizecache        int32    `json:"-"`
  2035  }
  2036  
  2037  func (m *ChildChain) Reset()         { *m = ChildChain{} }
  2038  func (m *ChildChain) String() string { return proto.CompactTextString(m) }
  2039  func (*ChildChain) ProtoMessage()    {}
  2040  func (*ChildChain) Descriptor() ([]byte, []int) {
  2041  	return fileDescriptor_e9ac6287ce250c9a, []int{35}
  2042  }
  2043  
  2044  func (m *ChildChain) XXX_Unmarshal(b []byte) error {
  2045  	return xxx_messageInfo_ChildChain.Unmarshal(m, b)
  2046  }
  2047  func (m *ChildChain) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2048  	return xxx_messageInfo_ChildChain.Marshal(b, m, deterministic)
  2049  }
  2050  func (m *ChildChain) XXX_Merge(src proto.Message) {
  2051  	xxx_messageInfo_ChildChain.Merge(m, src)
  2052  }
  2053  func (m *ChildChain) XXX_Size() int {
  2054  	return xxx_messageInfo_ChildChain.Size(m)
  2055  }
  2056  func (m *ChildChain) XXX_DiscardUnknown() {
  2057  	xxx_messageInfo_ChildChain.DiscardUnknown(m)
  2058  }
  2059  
  2060  var xxx_messageInfo_ChildChain proto.InternalMessageInfo
  2061  
  2062  func (m *ChildChain) GetTitle() string {
  2063  	if m != nil {
  2064  		return m.Title
  2065  	}
  2066  	return ""
  2067  }
  2068  
  2069  func (m *ChildChain) GetStartIndex() int32 {
  2070  	if m != nil {
  2071  		return m.StartIndex
  2072  	}
  2073  	return 0
  2074  }
  2075  
  2076  func (m *ChildChain) GetChildHash() []byte {
  2077  	if m != nil {
  2078  		return m.ChildHash
  2079  	}
  2080  	return nil
  2081  }
  2082  
  2083  func (m *ChildChain) GetTxCount() int32 {
  2084  	if m != nil {
  2085  		return m.TxCount
  2086  	}
  2087  	return 0
  2088  }
  2089  
  2090  //通过指定title以及height翻页获取拥有此title交易的区块高度列表
  2091  type ReqHeightByTitle struct {
  2092  	Height               int64    `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
  2093  	Title                string   `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
  2094  	Count                int32    `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty"`
  2095  	Direction            int32    `protobuf:"varint,4,opt,name=direction,proto3" json:"direction,omitempty"`
  2096  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2097  	XXX_unrecognized     []byte   `json:"-"`
  2098  	XXX_sizecache        int32    `json:"-"`
  2099  }
  2100  
  2101  func (m *ReqHeightByTitle) Reset()         { *m = ReqHeightByTitle{} }
  2102  func (m *ReqHeightByTitle) String() string { return proto.CompactTextString(m) }
  2103  func (*ReqHeightByTitle) ProtoMessage()    {}
  2104  func (*ReqHeightByTitle) Descriptor() ([]byte, []int) {
  2105  	return fileDescriptor_e9ac6287ce250c9a, []int{36}
  2106  }
  2107  
  2108  func (m *ReqHeightByTitle) XXX_Unmarshal(b []byte) error {
  2109  	return xxx_messageInfo_ReqHeightByTitle.Unmarshal(m, b)
  2110  }
  2111  func (m *ReqHeightByTitle) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2112  	return xxx_messageInfo_ReqHeightByTitle.Marshal(b, m, deterministic)
  2113  }
  2114  func (m *ReqHeightByTitle) XXX_Merge(src proto.Message) {
  2115  	xxx_messageInfo_ReqHeightByTitle.Merge(m, src)
  2116  }
  2117  func (m *ReqHeightByTitle) XXX_Size() int {
  2118  	return xxx_messageInfo_ReqHeightByTitle.Size(m)
  2119  }
  2120  func (m *ReqHeightByTitle) XXX_DiscardUnknown() {
  2121  	xxx_messageInfo_ReqHeightByTitle.DiscardUnknown(m)
  2122  }
  2123  
  2124  var xxx_messageInfo_ReqHeightByTitle proto.InternalMessageInfo
  2125  
  2126  func (m *ReqHeightByTitle) GetHeight() int64 {
  2127  	if m != nil {
  2128  		return m.Height
  2129  	}
  2130  	return 0
  2131  }
  2132  
  2133  func (m *ReqHeightByTitle) GetTitle() string {
  2134  	if m != nil {
  2135  		return m.Title
  2136  	}
  2137  	return ""
  2138  }
  2139  
  2140  func (m *ReqHeightByTitle) GetCount() int32 {
  2141  	if m != nil {
  2142  		return m.Count
  2143  	}
  2144  	return 0
  2145  }
  2146  
  2147  func (m *ReqHeightByTitle) GetDirection() int32 {
  2148  	if m != nil {
  2149  		return m.Direction
  2150  	}
  2151  	return 0
  2152  }
  2153  
  2154  type ReplyHeightByTitle struct {
  2155  	Title                string       `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
  2156  	Items                []*BlockInfo `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
  2157  	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
  2158  	XXX_unrecognized     []byte       `json:"-"`
  2159  	XXX_sizecache        int32        `json:"-"`
  2160  }
  2161  
  2162  func (m *ReplyHeightByTitle) Reset()         { *m = ReplyHeightByTitle{} }
  2163  func (m *ReplyHeightByTitle) String() string { return proto.CompactTextString(m) }
  2164  func (*ReplyHeightByTitle) ProtoMessage()    {}
  2165  func (*ReplyHeightByTitle) Descriptor() ([]byte, []int) {
  2166  	return fileDescriptor_e9ac6287ce250c9a, []int{37}
  2167  }
  2168  
  2169  func (m *ReplyHeightByTitle) XXX_Unmarshal(b []byte) error {
  2170  	return xxx_messageInfo_ReplyHeightByTitle.Unmarshal(m, b)
  2171  }
  2172  func (m *ReplyHeightByTitle) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2173  	return xxx_messageInfo_ReplyHeightByTitle.Marshal(b, m, deterministic)
  2174  }
  2175  func (m *ReplyHeightByTitle) XXX_Merge(src proto.Message) {
  2176  	xxx_messageInfo_ReplyHeightByTitle.Merge(m, src)
  2177  }
  2178  func (m *ReplyHeightByTitle) XXX_Size() int {
  2179  	return xxx_messageInfo_ReplyHeightByTitle.Size(m)
  2180  }
  2181  func (m *ReplyHeightByTitle) XXX_DiscardUnknown() {
  2182  	xxx_messageInfo_ReplyHeightByTitle.DiscardUnknown(m)
  2183  }
  2184  
  2185  var xxx_messageInfo_ReplyHeightByTitle proto.InternalMessageInfo
  2186  
  2187  func (m *ReplyHeightByTitle) GetTitle() string {
  2188  	if m != nil {
  2189  		return m.Title
  2190  	}
  2191  	return ""
  2192  }
  2193  
  2194  func (m *ReplyHeightByTitle) GetItems() []*BlockInfo {
  2195  	if m != nil {
  2196  		return m.Items
  2197  	}
  2198  	return nil
  2199  }
  2200  
  2201  // title平行链交易所在主链区块的信息
  2202  type BlockInfo struct {
  2203  	Height               int64    `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
  2204  	Hash                 []byte   `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"`
  2205  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2206  	XXX_unrecognized     []byte   `json:"-"`
  2207  	XXX_sizecache        int32    `json:"-"`
  2208  }
  2209  
  2210  func (m *BlockInfo) Reset()         { *m = BlockInfo{} }
  2211  func (m *BlockInfo) String() string { return proto.CompactTextString(m) }
  2212  func (*BlockInfo) ProtoMessage()    {}
  2213  func (*BlockInfo) Descriptor() ([]byte, []int) {
  2214  	return fileDescriptor_e9ac6287ce250c9a, []int{38}
  2215  }
  2216  
  2217  func (m *BlockInfo) XXX_Unmarshal(b []byte) error {
  2218  	return xxx_messageInfo_BlockInfo.Unmarshal(m, b)
  2219  }
  2220  func (m *BlockInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2221  	return xxx_messageInfo_BlockInfo.Marshal(b, m, deterministic)
  2222  }
  2223  func (m *BlockInfo) XXX_Merge(src proto.Message) {
  2224  	xxx_messageInfo_BlockInfo.Merge(m, src)
  2225  }
  2226  func (m *BlockInfo) XXX_Size() int {
  2227  	return xxx_messageInfo_BlockInfo.Size(m)
  2228  }
  2229  func (m *BlockInfo) XXX_DiscardUnknown() {
  2230  	xxx_messageInfo_BlockInfo.DiscardUnknown(m)
  2231  }
  2232  
  2233  var xxx_messageInfo_BlockInfo proto.InternalMessageInfo
  2234  
  2235  func (m *BlockInfo) GetHeight() int64 {
  2236  	if m != nil {
  2237  		return m.Height
  2238  	}
  2239  	return 0
  2240  }
  2241  
  2242  func (m *BlockInfo) GetHash() []byte {
  2243  	if m != nil {
  2244  		return m.Hash
  2245  	}
  2246  	return nil
  2247  }
  2248  
  2249  //通过高度列表和title获取平行链交易
  2250  type ReqParaTxByHeight struct {
  2251  	Items                []int64  `protobuf:"varint,1,rep,packed,name=items,proto3" json:"items,omitempty"`
  2252  	Title                string   `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
  2253  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2254  	XXX_unrecognized     []byte   `json:"-"`
  2255  	XXX_sizecache        int32    `json:"-"`
  2256  }
  2257  
  2258  func (m *ReqParaTxByHeight) Reset()         { *m = ReqParaTxByHeight{} }
  2259  func (m *ReqParaTxByHeight) String() string { return proto.CompactTextString(m) }
  2260  func (*ReqParaTxByHeight) ProtoMessage()    {}
  2261  func (*ReqParaTxByHeight) Descriptor() ([]byte, []int) {
  2262  	return fileDescriptor_e9ac6287ce250c9a, []int{39}
  2263  }
  2264  
  2265  func (m *ReqParaTxByHeight) XXX_Unmarshal(b []byte) error {
  2266  	return xxx_messageInfo_ReqParaTxByHeight.Unmarshal(m, b)
  2267  }
  2268  func (m *ReqParaTxByHeight) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2269  	return xxx_messageInfo_ReqParaTxByHeight.Marshal(b, m, deterministic)
  2270  }
  2271  func (m *ReqParaTxByHeight) XXX_Merge(src proto.Message) {
  2272  	xxx_messageInfo_ReqParaTxByHeight.Merge(m, src)
  2273  }
  2274  func (m *ReqParaTxByHeight) XXX_Size() int {
  2275  	return xxx_messageInfo_ReqParaTxByHeight.Size(m)
  2276  }
  2277  func (m *ReqParaTxByHeight) XXX_DiscardUnknown() {
  2278  	xxx_messageInfo_ReqParaTxByHeight.DiscardUnknown(m)
  2279  }
  2280  
  2281  var xxx_messageInfo_ReqParaTxByHeight proto.InternalMessageInfo
  2282  
  2283  func (m *ReqParaTxByHeight) GetItems() []int64 {
  2284  	if m != nil {
  2285  		return m.Items
  2286  	}
  2287  	return nil
  2288  }
  2289  
  2290  func (m *ReqParaTxByHeight) GetTitle() string {
  2291  	if m != nil {
  2292  		return m.Title
  2293  	}
  2294  	return ""
  2295  }
  2296  
  2297  //用于比较最优区块的消息结构
  2298  type CmpBlock struct {
  2299  	Block                *Block   `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"`
  2300  	CmpHash              []byte   `protobuf:"bytes,2,opt,name=cmpHash,proto3" json:"cmpHash,omitempty"`
  2301  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2302  	XXX_unrecognized     []byte   `json:"-"`
  2303  	XXX_sizecache        int32    `json:"-"`
  2304  }
  2305  
  2306  func (m *CmpBlock) Reset()         { *m = CmpBlock{} }
  2307  func (m *CmpBlock) String() string { return proto.CompactTextString(m) }
  2308  func (*CmpBlock) ProtoMessage()    {}
  2309  func (*CmpBlock) Descriptor() ([]byte, []int) {
  2310  	return fileDescriptor_e9ac6287ce250c9a, []int{40}
  2311  }
  2312  
  2313  func (m *CmpBlock) XXX_Unmarshal(b []byte) error {
  2314  	return xxx_messageInfo_CmpBlock.Unmarshal(m, b)
  2315  }
  2316  func (m *CmpBlock) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2317  	return xxx_messageInfo_CmpBlock.Marshal(b, m, deterministic)
  2318  }
  2319  func (m *CmpBlock) XXX_Merge(src proto.Message) {
  2320  	xxx_messageInfo_CmpBlock.Merge(m, src)
  2321  }
  2322  func (m *CmpBlock) XXX_Size() int {
  2323  	return xxx_messageInfo_CmpBlock.Size(m)
  2324  }
  2325  func (m *CmpBlock) XXX_DiscardUnknown() {
  2326  	xxx_messageInfo_CmpBlock.DiscardUnknown(m)
  2327  }
  2328  
  2329  var xxx_messageInfo_CmpBlock proto.InternalMessageInfo
  2330  
  2331  func (m *CmpBlock) GetBlock() *Block {
  2332  	if m != nil {
  2333  		return m.Block
  2334  	}
  2335  	return nil
  2336  }
  2337  
  2338  func (m *CmpBlock) GetCmpHash() []byte {
  2339  	if m != nil {
  2340  		return m.CmpHash
  2341  	}
  2342  	return nil
  2343  }
  2344  
  2345  // BlockBodys
  2346  type BlockBodys struct {
  2347  	Items                []*BlockBody `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
  2348  	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
  2349  	XXX_unrecognized     []byte       `json:"-"`
  2350  	XXX_sizecache        int32        `json:"-"`
  2351  }
  2352  
  2353  func (m *BlockBodys) Reset()         { *m = BlockBodys{} }
  2354  func (m *BlockBodys) String() string { return proto.CompactTextString(m) }
  2355  func (*BlockBodys) ProtoMessage()    {}
  2356  func (*BlockBodys) Descriptor() ([]byte, []int) {
  2357  	return fileDescriptor_e9ac6287ce250c9a, []int{41}
  2358  }
  2359  
  2360  func (m *BlockBodys) XXX_Unmarshal(b []byte) error {
  2361  	return xxx_messageInfo_BlockBodys.Unmarshal(m, b)
  2362  }
  2363  func (m *BlockBodys) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2364  	return xxx_messageInfo_BlockBodys.Marshal(b, m, deterministic)
  2365  }
  2366  func (m *BlockBodys) XXX_Merge(src proto.Message) {
  2367  	xxx_messageInfo_BlockBodys.Merge(m, src)
  2368  }
  2369  func (m *BlockBodys) XXX_Size() int {
  2370  	return xxx_messageInfo_BlockBodys.Size(m)
  2371  }
  2372  func (m *BlockBodys) XXX_DiscardUnknown() {
  2373  	xxx_messageInfo_BlockBodys.DiscardUnknown(m)
  2374  }
  2375  
  2376  var xxx_messageInfo_BlockBodys proto.InternalMessageInfo
  2377  
  2378  func (m *BlockBodys) GetItems() []*BlockBody {
  2379  	if m != nil {
  2380  		return m.Items
  2381  	}
  2382  	return nil
  2383  }
  2384  
  2385  // ChunkRecords
  2386  type ChunkRecords struct {
  2387  	Infos                []*ChunkInfo `protobuf:"bytes,1,rep,name=infos,proto3" json:"infos,omitempty"`
  2388  	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
  2389  	XXX_unrecognized     []byte       `json:"-"`
  2390  	XXX_sizecache        int32        `json:"-"`
  2391  }
  2392  
  2393  func (m *ChunkRecords) Reset()         { *m = ChunkRecords{} }
  2394  func (m *ChunkRecords) String() string { return proto.CompactTextString(m) }
  2395  func (*ChunkRecords) ProtoMessage()    {}
  2396  func (*ChunkRecords) Descriptor() ([]byte, []int) {
  2397  	return fileDescriptor_e9ac6287ce250c9a, []int{42}
  2398  }
  2399  
  2400  func (m *ChunkRecords) XXX_Unmarshal(b []byte) error {
  2401  	return xxx_messageInfo_ChunkRecords.Unmarshal(m, b)
  2402  }
  2403  func (m *ChunkRecords) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2404  	return xxx_messageInfo_ChunkRecords.Marshal(b, m, deterministic)
  2405  }
  2406  func (m *ChunkRecords) XXX_Merge(src proto.Message) {
  2407  	xxx_messageInfo_ChunkRecords.Merge(m, src)
  2408  }
  2409  func (m *ChunkRecords) XXX_Size() int {
  2410  	return xxx_messageInfo_ChunkRecords.Size(m)
  2411  }
  2412  func (m *ChunkRecords) XXX_DiscardUnknown() {
  2413  	xxx_messageInfo_ChunkRecords.DiscardUnknown(m)
  2414  }
  2415  
  2416  var xxx_messageInfo_ChunkRecords proto.InternalMessageInfo
  2417  
  2418  func (m *ChunkRecords) GetInfos() []*ChunkInfo {
  2419  	if m != nil {
  2420  		return m.Infos
  2421  	}
  2422  	return nil
  2423  }
  2424  
  2425  // ChunkInfoMsg 用于消息传递
  2426  type ChunkInfoMsg struct {
  2427  	ChunkHash            []byte   `protobuf:"bytes,1,opt,name=chunkHash,proto3" json:"chunkHash,omitempty"`
  2428  	Start                int64    `protobuf:"varint,2,opt,name=start,proto3" json:"start,omitempty"`
  2429  	End                  int64    `protobuf:"varint,3,opt,name=end,proto3" json:"end,omitempty"`
  2430  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2431  	XXX_unrecognized     []byte   `json:"-"`
  2432  	XXX_sizecache        int32    `json:"-"`
  2433  }
  2434  
  2435  func (m *ChunkInfoMsg) Reset()         { *m = ChunkInfoMsg{} }
  2436  func (m *ChunkInfoMsg) String() string { return proto.CompactTextString(m) }
  2437  func (*ChunkInfoMsg) ProtoMessage()    {}
  2438  func (*ChunkInfoMsg) Descriptor() ([]byte, []int) {
  2439  	return fileDescriptor_e9ac6287ce250c9a, []int{43}
  2440  }
  2441  
  2442  func (m *ChunkInfoMsg) XXX_Unmarshal(b []byte) error {
  2443  	return xxx_messageInfo_ChunkInfoMsg.Unmarshal(m, b)
  2444  }
  2445  func (m *ChunkInfoMsg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2446  	return xxx_messageInfo_ChunkInfoMsg.Marshal(b, m, deterministic)
  2447  }
  2448  func (m *ChunkInfoMsg) XXX_Merge(src proto.Message) {
  2449  	xxx_messageInfo_ChunkInfoMsg.Merge(m, src)
  2450  }
  2451  func (m *ChunkInfoMsg) XXX_Size() int {
  2452  	return xxx_messageInfo_ChunkInfoMsg.Size(m)
  2453  }
  2454  func (m *ChunkInfoMsg) XXX_DiscardUnknown() {
  2455  	xxx_messageInfo_ChunkInfoMsg.DiscardUnknown(m)
  2456  }
  2457  
  2458  var xxx_messageInfo_ChunkInfoMsg proto.InternalMessageInfo
  2459  
  2460  func (m *ChunkInfoMsg) GetChunkHash() []byte {
  2461  	if m != nil {
  2462  		return m.ChunkHash
  2463  	}
  2464  	return nil
  2465  }
  2466  
  2467  func (m *ChunkInfoMsg) GetStart() int64 {
  2468  	if m != nil {
  2469  		return m.Start
  2470  	}
  2471  	return 0
  2472  }
  2473  
  2474  func (m *ChunkInfoMsg) GetEnd() int64 {
  2475  	if m != nil {
  2476  		return m.End
  2477  	}
  2478  	return 0
  2479  }
  2480  
  2481  // ChunkInfo用于记录chunk的信息
  2482  type ChunkInfo struct {
  2483  	ChunkNum             int64    `protobuf:"varint,1,opt,name=chunkNum,proto3" json:"chunkNum,omitempty"`
  2484  	ChunkHash            []byte   `protobuf:"bytes,2,opt,name=chunkHash,proto3" json:"chunkHash,omitempty"`
  2485  	Start                int64    `protobuf:"varint,3,opt,name=start,proto3" json:"start,omitempty"`
  2486  	End                  int64    `protobuf:"varint,4,opt,name=end,proto3" json:"end,omitempty"`
  2487  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2488  	XXX_unrecognized     []byte   `json:"-"`
  2489  	XXX_sizecache        int32    `json:"-"`
  2490  }
  2491  
  2492  func (m *ChunkInfo) Reset()         { *m = ChunkInfo{} }
  2493  func (m *ChunkInfo) String() string { return proto.CompactTextString(m) }
  2494  func (*ChunkInfo) ProtoMessage()    {}
  2495  func (*ChunkInfo) Descriptor() ([]byte, []int) {
  2496  	return fileDescriptor_e9ac6287ce250c9a, []int{44}
  2497  }
  2498  
  2499  func (m *ChunkInfo) XXX_Unmarshal(b []byte) error {
  2500  	return xxx_messageInfo_ChunkInfo.Unmarshal(m, b)
  2501  }
  2502  func (m *ChunkInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2503  	return xxx_messageInfo_ChunkInfo.Marshal(b, m, deterministic)
  2504  }
  2505  func (m *ChunkInfo) XXX_Merge(src proto.Message) {
  2506  	xxx_messageInfo_ChunkInfo.Merge(m, src)
  2507  }
  2508  func (m *ChunkInfo) XXX_Size() int {
  2509  	return xxx_messageInfo_ChunkInfo.Size(m)
  2510  }
  2511  func (m *ChunkInfo) XXX_DiscardUnknown() {
  2512  	xxx_messageInfo_ChunkInfo.DiscardUnknown(m)
  2513  }
  2514  
  2515  var xxx_messageInfo_ChunkInfo proto.InternalMessageInfo
  2516  
  2517  func (m *ChunkInfo) GetChunkNum() int64 {
  2518  	if m != nil {
  2519  		return m.ChunkNum
  2520  	}
  2521  	return 0
  2522  }
  2523  
  2524  func (m *ChunkInfo) GetChunkHash() []byte {
  2525  	if m != nil {
  2526  		return m.ChunkHash
  2527  	}
  2528  	return nil
  2529  }
  2530  
  2531  func (m *ChunkInfo) GetStart() int64 {
  2532  	if m != nil {
  2533  		return m.Start
  2534  	}
  2535  	return 0
  2536  }
  2537  
  2538  func (m *ChunkInfo) GetEnd() int64 {
  2539  	if m != nil {
  2540  		return m.End
  2541  	}
  2542  	return 0
  2543  }
  2544  
  2545  //获取ChunkRecord信息
  2546  // 	 start : 获取Chunk的开始高度
  2547  //	 end :获取Chunk的结束高度
  2548  // 	 Isdetail : 是否需要获取所有Chunk Record 信息,false时候获取到chunkNum--->chunkhash的KV对,true获取全部
  2549  // 	 pid : peer列表
  2550  type ReqChunkRecords struct {
  2551  	Start                int64    `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"`
  2552  	End                  int64    `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"`
  2553  	IsDetail             bool     `protobuf:"varint,3,opt,name=isDetail,proto3" json:"isDetail,omitempty"`
  2554  	Pid                  []string `protobuf:"bytes,4,rep,name=pid,proto3" json:"pid,omitempty"`
  2555  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2556  	XXX_unrecognized     []byte   `json:"-"`
  2557  	XXX_sizecache        int32    `json:"-"`
  2558  }
  2559  
  2560  func (m *ReqChunkRecords) Reset()         { *m = ReqChunkRecords{} }
  2561  func (m *ReqChunkRecords) String() string { return proto.CompactTextString(m) }
  2562  func (*ReqChunkRecords) ProtoMessage()    {}
  2563  func (*ReqChunkRecords) Descriptor() ([]byte, []int) {
  2564  	return fileDescriptor_e9ac6287ce250c9a, []int{45}
  2565  }
  2566  
  2567  func (m *ReqChunkRecords) XXX_Unmarshal(b []byte) error {
  2568  	return xxx_messageInfo_ReqChunkRecords.Unmarshal(m, b)
  2569  }
  2570  func (m *ReqChunkRecords) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2571  	return xxx_messageInfo_ReqChunkRecords.Marshal(b, m, deterministic)
  2572  }
  2573  func (m *ReqChunkRecords) XXX_Merge(src proto.Message) {
  2574  	xxx_messageInfo_ReqChunkRecords.Merge(m, src)
  2575  }
  2576  func (m *ReqChunkRecords) XXX_Size() int {
  2577  	return xxx_messageInfo_ReqChunkRecords.Size(m)
  2578  }
  2579  func (m *ReqChunkRecords) XXX_DiscardUnknown() {
  2580  	xxx_messageInfo_ReqChunkRecords.DiscardUnknown(m)
  2581  }
  2582  
  2583  var xxx_messageInfo_ReqChunkRecords proto.InternalMessageInfo
  2584  
  2585  func (m *ReqChunkRecords) GetStart() int64 {
  2586  	if m != nil {
  2587  		return m.Start
  2588  	}
  2589  	return 0
  2590  }
  2591  
  2592  func (m *ReqChunkRecords) GetEnd() int64 {
  2593  	if m != nil {
  2594  		return m.End
  2595  	}
  2596  	return 0
  2597  }
  2598  
  2599  func (m *ReqChunkRecords) GetIsDetail() bool {
  2600  	if m != nil {
  2601  		return m.IsDetail
  2602  	}
  2603  	return false
  2604  }
  2605  
  2606  func (m *ReqChunkRecords) GetPid() []string {
  2607  	if m != nil {
  2608  		return m.Pid
  2609  	}
  2610  	return nil
  2611  }
  2612  
  2613  type PushSubscribeReq struct {
  2614  	Name          string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  2615  	URL           string `protobuf:"bytes,2,opt,name=URL,proto3" json:"URL,omitempty"`
  2616  	Encode        string `protobuf:"bytes,3,opt,name=encode,proto3" json:"encode,omitempty"`
  2617  	LastSequence  int64  `protobuf:"varint,4,opt,name=lastSequence,proto3" json:"lastSequence,omitempty"`
  2618  	LastHeight    int64  `protobuf:"varint,5,opt,name=lastHeight,proto3" json:"lastHeight,omitempty"`
  2619  	LastBlockHash string `protobuf:"bytes,6,opt,name=lastBlockHash,proto3" json:"lastBlockHash,omitempty"`
  2620  	// 0:代表区块;1:代表区块头信息;2:代表交易回执
  2621  	Type int32 `protobuf:"varint,7,opt,name=type,proto3" json:"type,omitempty"`
  2622  	//允许订阅多个类型的交易回执
  2623  	Contract             map[string]bool `protobuf:"bytes,8,rep,name=contract,proto3" json:"contract,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
  2624  	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
  2625  	XXX_unrecognized     []byte          `json:"-"`
  2626  	XXX_sizecache        int32           `json:"-"`
  2627  }
  2628  
  2629  func (m *PushSubscribeReq) Reset()         { *m = PushSubscribeReq{} }
  2630  func (m *PushSubscribeReq) String() string { return proto.CompactTextString(m) }
  2631  func (*PushSubscribeReq) ProtoMessage()    {}
  2632  func (*PushSubscribeReq) Descriptor() ([]byte, []int) {
  2633  	return fileDescriptor_e9ac6287ce250c9a, []int{46}
  2634  }
  2635  
  2636  func (m *PushSubscribeReq) XXX_Unmarshal(b []byte) error {
  2637  	return xxx_messageInfo_PushSubscribeReq.Unmarshal(m, b)
  2638  }
  2639  func (m *PushSubscribeReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2640  	return xxx_messageInfo_PushSubscribeReq.Marshal(b, m, deterministic)
  2641  }
  2642  func (m *PushSubscribeReq) XXX_Merge(src proto.Message) {
  2643  	xxx_messageInfo_PushSubscribeReq.Merge(m, src)
  2644  }
  2645  func (m *PushSubscribeReq) XXX_Size() int {
  2646  	return xxx_messageInfo_PushSubscribeReq.Size(m)
  2647  }
  2648  func (m *PushSubscribeReq) XXX_DiscardUnknown() {
  2649  	xxx_messageInfo_PushSubscribeReq.DiscardUnknown(m)
  2650  }
  2651  
  2652  var xxx_messageInfo_PushSubscribeReq proto.InternalMessageInfo
  2653  
  2654  func (m *PushSubscribeReq) GetName() string {
  2655  	if m != nil {
  2656  		return m.Name
  2657  	}
  2658  	return ""
  2659  }
  2660  
  2661  func (m *PushSubscribeReq) GetURL() string {
  2662  	if m != nil {
  2663  		return m.URL
  2664  	}
  2665  	return ""
  2666  }
  2667  
  2668  func (m *PushSubscribeReq) GetEncode() string {
  2669  	if m != nil {
  2670  		return m.Encode
  2671  	}
  2672  	return ""
  2673  }
  2674  
  2675  func (m *PushSubscribeReq) GetLastSequence() int64 {
  2676  	if m != nil {
  2677  		return m.LastSequence
  2678  	}
  2679  	return 0
  2680  }
  2681  
  2682  func (m *PushSubscribeReq) GetLastHeight() int64 {
  2683  	if m != nil {
  2684  		return m.LastHeight
  2685  	}
  2686  	return 0
  2687  }
  2688  
  2689  func (m *PushSubscribeReq) GetLastBlockHash() string {
  2690  	if m != nil {
  2691  		return m.LastBlockHash
  2692  	}
  2693  	return ""
  2694  }
  2695  
  2696  func (m *PushSubscribeReq) GetType() int32 {
  2697  	if m != nil {
  2698  		return m.Type
  2699  	}
  2700  	return 0
  2701  }
  2702  
  2703  func (m *PushSubscribeReq) GetContract() map[string]bool {
  2704  	if m != nil {
  2705  		return m.Contract
  2706  	}
  2707  	return nil
  2708  }
  2709  
  2710  type PushWithStatus struct {
  2711  	Push                 *PushSubscribeReq `protobuf:"bytes,1,opt,name=push,proto3" json:"push,omitempty"`
  2712  	Status               int32             `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"`
  2713  	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
  2714  	XXX_unrecognized     []byte            `json:"-"`
  2715  	XXX_sizecache        int32             `json:"-"`
  2716  }
  2717  
  2718  func (m *PushWithStatus) Reset()         { *m = PushWithStatus{} }
  2719  func (m *PushWithStatus) String() string { return proto.CompactTextString(m) }
  2720  func (*PushWithStatus) ProtoMessage()    {}
  2721  func (*PushWithStatus) Descriptor() ([]byte, []int) {
  2722  	return fileDescriptor_e9ac6287ce250c9a, []int{47}
  2723  }
  2724  
  2725  func (m *PushWithStatus) XXX_Unmarshal(b []byte) error {
  2726  	return xxx_messageInfo_PushWithStatus.Unmarshal(m, b)
  2727  }
  2728  func (m *PushWithStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2729  	return xxx_messageInfo_PushWithStatus.Marshal(b, m, deterministic)
  2730  }
  2731  func (m *PushWithStatus) XXX_Merge(src proto.Message) {
  2732  	xxx_messageInfo_PushWithStatus.Merge(m, src)
  2733  }
  2734  func (m *PushWithStatus) XXX_Size() int {
  2735  	return xxx_messageInfo_PushWithStatus.Size(m)
  2736  }
  2737  func (m *PushWithStatus) XXX_DiscardUnknown() {
  2738  	xxx_messageInfo_PushWithStatus.DiscardUnknown(m)
  2739  }
  2740  
  2741  var xxx_messageInfo_PushWithStatus proto.InternalMessageInfo
  2742  
  2743  func (m *PushWithStatus) GetPush() *PushSubscribeReq {
  2744  	if m != nil {
  2745  		return m.Push
  2746  	}
  2747  	return nil
  2748  }
  2749  
  2750  func (m *PushWithStatus) GetStatus() int32 {
  2751  	if m != nil {
  2752  		return m.Status
  2753  	}
  2754  	return 0
  2755  }
  2756  
  2757  type PushSubscribes struct {
  2758  	Pushes               []*PushSubscribeReq `protobuf:"bytes,1,rep,name=pushes,proto3" json:"pushes,omitempty"`
  2759  	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
  2760  	XXX_unrecognized     []byte              `json:"-"`
  2761  	XXX_sizecache        int32               `json:"-"`
  2762  }
  2763  
  2764  func (m *PushSubscribes) Reset()         { *m = PushSubscribes{} }
  2765  func (m *PushSubscribes) String() string { return proto.CompactTextString(m) }
  2766  func (*PushSubscribes) ProtoMessage()    {}
  2767  func (*PushSubscribes) Descriptor() ([]byte, []int) {
  2768  	return fileDescriptor_e9ac6287ce250c9a, []int{48}
  2769  }
  2770  
  2771  func (m *PushSubscribes) XXX_Unmarshal(b []byte) error {
  2772  	return xxx_messageInfo_PushSubscribes.Unmarshal(m, b)
  2773  }
  2774  func (m *PushSubscribes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2775  	return xxx_messageInfo_PushSubscribes.Marshal(b, m, deterministic)
  2776  }
  2777  func (m *PushSubscribes) XXX_Merge(src proto.Message) {
  2778  	xxx_messageInfo_PushSubscribes.Merge(m, src)
  2779  }
  2780  func (m *PushSubscribes) XXX_Size() int {
  2781  	return xxx_messageInfo_PushSubscribes.Size(m)
  2782  }
  2783  func (m *PushSubscribes) XXX_DiscardUnknown() {
  2784  	xxx_messageInfo_PushSubscribes.DiscardUnknown(m)
  2785  }
  2786  
  2787  var xxx_messageInfo_PushSubscribes proto.InternalMessageInfo
  2788  
  2789  func (m *PushSubscribes) GetPushes() []*PushSubscribeReq {
  2790  	if m != nil {
  2791  		return m.Pushes
  2792  	}
  2793  	return nil
  2794  }
  2795  
  2796  type ReplySubscribePush struct {
  2797  	IsOk                 bool     `protobuf:"varint,1,opt,name=isOk,proto3" json:"isOk,omitempty"`
  2798  	Msg                  string   `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"`
  2799  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2800  	XXX_unrecognized     []byte   `json:"-"`
  2801  	XXX_sizecache        int32    `json:"-"`
  2802  }
  2803  
  2804  func (m *ReplySubscribePush) Reset()         { *m = ReplySubscribePush{} }
  2805  func (m *ReplySubscribePush) String() string { return proto.CompactTextString(m) }
  2806  func (*ReplySubscribePush) ProtoMessage()    {}
  2807  func (*ReplySubscribePush) Descriptor() ([]byte, []int) {
  2808  	return fileDescriptor_e9ac6287ce250c9a, []int{49}
  2809  }
  2810  
  2811  func (m *ReplySubscribePush) XXX_Unmarshal(b []byte) error {
  2812  	return xxx_messageInfo_ReplySubscribePush.Unmarshal(m, b)
  2813  }
  2814  func (m *ReplySubscribePush) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2815  	return xxx_messageInfo_ReplySubscribePush.Marshal(b, m, deterministic)
  2816  }
  2817  func (m *ReplySubscribePush) XXX_Merge(src proto.Message) {
  2818  	xxx_messageInfo_ReplySubscribePush.Merge(m, src)
  2819  }
  2820  func (m *ReplySubscribePush) XXX_Size() int {
  2821  	return xxx_messageInfo_ReplySubscribePush.Size(m)
  2822  }
  2823  func (m *ReplySubscribePush) XXX_DiscardUnknown() {
  2824  	xxx_messageInfo_ReplySubscribePush.DiscardUnknown(m)
  2825  }
  2826  
  2827  var xxx_messageInfo_ReplySubscribePush proto.InternalMessageInfo
  2828  
  2829  func (m *ReplySubscribePush) GetIsOk() bool {
  2830  	if m != nil {
  2831  		return m.IsOk
  2832  	}
  2833  	return false
  2834  }
  2835  
  2836  func (m *ReplySubscribePush) GetMsg() string {
  2837  	if m != nil {
  2838  		return m.Msg
  2839  	}
  2840  	return ""
  2841  }
  2842  
  2843  func init() {
  2844  	proto.RegisterType((*Header)(nil), "types.Header")
  2845  	proto.RegisterType((*Block)(nil), "types.Block")
  2846  	proto.RegisterType((*Blocks)(nil), "types.Blocks")
  2847  	proto.RegisterType((*BlockSeq)(nil), "types.BlockSeq")
  2848  	proto.RegisterType((*BlockSeqs)(nil), "types.BlockSeqs")
  2849  	proto.RegisterType((*BlockPid)(nil), "types.BlockPid")
  2850  	proto.RegisterType((*BlockDetails)(nil), "types.BlockDetails")
  2851  	proto.RegisterType((*Headers)(nil), "types.Headers")
  2852  	proto.RegisterType((*HeadersPid)(nil), "types.HeadersPid")
  2853  	proto.RegisterType((*BlockOverview)(nil), "types.BlockOverview")
  2854  	proto.RegisterType((*BlockDetail)(nil), "types.BlockDetail")
  2855  	proto.RegisterType((*Receipts)(nil), "types.Receipts")
  2856  	proto.RegisterType((*ReceiptCheckTxList)(nil), "types.ReceiptCheckTxList")
  2857  	proto.RegisterType((*ChainStatus)(nil), "types.ChainStatus")
  2858  	proto.RegisterType((*ReqBlocks)(nil), "types.ReqBlocks")
  2859  	proto.RegisterType((*MempoolSize)(nil), "types.MempoolSize")
  2860  	proto.RegisterType((*ReplyBlockHeight)(nil), "types.ReplyBlockHeight")
  2861  	proto.RegisterType((*BlockBody)(nil), "types.BlockBody")
  2862  	proto.RegisterType((*BlockReceipt)(nil), "types.BlockReceipt")
  2863  	proto.RegisterType((*IsCaughtUp)(nil), "types.IsCaughtUp")
  2864  	proto.RegisterType((*IsNtpClockSync)(nil), "types.IsNtpClockSync")
  2865  	proto.RegisterType((*ChainExecutor)(nil), "types.ChainExecutor")
  2866  	proto.RegisterType((*BlockSequence)(nil), "types.BlockSequence")
  2867  	proto.RegisterType((*BlockSequences)(nil), "types.BlockSequences")
  2868  	proto.RegisterType((*ParaChainBlockDetail)(nil), "types.ParaChainBlockDetail")
  2869  	proto.RegisterType((*ParaTxDetails)(nil), "types.ParaTxDetails")
  2870  	proto.RegisterType((*ParaTxDetail)(nil), "types.ParaTxDetail")
  2871  	proto.RegisterType((*TxDetail)(nil), "types.TxDetail")
  2872  	proto.RegisterType((*ReqParaTxByTitle)(nil), "types.ReqParaTxByTitle")
  2873  	proto.RegisterType((*FileHeader)(nil), "types.FileHeader")
  2874  	proto.RegisterType((*EndBlock)(nil), "types.EndBlock")
  2875  	proto.RegisterType((*HeaderSeq)(nil), "types.HeaderSeq")
  2876  	proto.RegisterType((*HeaderSeqs)(nil), "types.HeaderSeqs")
  2877  	proto.RegisterType((*HeightPara)(nil), "types.HeightPara")
  2878  	proto.RegisterType((*HeightParas)(nil), "types.HeightParas")
  2879  	proto.RegisterType((*ChildChain)(nil), "types.ChildChain")
  2880  	proto.RegisterType((*ReqHeightByTitle)(nil), "types.ReqHeightByTitle")
  2881  	proto.RegisterType((*ReplyHeightByTitle)(nil), "types.ReplyHeightByTitle")
  2882  	proto.RegisterType((*BlockInfo)(nil), "types.BlockInfo")
  2883  	proto.RegisterType((*ReqParaTxByHeight)(nil), "types.ReqParaTxByHeight")
  2884  	proto.RegisterType((*CmpBlock)(nil), "types.CmpBlock")
  2885  	proto.RegisterType((*BlockBodys)(nil), "types.BlockBodys")
  2886  	proto.RegisterType((*ChunkRecords)(nil), "types.ChunkRecords")
  2887  	proto.RegisterType((*ChunkInfoMsg)(nil), "types.ChunkInfoMsg")
  2888  	proto.RegisterType((*ChunkInfo)(nil), "types.ChunkInfo")
  2889  	proto.RegisterType((*ReqChunkRecords)(nil), "types.ReqChunkRecords")
  2890  	proto.RegisterType((*PushSubscribeReq)(nil), "types.PushSubscribeReq")
  2891  	proto.RegisterMapType((map[string]bool)(nil), "types.PushSubscribeReq.ContractEntry")
  2892  	proto.RegisterType((*PushWithStatus)(nil), "types.PushWithStatus")
  2893  	proto.RegisterType((*PushSubscribes)(nil), "types.PushSubscribes")
  2894  	proto.RegisterType((*ReplySubscribePush)(nil), "types.ReplySubscribePush")
  2895  }
  2896  
  2897  func init() {
  2898  	proto.RegisterFile("blockchain.proto", fileDescriptor_e9ac6287ce250c9a)
  2899  }
  2900  
  2901  var fileDescriptor_e9ac6287ce250c9a = []byte{
  2902  	// 1800 bytes of a gzipped FileDescriptorProto
  2903  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x58, 0x5f, 0x8f, 0x1b, 0x49,
  2904  	0x11, 0xd7, 0xcc, 0xd8, 0x5e, 0xbb, 0xbc, 0xde, 0xdb, 0x0c, 0x2b, 0xb0, 0x56, 0x70, 0xb7, 0xd7,
  2905  	0xe4, 0x82, 0x09, 0xc1, 0x41, 0xbb, 0xa7, 0x5c, 0x14, 0x90, 0xe0, 0xe2, 0x04, 0xed, 0x2a, 0x77,
  2906  	0xb9, 0x30, 0xbb, 0x09, 0x12, 0x6f, 0xb3, 0xe3, 0x5e, 0x7b, 0x58, 0xcf, 0x1f, 0x4f, 0xf7, 0x2c,
  2907  	0xf6, 0x3d, 0xf1, 0x8c, 0xc4, 0x17, 0x41, 0x7c, 0x0c, 0x5e, 0x78, 0xb9, 0xaf, 0xc0, 0x57, 0x41,
  2908  	0x55, 0xdd, 0x3d, 0xd3, 0xe3, 0x78, 0x43, 0x22, 0xc4, 0x03, 0x6f, 0x5d, 0xd5, 0x55, 0x5d, 0xbf,
  2909  	0xaa, 0xae, 0xaa, 0xae, 0x19, 0xd8, 0xbf, 0x5c, 0x64, 0xd1, 0x75, 0x34, 0x0f, 0xe3, 0x74, 0x9c,
  2910  	0x17, 0x99, 0xcc, 0xfc, 0xb6, 0x5c, 0xe7, 0x5c, 0x1c, 0xde, 0x91, 0x45, 0x98, 0x8a, 0x30, 0x92,
  2911  	0x71, 0xa6, 0x77, 0x0e, 0x77, 0xa3, 0x2c, 0x49, 0x0c, 0xc5, 0xfe, 0xee, 0x42, 0xe7, 0x94, 0x87,
  2912  	0x53, 0x5e, 0xf8, 0x43, 0xd8, 0xb9, 0xe1, 0x85, 0x88, 0xb3, 0x74, 0xe8, 0x1c, 0x39, 0x23, 0x2f,
  2913  	0x30, 0xa4, 0xff, 0x31, 0x40, 0x1e, 0x16, 0x3c, 0x95, 0xa7, 0xa1, 0x98, 0x0f, 0xdd, 0x23, 0x67,
  2914  	0xb4, 0x1b, 0x58, 0x1c, 0xff, 0xfb, 0xd0, 0x91, 0x2b, 0xda, 0xf3, 0x68, 0x4f, 0x53, 0xfe, 0x0f,
  2915  	0xa1, 0x27, 0x64, 0x28, 0x39, 0x6d, 0xb5, 0x68, 0xab, 0x66, 0xa0, 0xd6, 0x9c, 0xc7, 0xb3, 0xb9,
  2916  	0x1c, 0xb6, 0xc9, 0x9c, 0xa6, 0x50, 0x8b, 0xdc, 0xb9, 0x88, 0x13, 0x3e, 0xec, 0xd0, 0x56, 0xcd,
  2917  	0x40, 0x94, 0x72, 0x35, 0xc9, 0xca, 0x54, 0x0e, 0x7b, 0x0a, 0xa5, 0x26, 0x7d, 0x1f, 0x5a, 0x73,
  2918  	0x34, 0x04, 0x64, 0x88, 0xd6, 0x88, 0x7c, 0x1a, 0x5f, 0x5d, 0xc5, 0x51, 0xb9, 0x90, 0xeb, 0x61,
  2919  	0xff, 0xc8, 0x19, 0x0d, 0x02, 0x8b, 0xe3, 0x8f, 0xa1, 0x27, 0xe2, 0x59, 0x1a, 0xca, 0xb2, 0xe0,
  2920  	0xc3, 0xee, 0x91, 0x33, 0xea, 0x1f, 0xef, 0x8f, 0x29, 0x74, 0xe3, 0x73, 0xc3, 0x0f, 0x6a, 0x11,
  2921  	0xf6, 0x2f, 0x17, 0xda, 0x4f, 0x11, 0xcb, 0xff, 0x49, 0xb4, 0xfe, 0x93, 0xff, 0x87, 0xd0, 0x4d,
  2922  	0xc2, 0x38, 0x25, 0x93, 0xbb, 0x64, 0xb2, 0xa2, 0x51, 0x97, 0xd6, 0xca, 0xea, 0x80, 0x8e, 0xb6,
  2923  	0x38, 0x1f, 0x1a, 0x3b, 0xff, 0x2e, 0x78, 0x72, 0x25, 0x86, 0x3b, 0x47, 0xde, 0xa8, 0x7f, 0xec,
  2924  	0x6b, 0xc9, 0x8b, 0x3a, 0x3f, 0x03, 0xdc, 0x66, 0x0f, 0xa0, 0x43, 0x01, 0x16, 0x3e, 0x83, 0x76,
  2925  	0x2c, 0x79, 0x22, 0x86, 0x0e, 0x69, 0xec, 0x6a, 0x0d, 0xda, 0x0d, 0xd4, 0x16, 0xcb, 0xa1, 0x4b,
  2926  	0xf4, 0x39, 0x5f, 0xfa, 0xfb, 0xe0, 0xa5, 0x65, 0xa2, 0x6f, 0x03, 0x97, 0xfe, 0x3d, 0xf0, 0x04,
  2927  	0x5f, 0xd2, 0x15, 0xf4, 0x8f, 0x0f, 0x6c, 0xfd, 0x73, 0xbe, 0x2c, 0x79, 0x1a, 0xf1, 0x00, 0x05,
  2928  	0xfc, 0xfb, 0xd0, 0x99, 0x72, 0x19, 0xc6, 0x0b, 0xba, 0x91, 0x1a, 0x1c, 0x89, 0x3e, 0xa3, 0x9d,
  2929  	0x40, 0x4b, 0xb0, 0x5f, 0x40, 0xcf, 0x9c, 0x20, 0xfc, 0x1f, 0x43, 0x4b, 0xf0, 0xa5, 0x41, 0xf8,
  2930  	0xd1, 0x86, 0x85, 0x80, 0x36, 0xd9, 0x6f, 0x34, 0xc6, 0x57, 0xf1, 0x14, 0x31, 0xe6, 0xf1, 0x94,
  2931  	0x30, 0xf6, 0x02, 0x5c, 0xa2, 0x97, 0x74, 0x5d, 0x1a, 0xe5, 0x86, 0x97, 0xb4, 0xc5, 0x1e, 0xc3,
  2932  	0xae, 0x05, 0x45, 0xf8, 0xa3, 0x66, 0x64, 0xb6, 0xc1, 0xd5, 0xf1, 0x19, 0xc3, 0x8e, 0xaa, 0x6e,
  2933  	0xc4, 0xda, 0x50, 0x1a, 0x68, 0x25, 0xb5, 0x6d, 0xe4, 0x4f, 0x01, 0xb4, 0xfc, 0x76, 0xb4, 0x23,
  2934  	0xd8, 0x99, 0xab, 0x7d, 0x8d, 0x77, 0xaf, 0x71, 0x8c, 0x08, 0xcc, 0x36, 0x9b, 0xc3, 0x80, 0xf0,
  2935  	0x7c, 0x73, 0xc3, 0x8b, 0x9b, 0x98, 0xff, 0xc9, 0xff, 0x14, 0x5a, 0xb8, 0x47, 0xa7, 0xbd, 0x65,
  2936  	0x9e, 0xb6, 0xec, 0xda, 0x76, 0x9b, 0xb5, 0x7d, 0x08, 0x5d, 0x55, 0x25, 0x5c, 0x0c, 0xbd, 0x23,
  2937  	0x0f, 0xf3, 0xd4, 0xd0, 0xec, 0x6f, 0x0e, 0xf4, 0x2d, 0xd7, 0xeb, 0x88, 0x3a, 0xb7, 0x46, 0xd4,
  2938  	0x1f, 0x43, 0xb7, 0xe0, 0x11, 0x8f, 0x73, 0x89, 0x8e, 0xd8, 0x41, 0x0c, 0x14, 0xfb, 0x59, 0x28,
  2939  	0xc3, 0xa0, 0x92, 0xf1, 0x3f, 0x01, 0xf7, 0xc5, 0x1b, 0xb2, 0x5c, 0x5f, 0xf3, 0x0b, 0xbe, 0x7e,
  2940  	0x13, 0x2e, 0x4a, 0x1e, 0xb8, 0x2f, 0xde, 0xf8, 0xf7, 0x60, 0x2f, 0x2f, 0xf8, 0xcd, 0xb9, 0x0c,
  2941  	0x65, 0x29, 0xac, 0x0a, 0xde, 0xe0, 0xb2, 0x47, 0xd0, 0x0d, 0xcc, 0xa1, 0xf7, 0x2d, 0x10, 0xea,
  2942  	0x52, 0xf6, 0x9a, 0x20, 0x6a, 0x00, 0x6c, 0x04, 0xbe, 0x66, 0x4e, 0xe6, 0x3c, 0xba, 0xbe, 0x58,
  2943  	0x7d, 0x15, 0x0b, 0x6a, 0x79, 0xbc, 0x28, 0x94, 0x76, 0x2f, 0xa0, 0x35, 0x5b, 0x43, 0x7f, 0x82,
  2944  	0x0f, 0x81, 0x32, 0xea, 0xdf, 0x85, 0x41, 0x54, 0x16, 0xd4, 0x7c, 0x54, 0x21, 0xab, 0xfa, 0x68,
  2945  	0x32, 0xfd, 0x23, 0xe8, 0x27, 0x3c, 0xc9, 0xb3, 0x6c, 0x71, 0x1e, 0x7f, 0xcb, 0x75, 0xf4, 0x6d,
  2946  	0x96, 0xcf, 0x60, 0x37, 0x11, 0xb3, 0xdf, 0x95, 0xbc, 0xe4, 0x24, 0xe2, 0x91, 0x48, 0x83, 0xc7,
  2947  	0x42, 0xe8, 0x05, 0x7c, 0xa9, 0xcb, 0xf7, 0x00, 0xda, 0x42, 0x86, 0x85, 0x31, 0xa8, 0x08, 0x4c,
  2948  	0x29, 0x9e, 0x4e, 0xb5, 0x01, 0x5c, 0xe2, 0xd5, 0xc6, 0xe2, 0x59, 0x5d, 0x7e, 0xdd, 0xa0, 0xa2,
  2949  	0x4d, 0x02, 0xb6, 0xc8, 0x3d, 0x5c, 0xb2, 0x4f, 0xa1, 0xff, 0xb5, 0x85, 0xca, 0x87, 0x96, 0x40,
  2950  	0x34, 0xca, 0x06, 0xad, 0xd9, 0x7d, 0xd8, 0x0f, 0x78, 0xbe, 0x58, 0x13, 0x0e, 0xed, 0x5f, 0xdd,
  2951  	0x3d, 0x1d, 0xbb, 0x7b, 0xb2, 0x7f, 0x3a, 0xba, 0x9c, 0x9f, 0x66, 0xd3, 0xb5, 0xe9, 0x50, 0xce,
  2952  	0x3b, 0x3b, 0xd4, 0x07, 0xe7, 0x8e, 0xdd, 0x63, 0xbd, 0x77, 0xf6, 0xd8, 0xd6, 0x5b, 0x3d, 0xd6,
  2953  	0xbc, 0x69, 0x6d, 0xeb, 0x4d, 0xab, 0x7d, 0xe9, 0x34, 0x7c, 0xf9, 0xa3, 0xee, 0x12, 0x1a, 0x45,
  2954  	0x03, 0xa7, 0xf3, 0x1e, 0x38, 0x8d, 0x2d, 0x77, 0xab, 0x2d, 0xaf, 0x61, 0xeb, 0x01, 0xc0, 0x99,
  2955  	0x98, 0x84, 0xe5, 0x6c, 0x2e, 0x5f, 0xe7, 0xe8, 0xc5, 0x99, 0x88, 0x88, 0x2a, 0x73, 0x8a, 0x70,
  2956  	0x37, 0xb0, 0x38, 0xec, 0x31, 0xec, 0x9d, 0x89, 0x97, 0x32, 0x9f, 0x50, 0x63, 0x5c, 0xa7, 0x11,
  2957  	0x96, 0x4b, 0x2c, 0x52, 0x99, 0x47, 0x94, 0x2b, 0xeb, 0x34, 0xd2, 0x5a, 0x1b, 0x5c, 0xf6, 0x57,
  2958  	0x07, 0x06, 0x94, 0xcd, 0xcf, 0x57, 0x3c, 0x2a, 0x65, 0x56, 0x20, 0xa2, 0x69, 0x11, 0xdf, 0xf0,
  2959  	0x42, 0xb7, 0x25, 0x4d, 0x61, 0x94, 0xaf, 0xca, 0x34, 0x7a, 0x19, 0x26, 0x2a, 0x7d, 0x7b, 0x41,
  2960  	0x45, 0x37, 0x5f, 0x56, 0x6f, 0xf3, 0x65, 0x3d, 0x80, 0x76, 0x1e, 0x16, 0x61, 0xa2, 0x2b, 0x56,
  2961  	0x11, 0xc8, 0xe5, 0x2b, 0x59, 0x84, 0x3a, 0xf4, 0x8a, 0x60, 0x5f, 0xe8, 0xae, 0x66, 0xde, 0x0f,
  2962  	0x0c, 0x1a, 0x9d, 0xea, 0xa8, 0xa0, 0xd1, 0x81, 0x3e, 0xb4, 0x2e, 0xd6, 0xb9, 0xa9, 0x22, 0x5a,
  2963  	0xb3, 0x5f, 0xc1, 0x5e, 0x43, 0x11, 0xab, 0xbf, 0xd1, 0x8f, 0xb7, 0x3f, 0x4f, 0xba, 0x2d, 0xff,
  2964  	0xd9, 0x81, 0x83, 0x57, 0x61, 0x11, 0x52, 0x28, 0xec, 0x5e, 0xf7, 0x39, 0xf4, 0xa9, 0xa1, 0xe9,
  2965  	0xe7, 0xcb, 0xb9, 0xf5, 0xf9, 0xb2, 0xc5, 0x30, 0x56, 0x42, 0x5b, 0xd0, 0x20, 0x2b, 0x1a, 0xe3,
  2966  	0x1b, 0x0b, 0xbc, 0x23, 0x5d, 0x8c, 0x9a, 0x62, 0x4f, 0x60, 0x80, 0x08, 0x2e, 0x56, 0xe6, 0x11,
  2967  	0xfa, 0x69, 0x13, 0xff, 0xf7, 0xb4, 0x51, 0x5b, 0xc8, 0xc0, 0xff, 0x87, 0x03, 0xbb, 0x36, 0x1f,
  2968  	0x23, 0x84, 0xd2, 0xa6, 0x6c, 0x71, 0xed, 0x7f, 0x86, 0xa9, 0x86, 0x8f, 0x81, 0x7e, 0x59, 0x36,
  2969  	0x5e, 0x08, 0xbd, 0xe9, 0xff, 0x1c, 0x7a, 0xd2, 0x60, 0xd8, 0x68, 0xc8, 0x95, 0xd9, 0x5a, 0x02,
  2970  	0xaf, 0x3e, 0x9a, 0xc7, 0x8b, 0xa9, 0x3d, 0x54, 0x55, 0x0c, 0xbc, 0xe4, 0x38, 0x9d, 0xf2, 0x15,
  2971  	0x5d, 0xf2, 0x20, 0x50, 0x04, 0x86, 0x20, 0x2f, 0xb2, 0xec, 0x4a, 0x0c, 0x3b, 0xf4, 0xd4, 0x68,
  2972  	0x8a, 0xfd, 0xc5, 0x81, 0x6e, 0xe5, 0x42, 0xa5, 0xea, 0xd8, 0xaa, 0x0c, 0x5c, 0xb9, 0xd2, 0x0e,
  2973  	0x6c, 0x6b, 0x20, 0xae, 0x5c, 0xf9, 0x0f, 0x60, 0x47, 0xd7, 0xdc, 0xc6, 0xb8, 0x61, 0x97, 0xa5,
  2974  	0x11, 0xb1, 0xc0, 0xb4, 0x1a, 0x60, 0xae, 0xb0, 0xcb, 0x2d, 0x55, 0x54, 0x9f, 0xae, 0x2f, 0x62,
  2975  	0xb9, 0xe0, 0xef, 0xdd, 0x72, 0x0f, 0xa0, 0x2d, 0x51, 0x81, 0xec, 0xf7, 0x02, 0x45, 0x90, 0x47,
  2976  	0xe2, 0x9c, 0x2f, 0x29, 0x4c, 0xdd, 0x40, 0x11, 0xec, 0x06, 0xe0, 0xb7, 0xf1, 0x82, 0xeb, 0x6f,
  2977  	0x84, 0x23, 0xe8, 0xd3, 0xa1, 0x8d, 0xb7, 0xc4, 0x66, 0x59, 0xf5, 0xe9, 0x36, 0xea, 0x73, 0xbb,
  2978  	0x4d, 0x7c, 0xf1, 0xb9, 0x90, 0x2f, 0xb9, 0xd4, 0x56, 0x0d, 0x89, 0x0f, 0xe5, 0xf3, 0x74, 0xaa,
  2979  	0x66, 0xed, 0x5b, 0xba, 0xf7, 0xb6, 0x8e, 0xc5, 0x16, 0xd0, 0x53, 0x58, 0xff, 0xbb, 0x91, 0xb0,
  2980  	0xce, 0x46, 0xef, 0x1d, 0xd9, 0xc8, 0x8e, 0xcd, 0xbc, 0x44, 0xe3, 0xe0, 0xdd, 0xc6, 0x38, 0xb8,
  2981  	0xdf, 0x50, 0xa9, 0xe7, 0xc1, 0xef, 0x1c, 0x54, 0x42, 0x07, 0xf0, 0xf6, 0x6e, 0x75, 0xae, 0x0a,
  2982  	0x98, 0x6b, 0x07, 0xcc, 0xb8, 0xec, 0x59, 0x4d, 0xfa, 0xdd, 0x39, 0xfe, 0x31, 0x00, 0xdd, 0xcf,
  2983  	0x59, 0x95, 0xe8, 0xed, 0xc0, 0xe2, 0x60, 0x2b, 0xae, 0x84, 0x95, 0x4c, 0x87, 0x32, 0x7a, 0x83,
  2984  	0x6b, 0x0f, 0x67, 0x3b, 0x74, 0x88, 0x21, 0xd9, 0x23, 0xe8, 0xd7, 0xfe, 0x08, 0xff, 0x27, 0xcd,
  2985  	0xc6, 0x70, 0xa7, 0x0a, 0x83, 0x11, 0x31, 0x6d, 0xe1, 0x5b, 0x80, 0x09, 0xda, 0xa0, 0xae, 0x56,
  2986  	0xfb, 0xeb, 0xd8, 0xfe, 0x36, 0xd1, 0xbb, 0x6f, 0xa1, 0x6f, 0xf8, 0xee, 0x6d, 0xfa, 0x6e, 0x61,
  2987  	0x6e, 0x35, 0x31, 0x4b, 0x2a, 0x1f, 0x85, 0xc9, 0x94, 0xcf, 0x87, 0xdd, 0xc4, 0x01, 0xb4, 0x23,
  2988  	0x3a, 0xd9, 0xa3, 0x93, 0x15, 0x81, 0x78, 0xa6, 0x71, 0xc1, 0xa9, 0xda, 0xb5, 0xcd, 0x9a, 0xc1,
  2989  	0x02, 0x9c, 0xe2, 0xf2, 0xc5, 0xba, 0x69, 0x77, 0xbb, 0xe7, 0xf7, 0x4c, 0x18, 0xdd, 0x46, 0x36,
  2990  	0x51, 0xae, 0x9e, 0xa5, 0x57, 0x99, 0x89, 0xe2, 0x17, 0x7a, 0x82, 0x41, 0xde, 0x07, 0x55, 0xca,
  2991  	0xaf, 0xe1, 0x8e, 0xd5, 0x41, 0x4e, 0x2b, 0x5f, 0xeb, 0xcb, 0xf3, 0xb4, 0x8d, 0xed, 0x11, 0x60,
  2992  	0xa7, 0xd0, 0x9d, 0x24, 0xb9, 0x2a, 0xd1, 0xf7, 0x19, 0xba, 0x87, 0xb0, 0x13, 0x25, 0xb9, 0xf5,
  2993  	0x55, 0x6c, 0x48, 0xf6, 0x39, 0x40, 0x35, 0x85, 0x89, 0xda, 0x73, 0xe7, 0x6d, 0xcf, 0x51, 0xc2,
  2994  	0x78, 0xfe, 0x08, 0x76, 0x27, 0xf3, 0x32, 0xc5, 0x81, 0x27, 0x2b, 0xa6, 0x4a, 0x2f, 0xbd, 0xca,
  2995  	0x36, 0xf5, 0x48, 0x46, 0x47, 0x0c, 0xb7, 0xd9, 0x85, 0xd6, 0x43, 0xde, 0xd7, 0x62, 0xa6, 0x72,
  2996  	0xa8, 0x4c, 0xaf, 0xad, 0x87, 0xbc, 0x66, 0xd4, 0x4d, 0xd5, 0xdd, 0xd2, 0x54, 0xbd, 0xaa, 0xa9,
  2997  	0xb2, 0x04, 0x7a, 0xd5, 0xa9, 0xf8, 0xc2, 0xd2, 0x09, 0x2f, 0xab, 0xee, 0x53, 0xd1, 0x4d, 0x73,
  2998  	0xee, 0xad, 0xe6, 0xbc, 0x2d, 0xe6, 0x5a, 0xb5, 0xb9, 0x19, 0x7c, 0x14, 0xf0, 0x65, 0xc3, 0xff,
  2999  	0xff, 0xcd, 0xc4, 0xfd, 0x9d, 0x0b, 0xfb, 0xaf, 0x4a, 0x31, 0x3f, 0x2f, 0x2f, 0x45, 0x54, 0xc4,
  3000  	0x97, 0x3c, 0xe0, 0x4b, 0xcc, 0xa7, 0x14, 0x27, 0x2d, 0x95, 0xb1, 0xb4, 0x46, 0xd5, 0xd7, 0xc1,
  3001  	0x57, 0x3a, 0x45, 0x70, 0x89, 0xd9, 0xc8, 0xd3, 0x28, 0x9b, 0x9a, 0xa6, 0xaf, 0x29, 0xfc, 0x96,
  3002  	0x58, 0x84, 0x42, 0x9a, 0x8e, 0xab, 0xdd, 0x6a, 0xf0, 0xb0, 0xf0, 0x91, 0x3e, 0xb5, 0xff, 0x79,
  3003  	0x58, 0x1c, 0xfc, 0xae, 0x41, 0x4a, 0x0d, 0xf9, 0x18, 0xc9, 0x0e, 0x99, 0x68, 0x32, 0xab, 0x41,
  3004  	0x43, 0x75, 0x2c, 0x35, 0x68, 0x7c, 0x09, 0xdd, 0x28, 0x4b, 0x65, 0x11, 0x46, 0x72, 0xd8, 0xa5,
  3005  	0x4c, 0xf9, 0xcc, 0xcc, 0x2e, 0x1b, 0x6e, 0x8e, 0x27, 0x5a, 0xee, 0x79, 0x2a, 0x8b, 0x75, 0x50,
  3006  	0xa9, 0x1d, 0xfe, 0x12, 0x06, 0x8d, 0x2d, 0xf4, 0xfd, 0x9a, 0xaf, 0xcd, 0x97, 0xf2, 0x35, 0x5f,
  3007  	0xe3, 0x65, 0xdc, 0xe0, 0xd7, 0x21, 0xc5, 0xa3, 0x1b, 0x28, 0xe2, 0x89, 0xfb, 0xd8, 0x61, 0xaf,
  3008  	0x61, 0x0f, 0x0d, 0xfd, 0x3e, 0x96, 0x73, 0xfd, 0x8d, 0xf6, 0x33, 0x68, 0xe5, 0xa5, 0xce, 0xbd,
  3009  	0xfe, 0xf1, 0x0f, 0x6e, 0x41, 0x13, 0x90, 0x10, 0x06, 0x55, 0x90, 0x9a, 0xee, 0x86, 0x9a, 0x62,
  3010  	0x5f, 0xaa, 0x63, 0x2b, 0x0d, 0xe1, 0x3f, 0x84, 0x0e, 0x6a, 0x70, 0x53, 0x10, 0xb7, 0x1e, 0xac,
  3011  	0xc5, 0xd8, 0x13, 0xdd, 0x9e, 0xaa, 0x4d, 0x94, 0xc4, 0x18, 0xc6, 0xe2, 0x9b, 0x6b, 0x3d, 0xa1,
  3012  	0xd3, 0x1a, 0xfd, 0x4d, 0xc4, 0xcc, 0xdc, 0x75, 0x22, 0x66, 0x4f, 0x3f, 0xf9, 0xc3, 0x8f, 0x66,
  3013  	0xb1, 0x9c, 0x97, 0x97, 0xe3, 0x28, 0x4b, 0x1e, 0x9e, 0x9c, 0x44, 0xe9, 0x43, 0xfa, 0x1f, 0x79,
  3014  	0x72, 0xf2, 0x90, 0xac, 0x5e, 0x76, 0xe8, 0x87, 0xe3, 0xc9, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff,
  3015  	0xd5, 0x6a, 0x77, 0xb7, 0xac, 0x14, 0x00, 0x00,
  3016  }