github.com/supragya/TendermintConnector@v0.0.0-20210619045051-113e32b84fb1/chains/cosmos/proto/tendermint/crypto/proof.pb.go (about)

     1  // Code generated by protoc-gen-gogo. DO NOT EDIT.
     2  // source: tendermint/crypto/proof.proto
     3  
     4  package crypto
     5  
     6  import (
     7  	fmt "fmt"
     8  	_ "github.com/gogo/protobuf/gogoproto"
     9  	proto "github.com/gogo/protobuf/proto"
    10  	io "io"
    11  	math "math"
    12  	math_bits "math/bits"
    13  )
    14  
    15  // Reference imports to suppress errors if they are not otherwise used.
    16  var _ = proto.Marshal
    17  var _ = fmt.Errorf
    18  var _ = math.Inf
    19  
    20  // This is a compile-time assertion to ensure that this generated file
    21  // is compatible with the proto package it is being compiled against.
    22  // A compilation error at this line likely means your copy of the
    23  // proto package needs to be updated.
    24  const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
    25  
    26  type Proof struct {
    27  	Total    int64    `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
    28  	Index    int64    `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"`
    29  	LeafHash []byte   `protobuf:"bytes,3,opt,name=leaf_hash,json=leafHash,proto3" json:"leaf_hash,omitempty"`
    30  	Aunts    [][]byte `protobuf:"bytes,4,rep,name=aunts,proto3" json:"aunts,omitempty"`
    31  }
    32  
    33  func (m *Proof) Reset()         { *m = Proof{} }
    34  func (m *Proof) String() string { return proto.CompactTextString(m) }
    35  func (*Proof) ProtoMessage()    {}
    36  func (*Proof) Descriptor() ([]byte, []int) {
    37  	return fileDescriptor_6b60b6ba2ab5b856, []int{0}
    38  }
    39  func (m *Proof) XXX_Unmarshal(b []byte) error {
    40  	return m.Unmarshal(b)
    41  }
    42  func (m *Proof) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    43  	if deterministic {
    44  		return xxx_messageInfo_Proof.Marshal(b, m, deterministic)
    45  	} else {
    46  		b = b[:cap(b)]
    47  		n, err := m.MarshalToSizedBuffer(b)
    48  		if err != nil {
    49  			return nil, err
    50  		}
    51  		return b[:n], nil
    52  	}
    53  }
    54  func (m *Proof) XXX_Merge(src proto.Message) {
    55  	xxx_messageInfo_Proof.Merge(m, src)
    56  }
    57  func (m *Proof) XXX_Size() int {
    58  	return m.Size()
    59  }
    60  func (m *Proof) XXX_DiscardUnknown() {
    61  	xxx_messageInfo_Proof.DiscardUnknown(m)
    62  }
    63  
    64  var xxx_messageInfo_Proof proto.InternalMessageInfo
    65  
    66  func (m *Proof) GetTotal() int64 {
    67  	if m != nil {
    68  		return m.Total
    69  	}
    70  	return 0
    71  }
    72  
    73  func (m *Proof) GetIndex() int64 {
    74  	if m != nil {
    75  		return m.Index
    76  	}
    77  	return 0
    78  }
    79  
    80  func (m *Proof) GetLeafHash() []byte {
    81  	if m != nil {
    82  		return m.LeafHash
    83  	}
    84  	return nil
    85  }
    86  
    87  func (m *Proof) GetAunts() [][]byte {
    88  	if m != nil {
    89  		return m.Aunts
    90  	}
    91  	return nil
    92  }
    93  
    94  type ValueOp struct {
    95  	// Encoded in ProofOp.Key.
    96  	Key []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
    97  	// To encode in ProofOp.Data
    98  	Proof *Proof `protobuf:"bytes,2,opt,name=proof,proto3" json:"proof,omitempty"`
    99  }
   100  
   101  func (m *ValueOp) Reset()         { *m = ValueOp{} }
   102  func (m *ValueOp) String() string { return proto.CompactTextString(m) }
   103  func (*ValueOp) ProtoMessage()    {}
   104  func (*ValueOp) Descriptor() ([]byte, []int) {
   105  	return fileDescriptor_6b60b6ba2ab5b856, []int{1}
   106  }
   107  func (m *ValueOp) XXX_Unmarshal(b []byte) error {
   108  	return m.Unmarshal(b)
   109  }
   110  func (m *ValueOp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   111  	if deterministic {
   112  		return xxx_messageInfo_ValueOp.Marshal(b, m, deterministic)
   113  	} else {
   114  		b = b[:cap(b)]
   115  		n, err := m.MarshalToSizedBuffer(b)
   116  		if err != nil {
   117  			return nil, err
   118  		}
   119  		return b[:n], nil
   120  	}
   121  }
   122  func (m *ValueOp) XXX_Merge(src proto.Message) {
   123  	xxx_messageInfo_ValueOp.Merge(m, src)
   124  }
   125  func (m *ValueOp) XXX_Size() int {
   126  	return m.Size()
   127  }
   128  func (m *ValueOp) XXX_DiscardUnknown() {
   129  	xxx_messageInfo_ValueOp.DiscardUnknown(m)
   130  }
   131  
   132  var xxx_messageInfo_ValueOp proto.InternalMessageInfo
   133  
   134  func (m *ValueOp) GetKey() []byte {
   135  	if m != nil {
   136  		return m.Key
   137  	}
   138  	return nil
   139  }
   140  
   141  func (m *ValueOp) GetProof() *Proof {
   142  	if m != nil {
   143  		return m.Proof
   144  	}
   145  	return nil
   146  }
   147  
   148  type DominoOp struct {
   149  	Key    string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
   150  	Input  string `protobuf:"bytes,2,opt,name=input,proto3" json:"input,omitempty"`
   151  	Output string `protobuf:"bytes,3,opt,name=output,proto3" json:"output,omitempty"`
   152  }
   153  
   154  func (m *DominoOp) Reset()         { *m = DominoOp{} }
   155  func (m *DominoOp) String() string { return proto.CompactTextString(m) }
   156  func (*DominoOp) ProtoMessage()    {}
   157  func (*DominoOp) Descriptor() ([]byte, []int) {
   158  	return fileDescriptor_6b60b6ba2ab5b856, []int{2}
   159  }
   160  func (m *DominoOp) XXX_Unmarshal(b []byte) error {
   161  	return m.Unmarshal(b)
   162  }
   163  func (m *DominoOp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   164  	if deterministic {
   165  		return xxx_messageInfo_DominoOp.Marshal(b, m, deterministic)
   166  	} else {
   167  		b = b[:cap(b)]
   168  		n, err := m.MarshalToSizedBuffer(b)
   169  		if err != nil {
   170  			return nil, err
   171  		}
   172  		return b[:n], nil
   173  	}
   174  }
   175  func (m *DominoOp) XXX_Merge(src proto.Message) {
   176  	xxx_messageInfo_DominoOp.Merge(m, src)
   177  }
   178  func (m *DominoOp) XXX_Size() int {
   179  	return m.Size()
   180  }
   181  func (m *DominoOp) XXX_DiscardUnknown() {
   182  	xxx_messageInfo_DominoOp.DiscardUnknown(m)
   183  }
   184  
   185  var xxx_messageInfo_DominoOp proto.InternalMessageInfo
   186  
   187  func (m *DominoOp) GetKey() string {
   188  	if m != nil {
   189  		return m.Key
   190  	}
   191  	return ""
   192  }
   193  
   194  func (m *DominoOp) GetInput() string {
   195  	if m != nil {
   196  		return m.Input
   197  	}
   198  	return ""
   199  }
   200  
   201  func (m *DominoOp) GetOutput() string {
   202  	if m != nil {
   203  		return m.Output
   204  	}
   205  	return ""
   206  }
   207  
   208  // ProofOp defines an operation used for calculating Merkle root
   209  // The data could be arbitrary format, providing nessecary data
   210  // for example neighbouring node hash
   211  type ProofOp struct {
   212  	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
   213  	Key  []byte `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
   214  	Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
   215  }
   216  
   217  func (m *ProofOp) Reset()         { *m = ProofOp{} }
   218  func (m *ProofOp) String() string { return proto.CompactTextString(m) }
   219  func (*ProofOp) ProtoMessage()    {}
   220  func (*ProofOp) Descriptor() ([]byte, []int) {
   221  	return fileDescriptor_6b60b6ba2ab5b856, []int{3}
   222  }
   223  func (m *ProofOp) XXX_Unmarshal(b []byte) error {
   224  	return m.Unmarshal(b)
   225  }
   226  func (m *ProofOp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   227  	if deterministic {
   228  		return xxx_messageInfo_ProofOp.Marshal(b, m, deterministic)
   229  	} else {
   230  		b = b[:cap(b)]
   231  		n, err := m.MarshalToSizedBuffer(b)
   232  		if err != nil {
   233  			return nil, err
   234  		}
   235  		return b[:n], nil
   236  	}
   237  }
   238  func (m *ProofOp) XXX_Merge(src proto.Message) {
   239  	xxx_messageInfo_ProofOp.Merge(m, src)
   240  }
   241  func (m *ProofOp) XXX_Size() int {
   242  	return m.Size()
   243  }
   244  func (m *ProofOp) XXX_DiscardUnknown() {
   245  	xxx_messageInfo_ProofOp.DiscardUnknown(m)
   246  }
   247  
   248  var xxx_messageInfo_ProofOp proto.InternalMessageInfo
   249  
   250  func (m *ProofOp) GetType() string {
   251  	if m != nil {
   252  		return m.Type
   253  	}
   254  	return ""
   255  }
   256  
   257  func (m *ProofOp) GetKey() []byte {
   258  	if m != nil {
   259  		return m.Key
   260  	}
   261  	return nil
   262  }
   263  
   264  func (m *ProofOp) GetData() []byte {
   265  	if m != nil {
   266  		return m.Data
   267  	}
   268  	return nil
   269  }
   270  
   271  // ProofOps is Merkle proof defined by the list of ProofOps
   272  type ProofOps struct {
   273  	Ops []ProofOp `protobuf:"bytes,1,rep,name=ops,proto3" json:"ops"`
   274  }
   275  
   276  func (m *ProofOps) Reset()         { *m = ProofOps{} }
   277  func (m *ProofOps) String() string { return proto.CompactTextString(m) }
   278  func (*ProofOps) ProtoMessage()    {}
   279  func (*ProofOps) Descriptor() ([]byte, []int) {
   280  	return fileDescriptor_6b60b6ba2ab5b856, []int{4}
   281  }
   282  func (m *ProofOps) XXX_Unmarshal(b []byte) error {
   283  	return m.Unmarshal(b)
   284  }
   285  func (m *ProofOps) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   286  	if deterministic {
   287  		return xxx_messageInfo_ProofOps.Marshal(b, m, deterministic)
   288  	} else {
   289  		b = b[:cap(b)]
   290  		n, err := m.MarshalToSizedBuffer(b)
   291  		if err != nil {
   292  			return nil, err
   293  		}
   294  		return b[:n], nil
   295  	}
   296  }
   297  func (m *ProofOps) XXX_Merge(src proto.Message) {
   298  	xxx_messageInfo_ProofOps.Merge(m, src)
   299  }
   300  func (m *ProofOps) XXX_Size() int {
   301  	return m.Size()
   302  }
   303  func (m *ProofOps) XXX_DiscardUnknown() {
   304  	xxx_messageInfo_ProofOps.DiscardUnknown(m)
   305  }
   306  
   307  var xxx_messageInfo_ProofOps proto.InternalMessageInfo
   308  
   309  func (m *ProofOps) GetOps() []ProofOp {
   310  	if m != nil {
   311  		return m.Ops
   312  	}
   313  	return nil
   314  }
   315  
   316  func init() {
   317  
   318  }
   319  
   320  func init() {}
   321  
   322  var fileDescriptor_6b60b6ba2ab5b856 = []byte{
   323  	// 377 bytes of a gzipped FileDescriptorProto
   324  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x92, 0xbf, 0x6a, 0xeb, 0x30,
   325  	0x18, 0xc5, 0xed, 0xd8, 0xf9, 0xa7, 0x64, 0xb8, 0x57, 0x84, 0x8b, 0xc9, 0xe5, 0xfa, 0x1a, 0x4f,
   326  	0x9e, 0x2c, 0x48, 0x3a, 0x77, 0x48, 0x3a, 0x94, 0x66, 0x48, 0x31, 0xa5, 0x43, 0x97, 0xa2, 0x38,
   327  	0x8a, 0x6d, 0x1a, 0x4b, 0xc2, 0x96, 0xa1, 0x7e, 0x8b, 0x3e, 0x56, 0xc6, 0x8c, 0x9d, 0x4a, 0x49,
   328  	0x5e, 0xa4, 0x48, 0x72, 0x1b, 0x4a, 0xe8, 0xf6, 0x9d, 0x73, 0x3e, 0xfd, 0x74, 0x84, 0x0d, 0xfe,
   329  	0x09, 0x42, 0xd7, 0xa4, 0xc8, 0x33, 0x2a, 0x50, 0x5c, 0xd4, 0x5c, 0x30, 0xc4, 0x0b, 0xc6, 0x36,
   330  	0x21, 0x2f, 0x98, 0x60, 0xf0, 0xf7, 0x29, 0x0e, 0x75, 0x3c, 0x1e, 0x25, 0x2c, 0x61, 0x2a, 0x45,
   331  	0x72, 0xd2, 0x8b, 0xfe, 0x06, 0xb4, 0x6f, 0xe5, 0x39, 0x38, 0x02, 0x6d, 0xc1, 0x04, 0xde, 0x3a,
   332  	0xa6, 0x67, 0x06, 0x56, 0xa4, 0x85, 0x74, 0x33, 0xba, 0x26, 0xcf, 0x4e, 0x4b, 0xbb, 0x4a, 0xc0,
   333  	0xbf, 0xa0, 0xbf, 0x25, 0x78, 0xf3, 0x98, 0xe2, 0x32, 0x75, 0x2c, 0xcf, 0x0c, 0x86, 0x51, 0x4f,
   334  	0x1a, 0xd7, 0xb8, 0x4c, 0xe5, 0x11, 0x5c, 0x51, 0x51, 0x3a, 0xb6, 0x67, 0x05, 0xc3, 0x48, 0x0b,
   335  	0x7f, 0x01, 0xba, 0xf7, 0x78, 0x5b, 0x91, 0x25, 0x87, 0xbf, 0x80, 0xf5, 0x44, 0x6a, 0x75, 0xcf,
   336  	0x30, 0x92, 0x23, 0x0c, 0x41, 0x5b, 0x95, 0x57, 0xb7, 0x0c, 0x26, 0x4e, 0x78, 0xd6, 0x3e, 0x54,
   337  	0x25, 0x23, 0xbd, 0xe6, 0xdf, 0x80, 0xde, 0x15, 0xcb, 0x33, 0xca, 0xbe, 0xd3, 0xfa, 0x9a, 0xa6,
   338  	0x3a, 0xf3, 0x4a, 0x28, 0x5a, 0x3f, 0xd2, 0x02, 0xfe, 0x01, 0x1d, 0x56, 0x09, 0x69, 0x5b, 0xca,
   339  	0x6e, 0x94, 0x3f, 0x07, 0x5d, 0xc5, 0x5e, 0x72, 0x08, 0x81, 0x2d, 0x6a, 0x4e, 0x1a, 0x96, 0x9a,
   340  	0x3f, 0xf1, 0xad, 0x53, 0x59, 0x08, 0xec, 0x35, 0x16, 0xb8, 0x79, 0xb7, 0x9a, 0xfd, 0x4b, 0xd0,
   341  	0x6b, 0x20, 0x25, 0x9c, 0x00, 0x8b, 0xf1, 0xd2, 0x31, 0x3d, 0x2b, 0x18, 0x4c, 0xc6, 0x3f, 0x3d,
   342  	0x65, 0xc9, 0x67, 0xf6, 0xee, 0xed, 0xbf, 0x11, 0xc9, 0xe5, 0x19, 0xd9, 0x1d, 0x5c, 0x73, 0x7f,
   343  	0x70, 0xcd, 0xf7, 0x83, 0x6b, 0xbe, 0x1c, 0x5d, 0x63, 0x7f, 0x74, 0x8d, 0xd7, 0xa3, 0x6b, 0x3c,
   344  	0x2c, 0x92, 0x4c, 0xa4, 0xd5, 0x2a, 0x8c, 0x59, 0x8e, 0xca, 0x8a, 0x17, 0x38, 0xa9, 0x31, 0xba,
   345  	0xfb, 0x62, 0xce, 0x19, 0xa5, 0x24, 0x16, 0xac, 0x40, 0x71, 0x8a, 0x33, 0x5a, 0x22, 0x91, 0x4f,
   346  	0x2f, 0x90, 0xfe, 0xca, 0x67, 0x7f, 0xc8, 0xaa, 0xa3, 0x82, 0xe9, 0x47, 0x00, 0x00, 0x00, 0xff,
   347  	0xff, 0x9e, 0x26, 0x77, 0x80, 0x3d, 0x02, 0x00, 0x00,
   348  }
   349  
   350  func (m *Proof) Marshal() (dAtA []byte, err error) {
   351  	size := m.Size()
   352  	dAtA = make([]byte, size)
   353  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   354  	if err != nil {
   355  		return nil, err
   356  	}
   357  	return dAtA[:n], nil
   358  }
   359  
   360  func (m *Proof) MarshalTo(dAtA []byte) (int, error) {
   361  	size := m.Size()
   362  	return m.MarshalToSizedBuffer(dAtA[:size])
   363  }
   364  
   365  func (m *Proof) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   366  	i := len(dAtA)
   367  	_ = i
   368  	var l int
   369  	_ = l
   370  	if len(m.Aunts) > 0 {
   371  		for iNdEx := len(m.Aunts) - 1; iNdEx >= 0; iNdEx-- {
   372  			i -= len(m.Aunts[iNdEx])
   373  			copy(dAtA[i:], m.Aunts[iNdEx])
   374  			i = encodeVarintProof(dAtA, i, uint64(len(m.Aunts[iNdEx])))
   375  			i--
   376  			dAtA[i] = 0x22
   377  		}
   378  	}
   379  	if len(m.LeafHash) > 0 {
   380  		i -= len(m.LeafHash)
   381  		copy(dAtA[i:], m.LeafHash)
   382  		i = encodeVarintProof(dAtA, i, uint64(len(m.LeafHash)))
   383  		i--
   384  		dAtA[i] = 0x1a
   385  	}
   386  	if m.Index != 0 {
   387  		i = encodeVarintProof(dAtA, i, uint64(m.Index))
   388  		i--
   389  		dAtA[i] = 0x10
   390  	}
   391  	if m.Total != 0 {
   392  		i = encodeVarintProof(dAtA, i, uint64(m.Total))
   393  		i--
   394  		dAtA[i] = 0x8
   395  	}
   396  	return len(dAtA) - i, nil
   397  }
   398  
   399  func (m *ValueOp) Marshal() (dAtA []byte, err error) {
   400  	size := m.Size()
   401  	dAtA = make([]byte, size)
   402  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   403  	if err != nil {
   404  		return nil, err
   405  	}
   406  	return dAtA[:n], nil
   407  }
   408  
   409  func (m *ValueOp) MarshalTo(dAtA []byte) (int, error) {
   410  	size := m.Size()
   411  	return m.MarshalToSizedBuffer(dAtA[:size])
   412  }
   413  
   414  func (m *ValueOp) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   415  	i := len(dAtA)
   416  	_ = i
   417  	var l int
   418  	_ = l
   419  	if m.Proof != nil {
   420  		{
   421  			size, err := m.Proof.MarshalToSizedBuffer(dAtA[:i])
   422  			if err != nil {
   423  				return 0, err
   424  			}
   425  			i -= size
   426  			i = encodeVarintProof(dAtA, i, uint64(size))
   427  		}
   428  		i--
   429  		dAtA[i] = 0x12
   430  	}
   431  	if len(m.Key) > 0 {
   432  		i -= len(m.Key)
   433  		copy(dAtA[i:], m.Key)
   434  		i = encodeVarintProof(dAtA, i, uint64(len(m.Key)))
   435  		i--
   436  		dAtA[i] = 0xa
   437  	}
   438  	return len(dAtA) - i, nil
   439  }
   440  
   441  func (m *DominoOp) Marshal() (dAtA []byte, err error) {
   442  	size := m.Size()
   443  	dAtA = make([]byte, size)
   444  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   445  	if err != nil {
   446  		return nil, err
   447  	}
   448  	return dAtA[:n], nil
   449  }
   450  
   451  func (m *DominoOp) MarshalTo(dAtA []byte) (int, error) {
   452  	size := m.Size()
   453  	return m.MarshalToSizedBuffer(dAtA[:size])
   454  }
   455  
   456  func (m *DominoOp) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   457  	i := len(dAtA)
   458  	_ = i
   459  	var l int
   460  	_ = l
   461  	if len(m.Output) > 0 {
   462  		i -= len(m.Output)
   463  		copy(dAtA[i:], m.Output)
   464  		i = encodeVarintProof(dAtA, i, uint64(len(m.Output)))
   465  		i--
   466  		dAtA[i] = 0x1a
   467  	}
   468  	if len(m.Input) > 0 {
   469  		i -= len(m.Input)
   470  		copy(dAtA[i:], m.Input)
   471  		i = encodeVarintProof(dAtA, i, uint64(len(m.Input)))
   472  		i--
   473  		dAtA[i] = 0x12
   474  	}
   475  	if len(m.Key) > 0 {
   476  		i -= len(m.Key)
   477  		copy(dAtA[i:], m.Key)
   478  		i = encodeVarintProof(dAtA, i, uint64(len(m.Key)))
   479  		i--
   480  		dAtA[i] = 0xa
   481  	}
   482  	return len(dAtA) - i, nil
   483  }
   484  
   485  func (m *ProofOp) Marshal() (dAtA []byte, err error) {
   486  	size := m.Size()
   487  	dAtA = make([]byte, size)
   488  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   489  	if err != nil {
   490  		return nil, err
   491  	}
   492  	return dAtA[:n], nil
   493  }
   494  
   495  func (m *ProofOp) MarshalTo(dAtA []byte) (int, error) {
   496  	size := m.Size()
   497  	return m.MarshalToSizedBuffer(dAtA[:size])
   498  }
   499  
   500  func (m *ProofOp) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   501  	i := len(dAtA)
   502  	_ = i
   503  	var l int
   504  	_ = l
   505  	if len(m.Data) > 0 {
   506  		i -= len(m.Data)
   507  		copy(dAtA[i:], m.Data)
   508  		i = encodeVarintProof(dAtA, i, uint64(len(m.Data)))
   509  		i--
   510  		dAtA[i] = 0x1a
   511  	}
   512  	if len(m.Key) > 0 {
   513  		i -= len(m.Key)
   514  		copy(dAtA[i:], m.Key)
   515  		i = encodeVarintProof(dAtA, i, uint64(len(m.Key)))
   516  		i--
   517  		dAtA[i] = 0x12
   518  	}
   519  	if len(m.Type) > 0 {
   520  		i -= len(m.Type)
   521  		copy(dAtA[i:], m.Type)
   522  		i = encodeVarintProof(dAtA, i, uint64(len(m.Type)))
   523  		i--
   524  		dAtA[i] = 0xa
   525  	}
   526  	return len(dAtA) - i, nil
   527  }
   528  
   529  func (m *ProofOps) Marshal() (dAtA []byte, err error) {
   530  	size := m.Size()
   531  	dAtA = make([]byte, size)
   532  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   533  	if err != nil {
   534  		return nil, err
   535  	}
   536  	return dAtA[:n], nil
   537  }
   538  
   539  func (m *ProofOps) MarshalTo(dAtA []byte) (int, error) {
   540  	size := m.Size()
   541  	return m.MarshalToSizedBuffer(dAtA[:size])
   542  }
   543  
   544  func (m *ProofOps) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   545  	i := len(dAtA)
   546  	_ = i
   547  	var l int
   548  	_ = l
   549  	if len(m.Ops) > 0 {
   550  		for iNdEx := len(m.Ops) - 1; iNdEx >= 0; iNdEx-- {
   551  			{
   552  				size, err := m.Ops[iNdEx].MarshalToSizedBuffer(dAtA[:i])
   553  				if err != nil {
   554  					return 0, err
   555  				}
   556  				i -= size
   557  				i = encodeVarintProof(dAtA, i, uint64(size))
   558  			}
   559  			i--
   560  			dAtA[i] = 0xa
   561  		}
   562  	}
   563  	return len(dAtA) - i, nil
   564  }
   565  
   566  func encodeVarintProof(dAtA []byte, offset int, v uint64) int {
   567  	offset -= sovProof(v)
   568  	base := offset
   569  	for v >= 1<<7 {
   570  		dAtA[offset] = uint8(v&0x7f | 0x80)
   571  		v >>= 7
   572  		offset++
   573  	}
   574  	dAtA[offset] = uint8(v)
   575  	return base
   576  }
   577  func (m *Proof) Size() (n int) {
   578  	if m == nil {
   579  		return 0
   580  	}
   581  	var l int
   582  	_ = l
   583  	if m.Total != 0 {
   584  		n += 1 + sovProof(uint64(m.Total))
   585  	}
   586  	if m.Index != 0 {
   587  		n += 1 + sovProof(uint64(m.Index))
   588  	}
   589  	l = len(m.LeafHash)
   590  	if l > 0 {
   591  		n += 1 + l + sovProof(uint64(l))
   592  	}
   593  	if len(m.Aunts) > 0 {
   594  		for _, b := range m.Aunts {
   595  			l = len(b)
   596  			n += 1 + l + sovProof(uint64(l))
   597  		}
   598  	}
   599  	return n
   600  }
   601  
   602  func (m *ValueOp) Size() (n int) {
   603  	if m == nil {
   604  		return 0
   605  	}
   606  	var l int
   607  	_ = l
   608  	l = len(m.Key)
   609  	if l > 0 {
   610  		n += 1 + l + sovProof(uint64(l))
   611  	}
   612  	if m.Proof != nil {
   613  		l = m.Proof.Size()
   614  		n += 1 + l + sovProof(uint64(l))
   615  	}
   616  	return n
   617  }
   618  
   619  func (m *DominoOp) Size() (n int) {
   620  	if m == nil {
   621  		return 0
   622  	}
   623  	var l int
   624  	_ = l
   625  	l = len(m.Key)
   626  	if l > 0 {
   627  		n += 1 + l + sovProof(uint64(l))
   628  	}
   629  	l = len(m.Input)
   630  	if l > 0 {
   631  		n += 1 + l + sovProof(uint64(l))
   632  	}
   633  	l = len(m.Output)
   634  	if l > 0 {
   635  		n += 1 + l + sovProof(uint64(l))
   636  	}
   637  	return n
   638  }
   639  
   640  func (m *ProofOp) Size() (n int) {
   641  	if m == nil {
   642  		return 0
   643  	}
   644  	var l int
   645  	_ = l
   646  	l = len(m.Type)
   647  	if l > 0 {
   648  		n += 1 + l + sovProof(uint64(l))
   649  	}
   650  	l = len(m.Key)
   651  	if l > 0 {
   652  		n += 1 + l + sovProof(uint64(l))
   653  	}
   654  	l = len(m.Data)
   655  	if l > 0 {
   656  		n += 1 + l + sovProof(uint64(l))
   657  	}
   658  	return n
   659  }
   660  
   661  func (m *ProofOps) Size() (n int) {
   662  	if m == nil {
   663  		return 0
   664  	}
   665  	var l int
   666  	_ = l
   667  	if len(m.Ops) > 0 {
   668  		for _, e := range m.Ops {
   669  			l = e.Size()
   670  			n += 1 + l + sovProof(uint64(l))
   671  		}
   672  	}
   673  	return n
   674  }
   675  
   676  func sovProof(x uint64) (n int) {
   677  	return (math_bits.Len64(x|1) + 6) / 7
   678  }
   679  func sozProof(x uint64) (n int) {
   680  	return sovProof(uint64((x << 1) ^ uint64((int64(x) >> 63))))
   681  }
   682  func (m *Proof) Unmarshal(dAtA []byte) error {
   683  	l := len(dAtA)
   684  	iNdEx := 0
   685  	for iNdEx < l {
   686  		preIndex := iNdEx
   687  		var wire uint64
   688  		for shift := uint(0); ; shift += 7 {
   689  			if shift >= 64 {
   690  				return ErrIntOverflowProof
   691  			}
   692  			if iNdEx >= l {
   693  				return io.ErrUnexpectedEOF
   694  			}
   695  			b := dAtA[iNdEx]
   696  			iNdEx++
   697  			wire |= uint64(b&0x7F) << shift
   698  			if b < 0x80 {
   699  				break
   700  			}
   701  		}
   702  		fieldNum := int32(wire >> 3)
   703  		wireType := int(wire & 0x7)
   704  		if wireType == 4 {
   705  			return fmt.Errorf("proto: Proof: wiretype end group for non-group")
   706  		}
   707  		if fieldNum <= 0 {
   708  			return fmt.Errorf("proto: Proof: illegal tag %d (wire type %d)", fieldNum, wire)
   709  		}
   710  		switch fieldNum {
   711  		case 1:
   712  			if wireType != 0 {
   713  				return fmt.Errorf("proto: wrong wireType = %d for field Total", wireType)
   714  			}
   715  			m.Total = 0
   716  			for shift := uint(0); ; shift += 7 {
   717  				if shift >= 64 {
   718  					return ErrIntOverflowProof
   719  				}
   720  				if iNdEx >= l {
   721  					return io.ErrUnexpectedEOF
   722  				}
   723  				b := dAtA[iNdEx]
   724  				iNdEx++
   725  				m.Total |= int64(b&0x7F) << shift
   726  				if b < 0x80 {
   727  					break
   728  				}
   729  			}
   730  		case 2:
   731  			if wireType != 0 {
   732  				return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType)
   733  			}
   734  			m.Index = 0
   735  			for shift := uint(0); ; shift += 7 {
   736  				if shift >= 64 {
   737  					return ErrIntOverflowProof
   738  				}
   739  				if iNdEx >= l {
   740  					return io.ErrUnexpectedEOF
   741  				}
   742  				b := dAtA[iNdEx]
   743  				iNdEx++
   744  				m.Index |= int64(b&0x7F) << shift
   745  				if b < 0x80 {
   746  					break
   747  				}
   748  			}
   749  		case 3:
   750  			if wireType != 2 {
   751  				return fmt.Errorf("proto: wrong wireType = %d for field LeafHash", wireType)
   752  			}
   753  			var byteLen int
   754  			for shift := uint(0); ; shift += 7 {
   755  				if shift >= 64 {
   756  					return ErrIntOverflowProof
   757  				}
   758  				if iNdEx >= l {
   759  					return io.ErrUnexpectedEOF
   760  				}
   761  				b := dAtA[iNdEx]
   762  				iNdEx++
   763  				byteLen |= int(b&0x7F) << shift
   764  				if b < 0x80 {
   765  					break
   766  				}
   767  			}
   768  			if byteLen < 0 {
   769  				return ErrInvalidLengthProof
   770  			}
   771  			postIndex := iNdEx + byteLen
   772  			if postIndex < 0 {
   773  				return ErrInvalidLengthProof
   774  			}
   775  			if postIndex > l {
   776  				return io.ErrUnexpectedEOF
   777  			}
   778  			m.LeafHash = append(m.LeafHash[:0], dAtA[iNdEx:postIndex]...)
   779  			if m.LeafHash == nil {
   780  				m.LeafHash = []byte{}
   781  			}
   782  			iNdEx = postIndex
   783  		case 4:
   784  			if wireType != 2 {
   785  				return fmt.Errorf("proto: wrong wireType = %d for field Aunts", wireType)
   786  			}
   787  			var byteLen int
   788  			for shift := uint(0); ; shift += 7 {
   789  				if shift >= 64 {
   790  					return ErrIntOverflowProof
   791  				}
   792  				if iNdEx >= l {
   793  					return io.ErrUnexpectedEOF
   794  				}
   795  				b := dAtA[iNdEx]
   796  				iNdEx++
   797  				byteLen |= int(b&0x7F) << shift
   798  				if b < 0x80 {
   799  					break
   800  				}
   801  			}
   802  			if byteLen < 0 {
   803  				return ErrInvalidLengthProof
   804  			}
   805  			postIndex := iNdEx + byteLen
   806  			if postIndex < 0 {
   807  				return ErrInvalidLengthProof
   808  			}
   809  			if postIndex > l {
   810  				return io.ErrUnexpectedEOF
   811  			}
   812  			m.Aunts = append(m.Aunts, make([]byte, postIndex-iNdEx))
   813  			copy(m.Aunts[len(m.Aunts)-1], dAtA[iNdEx:postIndex])
   814  			iNdEx = postIndex
   815  		default:
   816  			iNdEx = preIndex
   817  			skippy, err := skipProof(dAtA[iNdEx:])
   818  			if err != nil {
   819  				return err
   820  			}
   821  			if (skippy < 0) || (iNdEx+skippy) < 0 {
   822  				return ErrInvalidLengthProof
   823  			}
   824  			if (iNdEx + skippy) > l {
   825  				return io.ErrUnexpectedEOF
   826  			}
   827  			iNdEx += skippy
   828  		}
   829  	}
   830  
   831  	if iNdEx > l {
   832  		return io.ErrUnexpectedEOF
   833  	}
   834  	return nil
   835  }
   836  func (m *ValueOp) Unmarshal(dAtA []byte) error {
   837  	l := len(dAtA)
   838  	iNdEx := 0
   839  	for iNdEx < l {
   840  		preIndex := iNdEx
   841  		var wire uint64
   842  		for shift := uint(0); ; shift += 7 {
   843  			if shift >= 64 {
   844  				return ErrIntOverflowProof
   845  			}
   846  			if iNdEx >= l {
   847  				return io.ErrUnexpectedEOF
   848  			}
   849  			b := dAtA[iNdEx]
   850  			iNdEx++
   851  			wire |= uint64(b&0x7F) << shift
   852  			if b < 0x80 {
   853  				break
   854  			}
   855  		}
   856  		fieldNum := int32(wire >> 3)
   857  		wireType := int(wire & 0x7)
   858  		if wireType == 4 {
   859  			return fmt.Errorf("proto: ValueOp: wiretype end group for non-group")
   860  		}
   861  		if fieldNum <= 0 {
   862  			return fmt.Errorf("proto: ValueOp: illegal tag %d (wire type %d)", fieldNum, wire)
   863  		}
   864  		switch fieldNum {
   865  		case 1:
   866  			if wireType != 2 {
   867  				return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
   868  			}
   869  			var byteLen int
   870  			for shift := uint(0); ; shift += 7 {
   871  				if shift >= 64 {
   872  					return ErrIntOverflowProof
   873  				}
   874  				if iNdEx >= l {
   875  					return io.ErrUnexpectedEOF
   876  				}
   877  				b := dAtA[iNdEx]
   878  				iNdEx++
   879  				byteLen |= int(b&0x7F) << shift
   880  				if b < 0x80 {
   881  					break
   882  				}
   883  			}
   884  			if byteLen < 0 {
   885  				return ErrInvalidLengthProof
   886  			}
   887  			postIndex := iNdEx + byteLen
   888  			if postIndex < 0 {
   889  				return ErrInvalidLengthProof
   890  			}
   891  			if postIndex > l {
   892  				return io.ErrUnexpectedEOF
   893  			}
   894  			m.Key = append(m.Key[:0], dAtA[iNdEx:postIndex]...)
   895  			if m.Key == nil {
   896  				m.Key = []byte{}
   897  			}
   898  			iNdEx = postIndex
   899  		case 2:
   900  			if wireType != 2 {
   901  				return fmt.Errorf("proto: wrong wireType = %d for field Proof", wireType)
   902  			}
   903  			var msglen int
   904  			for shift := uint(0); ; shift += 7 {
   905  				if shift >= 64 {
   906  					return ErrIntOverflowProof
   907  				}
   908  				if iNdEx >= l {
   909  					return io.ErrUnexpectedEOF
   910  				}
   911  				b := dAtA[iNdEx]
   912  				iNdEx++
   913  				msglen |= int(b&0x7F) << shift
   914  				if b < 0x80 {
   915  					break
   916  				}
   917  			}
   918  			if msglen < 0 {
   919  				return ErrInvalidLengthProof
   920  			}
   921  			postIndex := iNdEx + msglen
   922  			if postIndex < 0 {
   923  				return ErrInvalidLengthProof
   924  			}
   925  			if postIndex > l {
   926  				return io.ErrUnexpectedEOF
   927  			}
   928  			if m.Proof == nil {
   929  				m.Proof = &Proof{}
   930  			}
   931  			if err := m.Proof.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
   932  				return err
   933  			}
   934  			iNdEx = postIndex
   935  		default:
   936  			iNdEx = preIndex
   937  			skippy, err := skipProof(dAtA[iNdEx:])
   938  			if err != nil {
   939  				return err
   940  			}
   941  			if (skippy < 0) || (iNdEx+skippy) < 0 {
   942  				return ErrInvalidLengthProof
   943  			}
   944  			if (iNdEx + skippy) > l {
   945  				return io.ErrUnexpectedEOF
   946  			}
   947  			iNdEx += skippy
   948  		}
   949  	}
   950  
   951  	if iNdEx > l {
   952  		return io.ErrUnexpectedEOF
   953  	}
   954  	return nil
   955  }
   956  func (m *DominoOp) Unmarshal(dAtA []byte) error {
   957  	l := len(dAtA)
   958  	iNdEx := 0
   959  	for iNdEx < l {
   960  		preIndex := iNdEx
   961  		var wire uint64
   962  		for shift := uint(0); ; shift += 7 {
   963  			if shift >= 64 {
   964  				return ErrIntOverflowProof
   965  			}
   966  			if iNdEx >= l {
   967  				return io.ErrUnexpectedEOF
   968  			}
   969  			b := dAtA[iNdEx]
   970  			iNdEx++
   971  			wire |= uint64(b&0x7F) << shift
   972  			if b < 0x80 {
   973  				break
   974  			}
   975  		}
   976  		fieldNum := int32(wire >> 3)
   977  		wireType := int(wire & 0x7)
   978  		if wireType == 4 {
   979  			return fmt.Errorf("proto: DominoOp: wiretype end group for non-group")
   980  		}
   981  		if fieldNum <= 0 {
   982  			return fmt.Errorf("proto: DominoOp: illegal tag %d (wire type %d)", fieldNum, wire)
   983  		}
   984  		switch fieldNum {
   985  		case 1:
   986  			if wireType != 2 {
   987  				return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
   988  			}
   989  			var stringLen uint64
   990  			for shift := uint(0); ; shift += 7 {
   991  				if shift >= 64 {
   992  					return ErrIntOverflowProof
   993  				}
   994  				if iNdEx >= l {
   995  					return io.ErrUnexpectedEOF
   996  				}
   997  				b := dAtA[iNdEx]
   998  				iNdEx++
   999  				stringLen |= uint64(b&0x7F) << shift
  1000  				if b < 0x80 {
  1001  					break
  1002  				}
  1003  			}
  1004  			intStringLen := int(stringLen)
  1005  			if intStringLen < 0 {
  1006  				return ErrInvalidLengthProof
  1007  			}
  1008  			postIndex := iNdEx + intStringLen
  1009  			if postIndex < 0 {
  1010  				return ErrInvalidLengthProof
  1011  			}
  1012  			if postIndex > l {
  1013  				return io.ErrUnexpectedEOF
  1014  			}
  1015  			m.Key = string(dAtA[iNdEx:postIndex])
  1016  			iNdEx = postIndex
  1017  		case 2:
  1018  			if wireType != 2 {
  1019  				return fmt.Errorf("proto: wrong wireType = %d for field Input", wireType)
  1020  			}
  1021  			var stringLen uint64
  1022  			for shift := uint(0); ; shift += 7 {
  1023  				if shift >= 64 {
  1024  					return ErrIntOverflowProof
  1025  				}
  1026  				if iNdEx >= l {
  1027  					return io.ErrUnexpectedEOF
  1028  				}
  1029  				b := dAtA[iNdEx]
  1030  				iNdEx++
  1031  				stringLen |= uint64(b&0x7F) << shift
  1032  				if b < 0x80 {
  1033  					break
  1034  				}
  1035  			}
  1036  			intStringLen := int(stringLen)
  1037  			if intStringLen < 0 {
  1038  				return ErrInvalidLengthProof
  1039  			}
  1040  			postIndex := iNdEx + intStringLen
  1041  			if postIndex < 0 {
  1042  				return ErrInvalidLengthProof
  1043  			}
  1044  			if postIndex > l {
  1045  				return io.ErrUnexpectedEOF
  1046  			}
  1047  			m.Input = string(dAtA[iNdEx:postIndex])
  1048  			iNdEx = postIndex
  1049  		case 3:
  1050  			if wireType != 2 {
  1051  				return fmt.Errorf("proto: wrong wireType = %d for field Output", wireType)
  1052  			}
  1053  			var stringLen uint64
  1054  			for shift := uint(0); ; shift += 7 {
  1055  				if shift >= 64 {
  1056  					return ErrIntOverflowProof
  1057  				}
  1058  				if iNdEx >= l {
  1059  					return io.ErrUnexpectedEOF
  1060  				}
  1061  				b := dAtA[iNdEx]
  1062  				iNdEx++
  1063  				stringLen |= uint64(b&0x7F) << shift
  1064  				if b < 0x80 {
  1065  					break
  1066  				}
  1067  			}
  1068  			intStringLen := int(stringLen)
  1069  			if intStringLen < 0 {
  1070  				return ErrInvalidLengthProof
  1071  			}
  1072  			postIndex := iNdEx + intStringLen
  1073  			if postIndex < 0 {
  1074  				return ErrInvalidLengthProof
  1075  			}
  1076  			if postIndex > l {
  1077  				return io.ErrUnexpectedEOF
  1078  			}
  1079  			m.Output = string(dAtA[iNdEx:postIndex])
  1080  			iNdEx = postIndex
  1081  		default:
  1082  			iNdEx = preIndex
  1083  			skippy, err := skipProof(dAtA[iNdEx:])
  1084  			if err != nil {
  1085  				return err
  1086  			}
  1087  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  1088  				return ErrInvalidLengthProof
  1089  			}
  1090  			if (iNdEx + skippy) > l {
  1091  				return io.ErrUnexpectedEOF
  1092  			}
  1093  			iNdEx += skippy
  1094  		}
  1095  	}
  1096  
  1097  	if iNdEx > l {
  1098  		return io.ErrUnexpectedEOF
  1099  	}
  1100  	return nil
  1101  }
  1102  func (m *ProofOp) Unmarshal(dAtA []byte) error {
  1103  	l := len(dAtA)
  1104  	iNdEx := 0
  1105  	for iNdEx < l {
  1106  		preIndex := iNdEx
  1107  		var wire uint64
  1108  		for shift := uint(0); ; shift += 7 {
  1109  			if shift >= 64 {
  1110  				return ErrIntOverflowProof
  1111  			}
  1112  			if iNdEx >= l {
  1113  				return io.ErrUnexpectedEOF
  1114  			}
  1115  			b := dAtA[iNdEx]
  1116  			iNdEx++
  1117  			wire |= uint64(b&0x7F) << shift
  1118  			if b < 0x80 {
  1119  				break
  1120  			}
  1121  		}
  1122  		fieldNum := int32(wire >> 3)
  1123  		wireType := int(wire & 0x7)
  1124  		if wireType == 4 {
  1125  			return fmt.Errorf("proto: ProofOp: wiretype end group for non-group")
  1126  		}
  1127  		if fieldNum <= 0 {
  1128  			return fmt.Errorf("proto: ProofOp: illegal tag %d (wire type %d)", fieldNum, wire)
  1129  		}
  1130  		switch fieldNum {
  1131  		case 1:
  1132  			if wireType != 2 {
  1133  				return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
  1134  			}
  1135  			var stringLen uint64
  1136  			for shift := uint(0); ; shift += 7 {
  1137  				if shift >= 64 {
  1138  					return ErrIntOverflowProof
  1139  				}
  1140  				if iNdEx >= l {
  1141  					return io.ErrUnexpectedEOF
  1142  				}
  1143  				b := dAtA[iNdEx]
  1144  				iNdEx++
  1145  				stringLen |= uint64(b&0x7F) << shift
  1146  				if b < 0x80 {
  1147  					break
  1148  				}
  1149  			}
  1150  			intStringLen := int(stringLen)
  1151  			if intStringLen < 0 {
  1152  				return ErrInvalidLengthProof
  1153  			}
  1154  			postIndex := iNdEx + intStringLen
  1155  			if postIndex < 0 {
  1156  				return ErrInvalidLengthProof
  1157  			}
  1158  			if postIndex > l {
  1159  				return io.ErrUnexpectedEOF
  1160  			}
  1161  			m.Type = string(dAtA[iNdEx:postIndex])
  1162  			iNdEx = postIndex
  1163  		case 2:
  1164  			if wireType != 2 {
  1165  				return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
  1166  			}
  1167  			var byteLen int
  1168  			for shift := uint(0); ; shift += 7 {
  1169  				if shift >= 64 {
  1170  					return ErrIntOverflowProof
  1171  				}
  1172  				if iNdEx >= l {
  1173  					return io.ErrUnexpectedEOF
  1174  				}
  1175  				b := dAtA[iNdEx]
  1176  				iNdEx++
  1177  				byteLen |= int(b&0x7F) << shift
  1178  				if b < 0x80 {
  1179  					break
  1180  				}
  1181  			}
  1182  			if byteLen < 0 {
  1183  				return ErrInvalidLengthProof
  1184  			}
  1185  			postIndex := iNdEx + byteLen
  1186  			if postIndex < 0 {
  1187  				return ErrInvalidLengthProof
  1188  			}
  1189  			if postIndex > l {
  1190  				return io.ErrUnexpectedEOF
  1191  			}
  1192  			m.Key = append(m.Key[:0], dAtA[iNdEx:postIndex]...)
  1193  			if m.Key == nil {
  1194  				m.Key = []byte{}
  1195  			}
  1196  			iNdEx = postIndex
  1197  		case 3:
  1198  			if wireType != 2 {
  1199  				return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType)
  1200  			}
  1201  			var byteLen int
  1202  			for shift := uint(0); ; shift += 7 {
  1203  				if shift >= 64 {
  1204  					return ErrIntOverflowProof
  1205  				}
  1206  				if iNdEx >= l {
  1207  					return io.ErrUnexpectedEOF
  1208  				}
  1209  				b := dAtA[iNdEx]
  1210  				iNdEx++
  1211  				byteLen |= int(b&0x7F) << shift
  1212  				if b < 0x80 {
  1213  					break
  1214  				}
  1215  			}
  1216  			if byteLen < 0 {
  1217  				return ErrInvalidLengthProof
  1218  			}
  1219  			postIndex := iNdEx + byteLen
  1220  			if postIndex < 0 {
  1221  				return ErrInvalidLengthProof
  1222  			}
  1223  			if postIndex > l {
  1224  				return io.ErrUnexpectedEOF
  1225  			}
  1226  			m.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...)
  1227  			if m.Data == nil {
  1228  				m.Data = []byte{}
  1229  			}
  1230  			iNdEx = postIndex
  1231  		default:
  1232  			iNdEx = preIndex
  1233  			skippy, err := skipProof(dAtA[iNdEx:])
  1234  			if err != nil {
  1235  				return err
  1236  			}
  1237  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  1238  				return ErrInvalidLengthProof
  1239  			}
  1240  			if (iNdEx + skippy) > l {
  1241  				return io.ErrUnexpectedEOF
  1242  			}
  1243  			iNdEx += skippy
  1244  		}
  1245  	}
  1246  
  1247  	if iNdEx > l {
  1248  		return io.ErrUnexpectedEOF
  1249  	}
  1250  	return nil
  1251  }
  1252  func (m *ProofOps) Unmarshal(dAtA []byte) error {
  1253  	l := len(dAtA)
  1254  	iNdEx := 0
  1255  	for iNdEx < l {
  1256  		preIndex := iNdEx
  1257  		var wire uint64
  1258  		for shift := uint(0); ; shift += 7 {
  1259  			if shift >= 64 {
  1260  				return ErrIntOverflowProof
  1261  			}
  1262  			if iNdEx >= l {
  1263  				return io.ErrUnexpectedEOF
  1264  			}
  1265  			b := dAtA[iNdEx]
  1266  			iNdEx++
  1267  			wire |= uint64(b&0x7F) << shift
  1268  			if b < 0x80 {
  1269  				break
  1270  			}
  1271  		}
  1272  		fieldNum := int32(wire >> 3)
  1273  		wireType := int(wire & 0x7)
  1274  		if wireType == 4 {
  1275  			return fmt.Errorf("proto: ProofOps: wiretype end group for non-group")
  1276  		}
  1277  		if fieldNum <= 0 {
  1278  			return fmt.Errorf("proto: ProofOps: illegal tag %d (wire type %d)", fieldNum, wire)
  1279  		}
  1280  		switch fieldNum {
  1281  		case 1:
  1282  			if wireType != 2 {
  1283  				return fmt.Errorf("proto: wrong wireType = %d for field Ops", wireType)
  1284  			}
  1285  			var msglen int
  1286  			for shift := uint(0); ; shift += 7 {
  1287  				if shift >= 64 {
  1288  					return ErrIntOverflowProof
  1289  				}
  1290  				if iNdEx >= l {
  1291  					return io.ErrUnexpectedEOF
  1292  				}
  1293  				b := dAtA[iNdEx]
  1294  				iNdEx++
  1295  				msglen |= int(b&0x7F) << shift
  1296  				if b < 0x80 {
  1297  					break
  1298  				}
  1299  			}
  1300  			if msglen < 0 {
  1301  				return ErrInvalidLengthProof
  1302  			}
  1303  			postIndex := iNdEx + msglen
  1304  			if postIndex < 0 {
  1305  				return ErrInvalidLengthProof
  1306  			}
  1307  			if postIndex > l {
  1308  				return io.ErrUnexpectedEOF
  1309  			}
  1310  			m.Ops = append(m.Ops, ProofOp{})
  1311  			if err := m.Ops[len(m.Ops)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1312  				return err
  1313  			}
  1314  			iNdEx = postIndex
  1315  		default:
  1316  			iNdEx = preIndex
  1317  			skippy, err := skipProof(dAtA[iNdEx:])
  1318  			if err != nil {
  1319  				return err
  1320  			}
  1321  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  1322  				return ErrInvalidLengthProof
  1323  			}
  1324  			if (iNdEx + skippy) > l {
  1325  				return io.ErrUnexpectedEOF
  1326  			}
  1327  			iNdEx += skippy
  1328  		}
  1329  	}
  1330  
  1331  	if iNdEx > l {
  1332  		return io.ErrUnexpectedEOF
  1333  	}
  1334  	return nil
  1335  }
  1336  func skipProof(dAtA []byte) (n int, err error) {
  1337  	l := len(dAtA)
  1338  	iNdEx := 0
  1339  	depth := 0
  1340  	for iNdEx < l {
  1341  		var wire uint64
  1342  		for shift := uint(0); ; shift += 7 {
  1343  			if shift >= 64 {
  1344  				return 0, ErrIntOverflowProof
  1345  			}
  1346  			if iNdEx >= l {
  1347  				return 0, io.ErrUnexpectedEOF
  1348  			}
  1349  			b := dAtA[iNdEx]
  1350  			iNdEx++
  1351  			wire |= (uint64(b) & 0x7F) << shift
  1352  			if b < 0x80 {
  1353  				break
  1354  			}
  1355  		}
  1356  		wireType := int(wire & 0x7)
  1357  		switch wireType {
  1358  		case 0:
  1359  			for shift := uint(0); ; shift += 7 {
  1360  				if shift >= 64 {
  1361  					return 0, ErrIntOverflowProof
  1362  				}
  1363  				if iNdEx >= l {
  1364  					return 0, io.ErrUnexpectedEOF
  1365  				}
  1366  				iNdEx++
  1367  				if dAtA[iNdEx-1] < 0x80 {
  1368  					break
  1369  				}
  1370  			}
  1371  		case 1:
  1372  			iNdEx += 8
  1373  		case 2:
  1374  			var length int
  1375  			for shift := uint(0); ; shift += 7 {
  1376  				if shift >= 64 {
  1377  					return 0, ErrIntOverflowProof
  1378  				}
  1379  				if iNdEx >= l {
  1380  					return 0, io.ErrUnexpectedEOF
  1381  				}
  1382  				b := dAtA[iNdEx]
  1383  				iNdEx++
  1384  				length |= (int(b) & 0x7F) << shift
  1385  				if b < 0x80 {
  1386  					break
  1387  				}
  1388  			}
  1389  			if length < 0 {
  1390  				return 0, ErrInvalidLengthProof
  1391  			}
  1392  			iNdEx += length
  1393  		case 3:
  1394  			depth++
  1395  		case 4:
  1396  			if depth == 0 {
  1397  				return 0, ErrUnexpectedEndOfGroupProof
  1398  			}
  1399  			depth--
  1400  		case 5:
  1401  			iNdEx += 4
  1402  		default:
  1403  			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
  1404  		}
  1405  		if iNdEx < 0 {
  1406  			return 0, ErrInvalidLengthProof
  1407  		}
  1408  		if depth == 0 {
  1409  			return iNdEx, nil
  1410  		}
  1411  	}
  1412  	return 0, io.ErrUnexpectedEOF
  1413  }
  1414  
  1415  var (
  1416  	ErrInvalidLengthProof        = fmt.Errorf("proto: negative length found during unmarshaling")
  1417  	ErrIntOverflowProof          = fmt.Errorf("proto: integer overflow")
  1418  	ErrUnexpectedEndOfGroupProof = fmt.Errorf("proto: unexpected end of group")
  1419  )