fastssz was upgraded in #324 and it changed the roots for ConsensusData, SignedMessage and SSVMessage, which would be a fork.
This fastssz upgrade included a crucial hashing fix, replacing PutBytes with Append in order to prevent double-merkleization in HashTreeRoot methods, thereby changing roots for []byte fields exceeding 32 bytes.
It's noted that Beacon spec tests appear unaffected by this change, as they don't contain fields exceeding the threshold for the double-merkleization bug. However, we don't know that Beacon messages are absolutely not impacted.
The changes that were done to preserve backwards-compatibility:
Encoding of types.Contribution was copied over from v0.3.4
spec.DataVersion is now being decremented in encodings and incremented in decodings, because all of the values were incremented by 1 in go-eth2-client.
Description
fastssz
was upgraded in #324 and it changed the roots forConsensusData
,SignedMessage
andSSVMessage
, which would be a fork.This
fastssz
upgrade included a crucial hashing fix, replacingPutBytes
withAppend
in order to prevent double-merkleization inHashTreeRoot
methods, thereby changing roots for[]byte
fields exceeding 32 bytes.It's noted that Beacon spec tests appear unaffected by this change, as they don't contain fields exceeding the threshold for the double-merkleization bug. However, we don't know that Beacon messages are absolutely not impacted.
The changes that were done to preserve backwards-compatibility:
types.Contribution
was copied over fromv0.3.4
spec.DataVersion
is now being decremented in encodings and incremented in decodings, because all of the values were incremented by 1 in go-eth2-client.