From 255f08f76f59691fc46a35a6fbaea918f8ee3474 Mon Sep 17 00:00:00 2001 From: garyschulte Date: Wed, 4 Dec 2024 17:22:19 -0800 Subject: [PATCH] fix encode trie value for account state Signed-off-by: garyschulte --- .../subcommands/storage/RebuildBonsaiStateTrieSubCommand.java | 3 ++- .../storage/RebuildBonsaiStateTrieSubCommandTest.java | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/besu/src/main/java/org/hyperledger/besu/cli/subcommands/storage/RebuildBonsaiStateTrieSubCommand.java b/besu/src/main/java/org/hyperledger/besu/cli/subcommands/storage/RebuildBonsaiStateTrieSubCommand.java index b74057cab3f1..5d1e1d90c67c 100644 --- a/besu/src/main/java/org/hyperledger/besu/cli/subcommands/storage/RebuildBonsaiStateTrieSubCommand.java +++ b/besu/src/main/java/org/hyperledger/besu/cli/subcommands/storage/RebuildBonsaiStateTrieSubCommand.java @@ -17,6 +17,7 @@ import static org.hyperledger.besu.ethereum.storage.keyvalue.KeyValueSegmentIdentifier.TRIE_BRANCH_STORAGE; import static org.hyperledger.besu.ethereum.trie.diffbased.common.storage.DiffBasedWorldStateKeyValueStorage.WORLD_BLOCK_HASH_KEY; import static org.hyperledger.besu.ethereum.trie.diffbased.common.storage.DiffBasedWorldStateKeyValueStorage.WORLD_ROOT_HASH_KEY; +import static org.hyperledger.besu.ethereum.trie.diffbased.common.worldview.DiffBasedWorldView.encodeTrieValue; import org.hyperledger.besu.cli.util.VersionProvider; import org.hyperledger.besu.controller.BesuController; @@ -236,7 +237,7 @@ Hash rebuildAccountTrie( long accountStorageCount = 0L; while (accountStorageIterator.hasNext()) { var storagePair = accountStorageIterator.next(); - accountStorageTrie.put(storagePair.getFirst(), storagePair.getSecond()); + accountStorageTrie.put(storagePair.getFirst(), encodeTrieValue(storagePair.getSecond())); // commit the account storage trie if (accountStorageCount++ % FORCED_COMMIT_INTERVAL == 0) { diff --git a/besu/src/test/java/org/hyperledger/besu/cli/subcommands/storage/RebuildBonsaiStateTrieSubCommandTest.java b/besu/src/test/java/org/hyperledger/besu/cli/subcommands/storage/RebuildBonsaiStateTrieSubCommandTest.java index 6c418669c886..c844884b7fcd 100644 --- a/besu/src/test/java/org/hyperledger/besu/cli/subcommands/storage/RebuildBonsaiStateTrieSubCommandTest.java +++ b/besu/src/test/java/org/hyperledger/besu/cli/subcommands/storage/RebuildBonsaiStateTrieSubCommandTest.java @@ -55,8 +55,8 @@ void setupBonsaiBlockchain() { blockchainSetupUtil = BlockchainSetupUtil.createForEthashChain( // Mainnet is a more robust test resource, but it takes upwards of 1 minute to generate - BlockTestUtil.getMainnetResources(), - // BlockTestUtil.getSnapTestChainResources(), /* snap only has a + //BlockTestUtil.getMainnetResources(), + BlockTestUtil.getSnapTestChainResources(), DataStorageFormat.BONSAI); blockchainSetupUtil.importAllBlocks(HeaderValidationMode.NONE, HeaderValidationMode.NONE); }