func (m *Metadata) HashTreeRoot() ([32]byte, error) {
	return ssz.HashWithDefaultHasher(m)
}
HashTreeRoot ssz hashes the Metadata object
package tests
import (
	ssz "github.com/ferranbt/fastssz"
)
func (m *Metadata) MarshalSSZ() ([]byte, error) {
	return ssz.MarshalSSZ(m)
}
func (m *Metadata) MarshalSSZTo(buf []byte) (dst []byte, err error) {
	dst = buf
	dst = ssz.MarshalUint8(dst, m.Version)
	if len(m.CodeHash) != 32 {
		err = ssz.ErrBytesLength
		return
	}
	dst = append(dst, m.CodeHash...)
	dst = ssz.MarshalUint16(dst, m.CodeLength)
	return
}
func (m *Metadata) UnmarshalSSZ(buf []byte) error {
	var err error
	size := uint64(len(buf))
	if size != 35 {
		return ssz.ErrSize
	}
	m.Version = ssz.UnmarshallUint8(buf[0:1])
	if cap(m.CodeHash) == 0 {
		m.CodeHash = make([]byte, 0, len(buf[1:33]))
	}
	m.CodeHash = append(m.CodeHash, buf[1:33]...)
	m.CodeLength = ssz.UnmarshallUint16(buf[33:35])
	return err
}
func (m *Metadata) SizeSSZ() (size int) {
	size = 35
	return
}