From a926f606998b3007f3183a25b81fbbdd986b8b44 Mon Sep 17 00:00:00 2001 From: Guillaume Ballet <3272758+gballet@users.noreply.github.com> Date: Thu, 17 Aug 2023 15:58:41 +0200 Subject: [PATCH] fix: alignment of values whose len is < 32 --- trie/verkle.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/trie/verkle.go b/trie/verkle.go index 385af5287e..fcf9e114cf 100644 --- a/trie/verkle.go +++ b/trie/verkle.go @@ -205,7 +205,11 @@ func (trie *VerkleTrie) UpdateStem(key []byte, values [][]byte) error { func (trie *VerkleTrie) UpdateStorage(address common.Address, key, value []byte) error { k := utils.GetTreeKeyStorageSlotWithEvaluatedAddress(trie.pointCache.GetTreeKeyHeader(address[:]), key) var v [32]byte - copy(v[:], value[:]) + if len(value) >= 32 { + copy(v[:], value[:32]) + } else { + copy(v[32-len(value):], value[:]) + } return trie.root.Insert(k, v[:], trie.flatdbNodeResolver) }