Skip to content

Commit 7801022

Browse files
matktjflo
authored andcommitted
move forest class to a specific package (besu-eth#6293)
cleaning up the worldstate section, moving and renaming everything that is forest into a specific package in order to clarify the difference between Bonsai and Forest in the code. --------- Signed-off-by: Karim Taam <karim.t2am@gmail.com> Signed-off-by: matkt <karim.t2am@gmail.com>
1 parent bd058df commit 7801022

File tree

41 files changed

+188
-169
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+188
-169
lines changed

besu/src/main/java/org/hyperledger/besu/cli/BesuCommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,7 @@
130130
import org.hyperledger.besu.ethereum.eth.sync.SynchronizerConfiguration;
131131
import org.hyperledger.besu.ethereum.eth.transactions.ImmutableTransactionPoolConfiguration;
132132
import org.hyperledger.besu.ethereum.eth.transactions.TransactionPoolConfiguration;
133+
import org.hyperledger.besu.ethereum.forest.pruner.PrunerConfiguration;
133134
import org.hyperledger.besu.ethereum.mainnet.FrontierTargetingGasLimitCalculator;
134135
import org.hyperledger.besu.ethereum.p2p.config.DiscoveryConfiguration;
135136
import org.hyperledger.besu.ethereum.p2p.peers.EnodeDnsConfiguration;
@@ -146,7 +147,6 @@
146147
import org.hyperledger.besu.ethereum.storage.keyvalue.KeyValueSegmentIdentifier;
147148
import org.hyperledger.besu.ethereum.storage.keyvalue.KeyValueStorageProvider;
148149
import org.hyperledger.besu.ethereum.storage.keyvalue.KeyValueStorageProviderBuilder;
149-
import org.hyperledger.besu.ethereum.worldstate.PrunerConfiguration;
150150
import org.hyperledger.besu.evm.precompile.AbstractAltBnPrecompiledContract;
151151
import org.hyperledger.besu.evm.precompile.BigIntegerModularExponentiationPrecompiledContract;
152152
import org.hyperledger.besu.evm.precompile.KZGPointEvalPrecompiledContract;

besu/src/main/java/org/hyperledger/besu/cli/subcommands/operator/BackupState.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
import org.hyperledger.besu.ethereum.api.query.StateBackupService.BackupStatus;
2727
import org.hyperledger.besu.ethereum.chain.MutableBlockchain;
2828
import org.hyperledger.besu.ethereum.eth.manager.EthScheduler;
29-
import org.hyperledger.besu.ethereum.worldstate.DefaultWorldStateArchive;
29+
import org.hyperledger.besu.ethereum.forest.ForestWorldStateArchive;
3030
import org.hyperledger.besu.ethereum.worldstate.WorldStateStorage;
3131
import org.hyperledger.besu.metrics.noop.NoOpMetricsSystem;
3232

@@ -82,7 +82,7 @@ public void run() {
8282
final BesuController besuController = createBesuController();
8383
final MutableBlockchain blockchain = besuController.getProtocolContext().getBlockchain();
8484
final WorldStateStorage worldStateStorage =
85-
((DefaultWorldStateArchive) besuController.getProtocolContext().getWorldStateArchive())
85+
((ForestWorldStateArchive) besuController.getProtocolContext().getWorldStateArchive())
8686
.getWorldStateStorage();
8787
final EthScheduler scheduler = new EthScheduler(1, 1, 1, 1, new NoOpMetricsSystem());
8888
try {

besu/src/main/java/org/hyperledger/besu/cli/subcommands/operator/RestoreState.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,13 @@
3030
import org.hyperledger.besu.ethereum.core.BlockHeader;
3131
import org.hyperledger.besu.ethereum.core.BlockHeaderFunctions;
3232
import org.hyperledger.besu.ethereum.core.TransactionReceipt;
33+
import org.hyperledger.besu.ethereum.forest.ForestWorldStateArchive;
3334
import org.hyperledger.besu.ethereum.mainnet.MainnetBlockHeaderFunctions;
3435
import org.hyperledger.besu.ethereum.rlp.BytesValueRLPInput;
3536
import org.hyperledger.besu.ethereum.rlp.RLPInput;
3637
import org.hyperledger.besu.ethereum.trie.Node;
3738
import org.hyperledger.besu.ethereum.trie.PersistVisitor;
3839
import org.hyperledger.besu.ethereum.trie.RestoreVisitor;
39-
import org.hyperledger.besu.ethereum.worldstate.DefaultWorldStateArchive;
4040
import org.hyperledger.besu.ethereum.worldstate.StateTrieAccountValue;
4141
import org.hyperledger.besu.ethereum.worldstate.WorldStateStorage;
4242
import org.hyperledger.besu.util.io.RollingFileReader;
@@ -250,7 +250,7 @@ private void newWorldStateUpdater() {
250250
updater.commit();
251251
}
252252
final WorldStateStorage worldStateStorage =
253-
((DefaultWorldStateArchive) besuController.getProtocolContext().getWorldStateArchive())
253+
((ForestWorldStateArchive) besuController.getProtocolContext().getWorldStateArchive())
254254
.getWorldStateStorage();
255255
updater = worldStateStorage.updater();
256256
}

besu/src/main/java/org/hyperledger/besu/controller/BesuControllerBuilder.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,10 @@
7878
import org.hyperledger.besu.ethereum.eth.transactions.TransactionPool;
7979
import org.hyperledger.besu.ethereum.eth.transactions.TransactionPoolConfiguration;
8080
import org.hyperledger.besu.ethereum.eth.transactions.TransactionPoolFactory;
81+
import org.hyperledger.besu.ethereum.forest.ForestWorldStateArchive;
82+
import org.hyperledger.besu.ethereum.forest.pruner.MarkSweepPruner;
83+
import org.hyperledger.besu.ethereum.forest.pruner.Pruner;
84+
import org.hyperledger.besu.ethereum.forest.pruner.PrunerConfiguration;
8185
import org.hyperledger.besu.ethereum.mainnet.ProtocolSchedule;
8286
import org.hyperledger.besu.ethereum.mainnet.ProtocolSpec;
8387
import org.hyperledger.besu.ethereum.p2p.config.NetworkingConfiguration;
@@ -86,10 +90,6 @@
8690
import org.hyperledger.besu.ethereum.storage.keyvalue.KeyValueSegmentIdentifier;
8791
import org.hyperledger.besu.ethereum.worldstate.DataStorageConfiguration;
8892
import org.hyperledger.besu.ethereum.worldstate.DataStorageFormat;
89-
import org.hyperledger.besu.ethereum.worldstate.DefaultWorldStateArchive;
90-
import org.hyperledger.besu.ethereum.worldstate.MarkSweepPruner;
91-
import org.hyperledger.besu.ethereum.worldstate.Pruner;
92-
import org.hyperledger.besu.ethereum.worldstate.PrunerConfiguration;
9393
import org.hyperledger.besu.ethereum.worldstate.WorldStateArchive;
9494
import org.hyperledger.besu.ethereum.worldstate.WorldStatePreimageStorage;
9595
import org.hyperledger.besu.ethereum.worldstate.WorldStateStorage;
@@ -657,7 +657,7 @@ public BesuController build() {
657657
Optional.of(
658658
new Pruner(
659659
new MarkSweepPruner(
660-
((DefaultWorldStateArchive) worldStateArchive).getWorldStateStorage(),
660+
((ForestWorldStateArchive) worldStateArchive).getWorldStateStorage(),
661661
blockchain,
662662
storageProvider.getStorageBySegmentIdentifier(
663663
KeyValueSegmentIdentifier.PRUNING_STATE),
@@ -1093,7 +1093,7 @@ yield new BonsaiWorldStateProvider(
10931093
case FOREST -> {
10941094
final WorldStatePreimageStorage preimageStorage =
10951095
storageProvider.createWorldStatePreimageStorage();
1096-
yield new DefaultWorldStateArchive(worldStateStorage, preimageStorage, evmConfiguration);
1096+
yield new ForestWorldStateArchive(worldStateStorage, preimageStorage, evmConfiguration);
10971097
}
10981098
};
10991099
}

besu/src/main/java/org/hyperledger/besu/controller/ConsensusScheduleBesuControllerBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,11 @@
5353
import org.hyperledger.besu.ethereum.eth.sync.state.SyncState;
5454
import org.hyperledger.besu.ethereum.eth.transactions.TransactionPool;
5555
import org.hyperledger.besu.ethereum.eth.transactions.TransactionPoolConfiguration;
56+
import org.hyperledger.besu.ethereum.forest.pruner.PrunerConfiguration;
5657
import org.hyperledger.besu.ethereum.mainnet.ProtocolSchedule;
5758
import org.hyperledger.besu.ethereum.p2p.config.SubProtocolConfiguration;
5859
import org.hyperledger.besu.ethereum.storage.StorageProvider;
5960
import org.hyperledger.besu.ethereum.worldstate.DataStorageConfiguration;
60-
import org.hyperledger.besu.ethereum.worldstate.PrunerConfiguration;
6161
import org.hyperledger.besu.ethereum.worldstate.WorldStateArchive;
6262
import org.hyperledger.besu.evm.internal.EvmConfiguration;
6363
import org.hyperledger.besu.metrics.ObservableMetricsSystem;

besu/src/main/java/org/hyperledger/besu/controller/TransitionBesuControllerBuilder.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,11 @@
5050
import org.hyperledger.besu.ethereum.eth.sync.state.SyncState;
5151
import org.hyperledger.besu.ethereum.eth.transactions.TransactionPool;
5252
import org.hyperledger.besu.ethereum.eth.transactions.TransactionPoolConfiguration;
53+
import org.hyperledger.besu.ethereum.forest.pruner.Pruner;
54+
import org.hyperledger.besu.ethereum.forest.pruner.PrunerConfiguration;
5355
import org.hyperledger.besu.ethereum.mainnet.ProtocolSchedule;
5456
import org.hyperledger.besu.ethereum.storage.StorageProvider;
5557
import org.hyperledger.besu.ethereum.worldstate.DataStorageConfiguration;
56-
import org.hyperledger.besu.ethereum.worldstate.Pruner;
57-
import org.hyperledger.besu.ethereum.worldstate.PrunerConfiguration;
5858
import org.hyperledger.besu.ethereum.worldstate.WorldStateArchive;
5959
import org.hyperledger.besu.ethereum.worldstate.WorldStateStorage;
6060
import org.hyperledger.besu.evm.internal.EvmConfiguration;

besu/src/test/java/org/hyperledger/besu/cli/BesuCommandTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,12 +79,12 @@
7979
import org.hyperledger.besu.ethereum.eth.sync.SyncMode;
8080
import org.hyperledger.besu.ethereum.eth.sync.SynchronizerConfiguration;
8181
import org.hyperledger.besu.ethereum.eth.transactions.TransactionPoolConfiguration;
82+
import org.hyperledger.besu.ethereum.forest.pruner.PrunerConfiguration;
8283
import org.hyperledger.besu.ethereum.p2p.peers.EnodeURLImpl;
8384
import org.hyperledger.besu.ethereum.permissioning.LocalPermissioningConfiguration;
8485
import org.hyperledger.besu.ethereum.permissioning.PermissioningConfiguration;
8586
import org.hyperledger.besu.ethereum.permissioning.SmartContractPermissioningConfiguration;
8687
import org.hyperledger.besu.ethereum.worldstate.DataStorageConfiguration;
87-
import org.hyperledger.besu.ethereum.worldstate.PrunerConfiguration;
8888
import org.hyperledger.besu.evm.precompile.AbstractAltBnPrecompiledContract;
8989
import org.hyperledger.besu.evm.precompile.KZGPointEvalPrecompiledContract;
9090
import org.hyperledger.besu.metrics.StandardMetricCategory;

besu/src/test/java/org/hyperledger/besu/controller/BesuControllerBuilderTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
import org.hyperledger.besu.ethereum.eth.EthProtocolConfiguration;
4040
import org.hyperledger.besu.ethereum.eth.sync.SynchronizerConfiguration;
4141
import org.hyperledger.besu.ethereum.eth.transactions.TransactionPoolConfiguration;
42+
import org.hyperledger.besu.ethereum.forest.pruner.PrunerConfiguration;
4243
import org.hyperledger.besu.ethereum.mainnet.MainnetBlockHeaderFunctions;
4344
import org.hyperledger.besu.ethereum.p2p.config.NetworkingConfiguration;
4445
import org.hyperledger.besu.ethereum.storage.StorageProvider;
@@ -48,7 +49,6 @@
4849
import org.hyperledger.besu.ethereum.worldstate.DataStorageConfiguration;
4950
import org.hyperledger.besu.ethereum.worldstate.DataStorageFormat;
5051
import org.hyperledger.besu.ethereum.worldstate.ImmutableDataStorageConfiguration;
51-
import org.hyperledger.besu.ethereum.worldstate.PrunerConfiguration;
5252
import org.hyperledger.besu.ethereum.worldstate.WorldStateArchive;
5353
import org.hyperledger.besu.ethereum.worldstate.WorldStatePreimageStorage;
5454
import org.hyperledger.besu.ethereum.worldstate.WorldStateStorage;

consensus/qbft/src/integration-test/java/org/hyperledger/besu/consensus/qbft/support/TestContextBuilder.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,8 @@
103103
import org.hyperledger.besu.ethereum.eth.transactions.TransactionPoolConfiguration;
104104
import org.hyperledger.besu.ethereum.eth.transactions.TransactionPoolMetrics;
105105
import org.hyperledger.besu.ethereum.eth.transactions.sorter.GasPricePendingTransactionsSorter;
106+
import org.hyperledger.besu.ethereum.forest.ForestWorldStateArchive;
106107
import org.hyperledger.besu.ethereum.transaction.TransactionSimulator;
107-
import org.hyperledger.besu.ethereum.worldstate.DefaultWorldStateArchive;
108108
import org.hyperledger.besu.ethereum.worldstate.WorldStateArchive;
109109
import org.hyperledger.besu.evm.internal.EvmConfiguration;
110110
import org.hyperledger.besu.metrics.noop.NoOpMetricsSystem;
@@ -241,7 +241,7 @@ public TestContext build() {
241241
}
242242

243243
final MutableBlockchain blockChain;
244-
final DefaultWorldStateArchive worldStateArchive = createInMemoryWorldStateArchive();
244+
final ForestWorldStateArchive worldStateArchive = createInMemoryWorldStateArchive();
245245

246246
if (genesisFile.isPresent()) {
247247
try {

ethereum/core/src/integration-test/java/org/hyperledger/besu/ethereum/worldstate/PrunerIntegrationTest.java renamed to ethereum/core/src/integration-test/java/org/hyperledger/besu/ethereum/forest/pruner/PrunerIntegrationTest.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
*
1313
* SPDX-License-Identifier: Apache-2.0
1414
*/
15-
package org.hyperledger.besu.ethereum.worldstate;
15+
package org.hyperledger.besu.ethereum.forest.pruner;
1616

1717
import static org.assertj.core.api.Assertions.assertThat;
1818
import static org.hyperledger.besu.ethereum.core.InMemoryKeyValueStorageProvider.createInMemoryBlockchain;
@@ -25,12 +25,16 @@
2525
import org.hyperledger.besu.ethereum.core.BlockHeader;
2626
import org.hyperledger.besu.ethereum.core.MutableWorldState;
2727
import org.hyperledger.besu.ethereum.core.TransactionReceipt;
28+
import org.hyperledger.besu.ethereum.forest.ForestWorldStateArchive;
29+
import org.hyperledger.besu.ethereum.forest.pruner.Pruner.PruningPhase;
30+
import org.hyperledger.besu.ethereum.forest.storage.ForestWorldStateKeyValueStorage;
2831
import org.hyperledger.besu.ethereum.rlp.RLP;
29-
import org.hyperledger.besu.ethereum.storage.keyvalue.WorldStateKeyValueStorage;
3032
import org.hyperledger.besu.ethereum.storage.keyvalue.WorldStatePreimageKeyValueStorage;
3133
import org.hyperledger.besu.ethereum.trie.MerkleTrie;
3234
import org.hyperledger.besu.ethereum.trie.patricia.StoredMerklePatriciaTrie;
33-
import org.hyperledger.besu.ethereum.worldstate.Pruner.PruningPhase;
35+
import org.hyperledger.besu.ethereum.worldstate.StateTrieAccountValue;
36+
import org.hyperledger.besu.ethereum.worldstate.WorldStateArchive;
37+
import org.hyperledger.besu.ethereum.worldstate.WorldStateStorage;
3438
import org.hyperledger.besu.evm.internal.EvmConfiguration;
3539
import org.hyperledger.besu.evm.worldstate.WorldState;
3640
import org.hyperledger.besu.metrics.noop.NoOpMetricsSystem;
@@ -57,9 +61,10 @@ public class PrunerIntegrationTest {
5761
private final NoOpMetricsSystem metricsSystem = new NoOpMetricsSystem();
5862
private final Map<Bytes, Optional<byte[]>> hashValueStore = new HashMap<>();
5963
private final InMemoryKeyValueStorage stateStorage = new TestInMemoryStorage(hashValueStore);
60-
private final WorldStateStorage worldStateStorage = new WorldStateKeyValueStorage(stateStorage);
64+
private final WorldStateStorage worldStateStorage =
65+
new ForestWorldStateKeyValueStorage(stateStorage);
6166
private final WorldStateArchive worldStateArchive =
62-
new DefaultWorldStateArchive(
67+
new ForestWorldStateArchive(
6368
worldStateStorage,
6469
new WorldStatePreimageKeyValueStorage(new InMemoryKeyValueStorage()),
6570
EvmConfiguration.DEFAULT);

0 commit comments

Comments
 (0)