Skip to content

Commit faa8d45

Browse files
committed
Use single container
1 parent fba86c7 commit faa8d45

File tree

5 files changed

+13
-7
lines changed

5 files changed

+13
-7
lines changed

src/Nethermind/Nethermind.Api/IApiWithBlockchain.cs

+3
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
using Nethermind.Consensus.Scheduler;
1818
using Nethermind.Consensus.Validators;
1919
using Nethermind.Core;
20+
using Nethermind.Era1;
2021
using Nethermind.Evm.TransactionProcessing;
2122
using Nethermind.Facade;
2223
using Nethermind.Facade.Eth;
@@ -104,6 +105,8 @@ public interface IApiWithBlockchain : IApiWithStores, IBlockchainBridgeFactory
104105
BackgroundTaskScheduler BackgroundTaskScheduler { get; set; }
105106
CensorshipDetector CensorshipDetector { get; set; }
106107

108+
IAdminEraService AdminEraService { get; set; }
109+
107110
public ContainerBuilder ConfigureContainerBuilderFromApiWithBlockchain(ContainerBuilder builder)
108111
{
109112
return ConfigureContainerBuilderFromApiWithStores(builder)

src/Nethermind/Nethermind.Api/INethermindApi.cs

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#nullable enable
55
using System;
66
using Nethermind.Config;
7+
using Nethermind.Era1;
78
using Nethermind.Facade.Eth;
89
using Nethermind.Facade.Eth.RpcTransaction;
910
using Nethermind.Serialization.Rlp;

src/Nethermind/Nethermind.Api/NethermindApi.cs

+2
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
using Nethermind.Sockets;
5858
using Nethermind.Trie;
5959
using Nethermind.Consensus.Processing.CensorshipDetector;
60+
using Nethermind.Era1;
6061
using Nethermind.Facade.Find;
6162
using Nethermind.Synchronization.FastSync;
6263

@@ -226,6 +227,7 @@ public ISealEngine SealEngine
226227
public INodeStorageFactory NodeStorageFactory { get; set; } = null!;
227228
public BackgroundTaskScheduler BackgroundTaskScheduler { get; set; } = null!;
228229
public CensorshipDetector CensorshipDetector { get; set; } = null!;
230+
public IAdminEraService AdminEraService { get; set; } = null!;
229231
public IWallet? Wallet { get; set; }
230232
public IBadBlockStore? BadBlocksStore { get; set; }
231233
public ITransactionComparerProvider? TransactionComparerProvider { get; set; }

src/Nethermind/Nethermind.Init/Steps/EraStep.cs

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// SPDX-FileCopyrightText: 2024 Demerzel Solutions Limited
22
// SPDX-License-Identifier: LGPL-3.0-only
33

4+
using System;
45
using System.Threading;
56
using System.Threading.Tasks;
67
using Autofac;
@@ -22,9 +23,13 @@ public EraStep(INethermindApi api)
2223

2324
public async Task Execute(CancellationToken cancellationToken)
2425
{
25-
await using IContainer container = _api.ConfigureContainerBuilderFromApiWithBlockchain(new ContainerBuilder())
26+
IContainer container = _api.ConfigureContainerBuilderFromApiWithBlockchain(new ContainerBuilder())
2627
.AddModule(new EraModule())
2728
.Build();
29+
30+
_api.DisposeStack.Push((IAsyncDisposable) container);
31+
_api.AdminEraService = container.Resolve<IAdminEraService>();
32+
2833
await container.Resolve<EraCliRunner>().Run(cancellationToken);
2934
}
3035
}

src/Nethermind/Nethermind.Init/Steps/RegisterRpcModules.cs

+1-6
Original file line numberDiff line numberDiff line change
@@ -124,11 +124,6 @@ public virtual async Task Execute(CancellationToken cancellationToken)
124124
StepDependencyException.ThrowIfNull(_api.StaticNodesManager);
125125
StepDependencyException.ThrowIfNull(_api.Enode);
126126

127-
IContainer eraContainer = _api.ConfigureContainerBuilderFromApiWithBlockchain(new ContainerBuilder())
128-
.AddModule(new EraModule())
129-
.Build();
130-
_api.DisposeStack.Push((IAsyncDisposable)eraContainer);
131-
132127
ManualPruningTrigger pruningTrigger = new();
133128
_api.PruningTrigger.Add(pruningTrigger);
134129
(IApiWithStores getFromApi, IApiWithBlockchain setInApi) = _api.ForInit;
@@ -141,7 +136,7 @@ public virtual async Task Execute(CancellationToken cancellationToken)
141136
_api.BlockingVerifyTrie!,
142137
_api.WorldStateManager.GlobalStateReader,
143138
_api.Enode,
144-
eraContainer.Resolve<IAdminEraService>(),
139+
_api.AdminEraService,
145140
initConfig.BaseDbPath,
146141
pruningTrigger,
147142
getFromApi.ChainSpec.Parameters);

0 commit comments

Comments
 (0)