fix big-endian merkleization for UintN arrays (#412)

UintN arrays were incorrectly merkleized on big-endian. This was fixed
by making sure to use the correct buffer to store the final chunk.
This commit is contained in:
Etan Kissling 2021-10-21 09:43:14 +02:00 committed by GitHub
parent 3d78c66119
commit 004ea06b80
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 1 additions and 1 deletions

View File

@ -486,7 +486,7 @@ func chunkedHashTreeRootForBasicTypes[T](merkleizer: var SszMerkleizerImpl,
if remainingValues > 0: if remainingValues > 0:
var lastChunk: array[bytesPerChunk, byte] var lastChunk: array[bytesPerChunk, byte]
for i in 0 ..< remainingValues: for i in 0 ..< remainingValues:
chunk.writeBytesLE(i * sizeof(T), arr[writtenValues + i]) lastChunk.writeBytesLE(i * sizeof(T), arr[writtenValues + i])
merkleizer.addChunk lastChunk merkleizer.addChunk lastChunk
getFinalHash(merkleizer) getFinalHash(merkleizer)