diff --git a/domain/consensus/utils/hashes/domains.go b/domain/consensus/utils/hashes/domains.go index 67f48e507..8cf4148dd 100644 --- a/domain/consensus/utils/hashes/domains.go +++ b/domain/consensus/utils/hashes/domains.go @@ -13,6 +13,7 @@ const ( transcationSigningECDSADomain = "TransactionSigningHashECDSA" blockDomain = "BlockHash" proofOfWorkDomain = "ProofOfWorkHash" + heavyHashDomain = "HeavyHash" merkleBranchDomain = "MerkleBranchHash" ) @@ -73,6 +74,15 @@ func NewPoWHashWriter() HashWriter { return HashWriter{blake} } +// NewHeavyHashWriter Returns a new HashWriter used for the HeavyHash function +func NewHeavyHashWriter() HashWriter { + blake, err := blake2b.New256([]byte(heavyHashDomain)) + if err != nil { + panic(errors.Wrapf(err, "this should never happen. %s is less than 64 bytes", heavyHashDomain)) + } + return HashWriter{blake} +} + // NewMerkleBranchHashWriter Returns a new HashWriter used for a merkle tree branch func NewMerkleBranchHashWriter() HashWriter { blake, err := blake2b.New256([]byte(merkleBranchDomain))