diff --git a/src/Nethermind/Nethermind.State/SnapServer/SnapServer.cs b/src/Nethermind/Nethermind.State/SnapServer/SnapServer.cs index bc3dd8b21dc..c8d5ed523dd 100644 --- a/src/Nethermind/Nethermind.State/SnapServer/SnapServer.cs +++ b/src/Nethermind/Nethermind.State/SnapServer/SnapServer.cs @@ -36,7 +36,6 @@ public class SnapServer : ISnapServer private readonly IReadOnlyTrieStore _store; private readonly TrieStoreWithReadFlags _storeWithReadFlag; private readonly IReadOnlyKeyValueStore _codeDb; - private readonly IStateReader _stateReader; private readonly ILogManager _logManager; private readonly ILogger _logger; @@ -51,11 +50,10 @@ public class SnapServer : ISnapServer private const long HardResponseByteLimit = 2000000; private const int HardResponseNodeLimit = 100000; - public SnapServer(IReadOnlyTrieStore trieStore, IReadOnlyKeyValueStore codeDb, IStateReader stateReader, ILogManager logManager, ILastNStateRootTracker? lastNStateRootTracker = null) + public SnapServer(IReadOnlyTrieStore trieStore, IReadOnlyKeyValueStore codeDb, ILogManager logManager, ILastNStateRootTracker? lastNStateRootTracker = null) { _store = trieStore ?? throw new ArgumentNullException(nameof(trieStore)); _codeDb = codeDb ?? throw new ArgumentNullException(nameof(codeDb)); - _stateReader = stateReader; // TODO: Remove _lastNStateRootTracker = lastNStateRootTracker; _logManager = logManager ?? throw new ArgumentNullException(nameof(logManager)); _logger = logManager.GetClassLogger(); diff --git a/src/Nethermind/Nethermind.State/WorldStateManager.cs b/src/Nethermind/Nethermind.State/WorldStateManager.cs index b6f5838627f..5faed688aef 100644 --- a/src/Nethermind/Nethermind.State/WorldStateManager.cs +++ b/src/Nethermind/Nethermind.State/WorldStateManager.cs @@ -56,7 +56,7 @@ public event EventHandler? ReorgBoundaryReached public IStateReader GlobalStateReader { get; } - public ISnapServer? SnapServer => _trieStore.Scheme == INodeStorage.KeyScheme.Hash ? null : new SnapServer.SnapServer(_readOnlyTrieStore, _readaOnlyCodeCb, GlobalStateReader, _logManager, _lastNStateRootTracker); + public ISnapServer? SnapServer => _trieStore.Scheme == INodeStorage.KeyScheme.Hash ? null : new SnapServer.SnapServer(_readOnlyTrieStore, _readaOnlyCodeCb, _logManager, _lastNStateRootTracker); public IWorldStateScopeProvider CreateResettableWorldState() { diff --git a/src/Nethermind/Nethermind.Synchronization.Test/FastSync/StateSyncFeedTestsBase.cs b/src/Nethermind/Nethermind.Synchronization.Test/FastSync/StateSyncFeedTestsBase.cs index 4e427df4f5e..3bbf4ae7c71 100644 --- a/src/Nethermind/Nethermind.Synchronization.Test/FastSync/StateSyncFeedTestsBase.cs +++ b/src/Nethermind/Nethermind.Synchronization.Test/FastSync/StateSyncFeedTestsBase.cs @@ -301,8 +301,6 @@ public SyncPeerMock( Node = node ?? new Node(TestItem.PublicKeyA, "127.0.0.1", 30302, true) { EthDetails = "eth68" }; _maxRandomizedLatencyMs = maxRandomizedLatencyMs ?? 0; - IStateReader alwaysAvailableRootTracker = Substitute.For(); - alwaysAvailableRootTracker.HasStateForBlock(Arg.Any()).Returns(true); PruningConfig pruningConfig = new PruningConfig(); TestFinalizedStateProvider testFinalizedStateProvider = new TestFinalizedStateProvider(pruningConfig.PruningBoundary); TrieStore trieStore = new TrieStore(new NodeStorage(stateDb), Nethermind.Trie.Pruning.No.Pruning, @@ -311,7 +309,6 @@ public SyncPeerMock( _snapServer = new SnapServer( trieStore.AsReadOnly(), codeDb, - alwaysAvailableRootTracker, LimboLogs.Instance); } diff --git a/src/Nethermind/Nethermind.Synchronization.Test/SnapSync/SnapProviderTests.cs b/src/Nethermind/Nethermind.Synchronization.Test/SnapSync/SnapProviderTests.cs index f9c245f47ad..8ab341cc3af 100644 --- a/src/Nethermind/Nethermind.Synchronization.Test/SnapSync/SnapProviderTests.cs +++ b/src/Nethermind/Nethermind.Synchronization.Test/SnapSync/SnapProviderTests.cs @@ -261,9 +261,7 @@ private static (SnapServer, Hash256) BuildSnapServerFromEntries((Hash256, Accoun st.Commit(); } - IStateReader stateRootTracker = Substitute.For(); - stateRootTracker.HasStateForBlock(Build.A.BlockHeader.WithStateRoot(st.RootHash).TestObject).Returns(true); - var ss = new SnapServer(trieStore.AsReadOnly(), new TestMemDb(), stateRootTracker, LimboLogs.Instance); + var ss = new SnapServer(trieStore.AsReadOnly(), new TestMemDb(), LimboLogs.Instance); return (ss, st.RootHash); } } diff --git a/src/Nethermind/Nethermind.Synchronization.Test/SnapSync/SnapServerTest.cs b/src/Nethermind/Nethermind.Synchronization.Test/SnapSync/SnapServerTest.cs index 2c17a1316ea..79343c2026e 100644 --- a/src/Nethermind/Nethermind.Synchronization.Test/SnapSync/SnapServerTest.cs +++ b/src/Nethermind/Nethermind.Synchronization.Test/SnapSync/SnapServerTest.cs @@ -34,13 +34,13 @@ private class Context internal MemDb ClientStateDb { get; init; } = null!; } - private Context CreateContext(IStateReader? stateRootTracker = null, ILastNStateRootTracker? lastNStateRootTracker = null) + private Context CreateContext(ILastNStateRootTracker? lastNStateRootTracker = null) { MemDb stateDbServer = new(); MemDb codeDbServer = new(); TestRawTrieStore store = new TestRawTrieStore(stateDbServer); StateTree tree = new(store, LimboLogs.Instance); - SnapServer server = new(store.AsReadOnly(), codeDbServer, stateRootTracker ?? CreateConstantStateRootTracker(true), LimboLogs.Instance, lastNStateRootTracker); + SnapServer server = new(store.AsReadOnly(), codeDbServer, LimboLogs.Instance, lastNStateRootTracker); MemDb clientStateDb = new(); using ProgressTracker progressTracker = new(clientStateDb, new TestSyncConfig(), new StateSyncPivot(null!, new TestSyncConfig(), LimboLogs.Instance), LimboLogs.Instance); @@ -133,7 +133,7 @@ public void TestNoState(bool withLastNStateTracker) lastNStateTracker.HasStateRoot(Arg.Any()).Returns(false); } - Context context = CreateContext(stateRootTracker: CreateConstantStateRootTracker(withLastNStateTracker), lastNStateRootTracker: lastNStateTracker); + Context context = CreateContext(lastNStateRootTracker: lastNStateTracker); (IOwnedReadOnlyList accounts, IOwnedReadOnlyList accountProofs) = context.Server.GetAccountRanges(context.Tree.RootHash, Keccak.Zero, Keccak.MaxValue, 4000, CancellationToken.None); @@ -267,7 +267,7 @@ public void TestGetStorageRange() (StateTree inputStateTree, StorageTree inputStorageTree, Hash256 _) = TestItem.Tree.GetTrees(store); - SnapServer server = new(store.AsReadOnly(), codeDb, CreateConstantStateRootTracker(true), LimboLogs.Instance); + SnapServer server = new(store.AsReadOnly(), codeDb, LimboLogs.Instance); IDb codeDb2 = new MemDb(); IDb stateDb2 = new MemDb(); @@ -306,7 +306,7 @@ public void TestGetStorageRange_NoSlotsForAccount() (StateTree inputStateTree, StorageTree inputStorageTree, Hash256 _) = TestItem.Tree.GetTrees(store); - SnapServer server = new(store.AsReadOnly(), codeDb, CreateConstantStateRootTracker(true), LimboLogs.Instance); + SnapServer server = new(store.AsReadOnly(), codeDb, LimboLogs.Instance); ValueHash256 lastStorageHash = TestItem.Tree.SlotsWithPaths[^1].Path; var asInt = lastStorageHash.ToUInt256(); @@ -332,7 +332,7 @@ public void TestGetStorageRangeMulti() (StateTree inputStateTree, StorageTree inputStorageTree, Hash256 _) = TestItem.Tree.GetTrees(store, 10000); - SnapServer server = new(store.AsReadOnly(), codeDb, CreateConstantStateRootTracker(true), LimboLogs.Instance); + SnapServer server = new(store.AsReadOnly(), codeDb, LimboLogs.Instance); IDb stateDb2 = new MemDb(); IDb codeDb2 = new MemDb(); @@ -404,7 +404,7 @@ public void TestWithHugeTree() } stateTree.Commit(); - SnapServer server = new(store.AsReadOnly(), codeDb, CreateConstantStateRootTracker(true), LimboLogs.Instance); + SnapServer server = new(store.AsReadOnly(), codeDb, LimboLogs.Instance); // size of one PathWithAccount ranges from 39 -> 72 (IOwnedReadOnlyList accounts, IOwnedReadOnlyList accountProofs) @@ -483,10 +483,4 @@ public void TestWithHugeTree() proofs?.Dispose(); } - private IStateReader CreateConstantStateRootTracker(bool available) - { - IStateReader tracker = Substitute.For(); - tracker.HasStateForBlock(Arg.Any()).Returns(available); - return tracker; - } }