// Code generated by fastssz. DO NOT EDIT. package ssz_query import ( ssz "github.com/prysmaticlabs/fastssz" ) // MarshalSSZ ssz marshals the SSZQueryProof object func (s *SSZQueryProof) MarshalSSZ() ([]byte, error) { return ssz.MarshalSSZ(s) } // MarshalSSZTo ssz marshals the SSZQueryProof object to a target array func (s *SSZQueryProof) MarshalSSZTo(buf []byte) (dst []byte, err error) { dst = buf offset := int(44) // Field (0) 'Leaf' if size := len(s.Leaf); size != 32 { err = ssz.ErrBytesLengthFn("--.Leaf", size, 32) return } dst = append(dst, s.Leaf...) // Field (1) 'Gindex' dst = ssz.MarshalUint64(dst, s.Gindex) // Offset (2) 'Proofs' dst = ssz.WriteOffset(dst, offset) offset += len(s.Proofs) * 32 // Field (2) 'Proofs' if size := len(s.Proofs); size > 64 { err = ssz.ErrListTooBigFn("--.Proofs", size, 64) return } for ii := 0; ii < len(s.Proofs); ii++ { if size := len(s.Proofs[ii]); size != 32 { err = ssz.ErrBytesLengthFn("--.Proofs[ii]", size, 32) return } dst = append(dst, s.Proofs[ii]...) } return } // UnmarshalSSZ ssz unmarshals the SSZQueryProof object func (s *SSZQueryProof) UnmarshalSSZ(buf []byte) error { var err error size := uint64(len(buf)) if size < 44 { return ssz.ErrSize } tail := buf var o2 uint64 // Field (0) 'Leaf' if cap(s.Leaf) == 0 { s.Leaf = make([]byte, 0, len(buf[0:32])) } s.Leaf = append(s.Leaf, buf[0:32]...) // Field (1) 'Gindex' s.Gindex = ssz.UnmarshallUint64(buf[32:40]) // Offset (2) 'Proofs' if o2 = ssz.ReadOffset(buf[40:44]); o2 > size { return ssz.ErrOffset } if o2 != 44 { return ssz.ErrInvalidVariableOffset } // Field (2) 'Proofs' { buf = tail[o2:] num, err := ssz.DivideInt2(len(buf), 32, 64) if err != nil { return err } s.Proofs = make([][]byte, num) for ii := 0; ii < num; ii++ { if cap(s.Proofs[ii]) == 0 { s.Proofs[ii] = make([]byte, 0, len(buf[ii*32:(ii+1)*32])) } s.Proofs[ii] = append(s.Proofs[ii], buf[ii*32:(ii+1)*32]...) } } return err } // SizeSSZ returns the ssz encoded size in bytes for the SSZQueryProof object func (s *SSZQueryProof) SizeSSZ() (size int) { size = 44 // Field (2) 'Proofs' size += len(s.Proofs) * 32 return } // HashTreeRoot ssz hashes the SSZQueryProof object func (s *SSZQueryProof) HashTreeRoot() ([32]byte, error) { return ssz.HashWithDefaultHasher(s) } // HashTreeRootWith ssz hashes the SSZQueryProof object with a hasher func (s *SSZQueryProof) HashTreeRootWith(hh *ssz.Hasher) (err error) { indx := hh.Index() // Field (0) 'Leaf' if size := len(s.Leaf); size != 32 { err = ssz.ErrBytesLengthFn("--.Leaf", size, 32) return } hh.PutBytes(s.Leaf) // Field (1) 'Gindex' hh.PutUint64(s.Gindex) // Field (2) 'Proofs' { if size := len(s.Proofs); size > 64 { err = ssz.ErrListTooBigFn("--.Proofs", size, 64) return } subIndx := hh.Index() for _, i := range s.Proofs { if len(i) != 32 { err = ssz.ErrBytesLength return } hh.Append(i) } numItems := uint64(len(s.Proofs)) hh.MerkleizeWithMixin(subIndx, numItems, 64) } hh.Merkleize(indx) return } // MarshalSSZ ssz marshals the SSZQueryResponse object func (s *SSZQueryResponse) MarshalSSZ() ([]byte, error) { return ssz.MarshalSSZ(s) } // MarshalSSZTo ssz marshals the SSZQueryResponse object to a target array func (s *SSZQueryResponse) MarshalSSZTo(buf []byte) (dst []byte, err error) { dst = buf offset := int(36) // Field (0) 'Root' if size := len(s.Root); size != 32 { err = ssz.ErrBytesLengthFn("--.Root", size, 32) return } dst = append(dst, s.Root...) // Offset (1) 'Result' dst = ssz.WriteOffset(dst, offset) offset += len(s.Result) // Field (1) 'Result' if size := len(s.Result); size > 1073741824 { err = ssz.ErrBytesLengthFn("--.Result", size, 1073741824) return } dst = append(dst, s.Result...) return } // UnmarshalSSZ ssz unmarshals the SSZQueryResponse object func (s *SSZQueryResponse) UnmarshalSSZ(buf []byte) error { var err error size := uint64(len(buf)) if size < 36 { return ssz.ErrSize } tail := buf var o1 uint64 // Field (0) 'Root' if cap(s.Root) == 0 { s.Root = make([]byte, 0, len(buf[0:32])) } s.Root = append(s.Root, buf[0:32]...) // Offset (1) 'Result' if o1 = ssz.ReadOffset(buf[32:36]); o1 > size { return ssz.ErrOffset } if o1 != 36 { return ssz.ErrInvalidVariableOffset } // Field (1) 'Result' { buf = tail[o1:] if len(buf) > 1073741824 { return ssz.ErrBytesLength } if cap(s.Result) == 0 { s.Result = make([]byte, 0, len(buf)) } s.Result = append(s.Result, buf...) } return err } // SizeSSZ returns the ssz encoded size in bytes for the SSZQueryResponse object func (s *SSZQueryResponse) SizeSSZ() (size int) { size = 36 // Field (1) 'Result' size += len(s.Result) return } // HashTreeRoot ssz hashes the SSZQueryResponse object func (s *SSZQueryResponse) HashTreeRoot() ([32]byte, error) { return ssz.HashWithDefaultHasher(s) } // HashTreeRootWith ssz hashes the SSZQueryResponse object with a hasher func (s *SSZQueryResponse) HashTreeRootWith(hh *ssz.Hasher) (err error) { indx := hh.Index() // Field (0) 'Root' if size := len(s.Root); size != 32 { err = ssz.ErrBytesLengthFn("--.Root", size, 32) return } hh.PutBytes(s.Root) // Field (1) 'Result' { elemIndx := hh.Index() byteLen := uint64(len(s.Result)) if byteLen > 1073741824 { err = ssz.ErrIncorrectListSize return } hh.PutBytes(s.Result) hh.MerkleizeWithMixin(elemIndx, byteLen, (1073741824+31)/32) } hh.Merkleize(indx) return } // MarshalSSZ ssz marshals the SSZQueryResponseWithProof object func (s *SSZQueryResponseWithProof) MarshalSSZ() ([]byte, error) { return ssz.MarshalSSZ(s) } // MarshalSSZTo ssz marshals the SSZQueryResponseWithProof object to a target array func (s *SSZQueryResponseWithProof) MarshalSSZTo(buf []byte) (dst []byte, err error) { dst = buf offset := int(40) // Field (0) 'Root' if size := len(s.Root); size != 32 { err = ssz.ErrBytesLengthFn("--.Root", size, 32) return } dst = append(dst, s.Root...) // Offset (1) 'Result' dst = ssz.WriteOffset(dst, offset) offset += len(s.Result) // Offset (2) 'Proof' dst = ssz.WriteOffset(dst, offset) if s.Proof == nil { s.Proof = new(SSZQueryProof) } offset += s.Proof.SizeSSZ() // Field (1) 'Result' if size := len(s.Result); size > 1073741824 { err = ssz.ErrBytesLengthFn("--.Result", size, 1073741824) return } dst = append(dst, s.Result...) // Field (2) 'Proof' if dst, err = s.Proof.MarshalSSZTo(dst); err != nil { return } return } // UnmarshalSSZ ssz unmarshals the SSZQueryResponseWithProof object func (s *SSZQueryResponseWithProof) UnmarshalSSZ(buf []byte) error { var err error size := uint64(len(buf)) if size < 40 { return ssz.ErrSize } tail := buf var o1, o2 uint64 // Field (0) 'Root' if cap(s.Root) == 0 { s.Root = make([]byte, 0, len(buf[0:32])) } s.Root = append(s.Root, buf[0:32]...) // Offset (1) 'Result' if o1 = ssz.ReadOffset(buf[32:36]); o1 > size { return ssz.ErrOffset } if o1 != 40 { return ssz.ErrInvalidVariableOffset } // Offset (2) 'Proof' if o2 = ssz.ReadOffset(buf[36:40]); o2 > size || o1 > o2 { return ssz.ErrOffset } // Field (1) 'Result' { buf = tail[o1:o2] if len(buf) > 1073741824 { return ssz.ErrBytesLength } if cap(s.Result) == 0 { s.Result = make([]byte, 0, len(buf)) } s.Result = append(s.Result, buf...) } // Field (2) 'Proof' { buf = tail[o2:] if s.Proof == nil { s.Proof = new(SSZQueryProof) } if err = s.Proof.UnmarshalSSZ(buf); err != nil { return err } } return err } // SizeSSZ returns the ssz encoded size in bytes for the SSZQueryResponseWithProof object func (s *SSZQueryResponseWithProof) SizeSSZ() (size int) { size = 40 // Field (1) 'Result' size += len(s.Result) // Field (2) 'Proof' if s.Proof == nil { s.Proof = new(SSZQueryProof) } size += s.Proof.SizeSSZ() return } // HashTreeRoot ssz hashes the SSZQueryResponseWithProof object func (s *SSZQueryResponseWithProof) HashTreeRoot() ([32]byte, error) { return ssz.HashWithDefaultHasher(s) } // HashTreeRootWith ssz hashes the SSZQueryResponseWithProof object with a hasher func (s *SSZQueryResponseWithProof) HashTreeRootWith(hh *ssz.Hasher) (err error) { indx := hh.Index() // Field (0) 'Root' if size := len(s.Root); size != 32 { err = ssz.ErrBytesLengthFn("--.Root", size, 32) return } hh.PutBytes(s.Root) // Field (1) 'Result' { elemIndx := hh.Index() byteLen := uint64(len(s.Result)) if byteLen > 1073741824 { err = ssz.ErrIncorrectListSize return } hh.PutBytes(s.Result) hh.MerkleizeWithMixin(elemIndx, byteLen, (1073741824+31)/32) } // Field (2) 'Proof' if err = s.Proof.HashTreeRootWith(hh); err != nil { return } hh.Merkleize(indx) return }