From 324b2d180d1558a3729d76961280ffa4e3c9a835 Mon Sep 17 00:00:00 2001 From: s2quake Date: Tue, 1 Oct 2024 15:52:14 +0900 Subject: [PATCH 1/2] refactor: Simply rename Evidence-related variables --- .../Commands/EvidenceCommand.cs | 16 ++++++++-------- .../{EvidenceNodeContent.cs => Evidence.cs} | 6 +++--- .../{IEvidenceContent.cs => IEvidence.cs} | 2 +- .../Commands/EvidenceCommand.cs | 16 ++++++++-------- .../{EvidenceNode.cs => Evidence.cs} | 4 ++-- .../{IEvidenceNode.cs => IEvidence.cs} | 2 +- ...EvidenceNodeService.cs => EvidenceService.cs} | 10 +++++----- 7 files changed, 28 insertions(+), 28 deletions(-) rename src/console/LibplanetConsole.Console.Evidence/{EvidenceNodeContent.cs => Evidence.cs} (89%) rename src/console/LibplanetConsole.Console.Evidence/{IEvidenceContent.cs => IEvidence.cs} (92%) rename src/node/LibplanetConsole.Node.Evidence/{EvidenceNode.cs => Evidence.cs} (96%) rename src/node/LibplanetConsole.Node.Evidence/{IEvidenceNode.cs => IEvidence.cs} (95%) rename src/node/LibplanetConsole.Node.Evidence/Services/{EvidenceNodeService.cs => EvidenceService.cs} (73%) diff --git a/src/console/LibplanetConsole.Console.Evidence/Commands/EvidenceCommand.cs b/src/console/LibplanetConsole.Console.Evidence/Commands/EvidenceCommand.cs index 21c8e95f..c04695ff 100644 --- a/src/console/LibplanetConsole.Console.Evidence/Commands/EvidenceCommand.cs +++ b/src/console/LibplanetConsole.Console.Evidence/Commands/EvidenceCommand.cs @@ -18,8 +18,8 @@ public async Task NewAsync( string nodeAddress = "", CancellationToken cancellationToken = default) { var node = nodes.Current ?? throw new InvalidOperationException("No node is selected."); - var evidenceContent = node.GetRequiredService(); - var evidenceInfo = await evidenceContent.AddEvidenceAsync(cancellationToken); + var evidence = node.GetRequiredService(); + var evidenceInfo = await evidence.AddEvidenceAsync(cancellationToken); await Out.WriteLineAsJsonAsync(evidenceInfo); } @@ -28,16 +28,16 @@ public async Task RaiseAsync( CancellationToken cancellationToken = default) { var node = nodes.Current ?? throw new InvalidOperationException("No node is selected."); - var evidenceContent = node.GetRequiredService(); - await evidenceContent.ViolateAsync(cancellationToken); + var evidence = node.GetRequiredService(); + await evidence.ViolateAsync(cancellationToken); } [CommandMethod] public async Task ListAsync(long height = -1, CancellationToken cancellationToken = default) { var node = nodes.Current ?? throw new InvalidOperationException("No node is selected."); - var evidenceContent = node.GetRequiredService(); - var evidenceInfos = await evidenceContent.GetEvidenceAsync(height, cancellationToken); + var evidence = node.GetRequiredService(); + var evidenceInfos = await evidence.GetEvidenceAsync(height, cancellationToken); await Out.WriteLineAsJsonAsync(evidenceInfos); } @@ -47,8 +47,8 @@ public async Task UnjailAsync( CancellationToken cancellationToken = default) { var node = nodes.Current ?? throw new InvalidOperationException("No node is selected."); - var evidenceContent = node.GetService(); - await evidenceContent.UnjailAsync(cancellationToken); + var evidence = node.GetService(); + await evidence.UnjailAsync(cancellationToken); } #endif // LIBPLANET_DPOS } diff --git a/src/console/LibplanetConsole.Console.Evidence/EvidenceNodeContent.cs b/src/console/LibplanetConsole.Console.Evidence/Evidence.cs similarity index 89% rename from src/console/LibplanetConsole.Console.Evidence/EvidenceNodeContent.cs rename to src/console/LibplanetConsole.Console.Evidence/Evidence.cs index 27e37f21..f2bbc317 100644 --- a/src/console/LibplanetConsole.Console.Evidence/EvidenceNodeContent.cs +++ b/src/console/LibplanetConsole.Console.Evidence/Evidence.cs @@ -7,11 +7,11 @@ namespace LibplanetConsole.Console.Evidence; [Export(typeof(INodeContent))] -[Export(typeof(IEvidenceContent))] +[Export(typeof(IEvidence))] [Export(typeof(INodeContentService))] [method: ImportingConstructor] -internal sealed class EvidenceNodeContent(INode node) - : INodeContent, IEvidenceContent, INodeContentService +internal sealed class Evidence(INode node) + : INodeContent, IEvidence, INodeContentService { private readonly RemoteService _evidenceService = new(); diff --git a/src/console/LibplanetConsole.Console.Evidence/IEvidenceContent.cs b/src/console/LibplanetConsole.Console.Evidence/IEvidence.cs similarity index 92% rename from src/console/LibplanetConsole.Console.Evidence/IEvidenceContent.cs rename to src/console/LibplanetConsole.Console.Evidence/IEvidence.cs index 58edb033..fe7d62d3 100644 --- a/src/console/LibplanetConsole.Console.Evidence/IEvidenceContent.cs +++ b/src/console/LibplanetConsole.Console.Evidence/IEvidence.cs @@ -2,7 +2,7 @@ namespace LibplanetConsole.Console.Evidence; -internal interface IEvidenceContent +internal interface IEvidence { Task AddEvidenceAsync(CancellationToken cancellationToken); diff --git a/src/node/LibplanetConsole.Node.Evidence/Commands/EvidenceCommand.cs b/src/node/LibplanetConsole.Node.Evidence/Commands/EvidenceCommand.cs index 55ae4ba3..9b152f43 100644 --- a/src/node/LibplanetConsole.Node.Evidence/Commands/EvidenceCommand.cs +++ b/src/node/LibplanetConsole.Node.Evidence/Commands/EvidenceCommand.cs @@ -9,7 +9,7 @@ namespace LibplanetConsole.Node.Evidence.Commands; [CommandSummary("Provides evidence-related commands.")] [Category("Evidence")] [method: ImportingConstructor] -internal sealed class EvidenceCommand(INode node, IEvidenceNode evidenceNode) +internal sealed class EvidenceCommand(INode node, IEvidence evidence) : CommandMethodBase { public override bool IsEnabled => node.IsRunning is true; @@ -18,7 +18,7 @@ internal sealed class EvidenceCommand(INode node, IEvidenceNode evidenceNode) [CommandSummary("Adds a new evidence.")] public async Task NewAsync(CancellationToken cancellationToken) { - var evidenceInfo = await evidenceNode.AddEvidenceAsync(cancellationToken); + var evidenceInfo = await evidence.AddEvidenceAsync(cancellationToken); await Out.WriteLineAsJsonAsync(evidenceInfo); } @@ -26,7 +26,7 @@ public async Task NewAsync(CancellationToken cancellationToken) [CommandSummary("Raises a infraction.")] public async Task RaiseAsync(CancellationToken cancellationToken) { - await evidenceNode.ViolateAsync(cancellationToken); + await evidence.ViolateAsync(cancellationToken); } [CommandMethod] @@ -37,8 +37,8 @@ public async Task ListAsync(CancellationToken cancellationToken = default) var height = ListProperties.Height; var isPending = ListProperties.IsPending; var evidenceInfos = isPending == true ? - await evidenceNode.GetPendingEvidenceAsync(cancellationToken) : - await evidenceNode.GetEvidenceAsync(height, cancellationToken); + await evidence.GetPendingEvidenceAsync(cancellationToken) : + await evidence.GetEvidenceAsync(height, cancellationToken); await Out.WriteLineAsJsonAsync(evidenceInfos); } @@ -49,8 +49,8 @@ public async Task GetAsync(string evidenceId, CancellationToken cancellationToke { var isPending = GetProperties.IsPending; var evidenceInfo = isPending == true ? - await evidenceNode.GetPendingEvidenceAsync(evidenceId, cancellationToken) : - await evidenceNode.GetEvidenceAsync(evidenceId, cancellationToken); + await evidence.GetPendingEvidenceAsync(evidenceId, cancellationToken) : + await evidence.GetEvidenceAsync(evidenceId, cancellationToken); await Out.WriteLineAsJsonAsync(evidenceInfo); } @@ -58,7 +58,7 @@ await evidenceNode.GetPendingEvidenceAsync(evidenceId, cancellationToken) : [CommandMethod] public async Task UnjailAsync(CancellationToken cancellationToken) { - await evidenceNode.UnjailAsync(cancellationToken); + await evidence.UnjailAsync(cancellationToken); } #endif // LIBPLANET_DPOS diff --git a/src/node/LibplanetConsole.Node.Evidence/EvidenceNode.cs b/src/node/LibplanetConsole.Node.Evidence/Evidence.cs similarity index 96% rename from src/node/LibplanetConsole.Node.Evidence/EvidenceNode.cs rename to src/node/LibplanetConsole.Node.Evidence/Evidence.cs index a591db58..e3fe9a91 100644 --- a/src/node/LibplanetConsole.Node.Evidence/EvidenceNode.cs +++ b/src/node/LibplanetConsole.Node.Evidence/Evidence.cs @@ -6,10 +6,10 @@ namespace LibplanetConsole.Node.Evidence; -[Export(typeof(IEvidenceNode))] +[Export(typeof(IEvidence))] [Export] [method: ImportingConstructor] -internal sealed class EvidenceNode(INode node) : IEvidenceNode, IAsyncDisposable +internal sealed class Evidence(INode node) : IEvidence, IAsyncDisposable { private readonly DuplicateVoteViolator _duplicateVotePerpetrator = new(node); diff --git a/src/node/LibplanetConsole.Node.Evidence/IEvidenceNode.cs b/src/node/LibplanetConsole.Node.Evidence/IEvidence.cs similarity index 95% rename from src/node/LibplanetConsole.Node.Evidence/IEvidenceNode.cs rename to src/node/LibplanetConsole.Node.Evidence/IEvidence.cs index f3729585..38a07a36 100644 --- a/src/node/LibplanetConsole.Node.Evidence/IEvidenceNode.cs +++ b/src/node/LibplanetConsole.Node.Evidence/IEvidence.cs @@ -2,7 +2,7 @@ namespace LibplanetConsole.Node.Evidence; -public interface IEvidenceNode +public interface IEvidence { Task AddEvidenceAsync(CancellationToken cancellationToken); diff --git a/src/node/LibplanetConsole.Node.Evidence/Services/EvidenceNodeService.cs b/src/node/LibplanetConsole.Node.Evidence/Services/EvidenceService.cs similarity index 73% rename from src/node/LibplanetConsole.Node.Evidence/Services/EvidenceNodeService.cs rename to src/node/LibplanetConsole.Node.Evidence/Services/EvidenceService.cs index 79935493..9c40a9ee 100644 --- a/src/node/LibplanetConsole.Node.Evidence/Services/EvidenceNodeService.cs +++ b/src/node/LibplanetConsole.Node.Evidence/Services/EvidenceService.cs @@ -7,24 +7,24 @@ namespace LibplanetConsole.Node.Evidence.Services; [Export(typeof(ILocalService))] [method: ImportingConstructor] -internal sealed class EvidenceNodeService(EvidenceNode evidenceNode) +internal sealed class EvidenceService(Evidence evidence) : LocalService, IEvidenceService { public Task AddEvidenceAsync(CancellationToken cancellationToken) - => evidenceNode.AddEvidenceAsync(cancellationToken); + => evidence.AddEvidenceAsync(cancellationToken); public Task GetEvidenceAsync(long height, CancellationToken cancellationToken) - => evidenceNode.GetEvidenceAsync(height, cancellationToken); + => evidence.GetEvidenceAsync(height, cancellationToken); public Task ViolateAsync(CancellationToken cancellationToken) - => evidenceNode.ViolateAsync(cancellationToken); + => evidence.ViolateAsync(cancellationToken); #if LIBPLANET_DPOS public async Task UnjailAsync(byte[] signarue, CancellationToken cancellationToken) { if (node.Verify(true, signarue) == true) { - await evidenceNode.UnjailAsync(cancellationToken); + await evidence.UnjailAsync(cancellationToken); } throw new ArgumentException("Invalid signature.", nameof(signarue)); From 33ee556cdff89f87470fdb4478b7cadef6cfb05e Mon Sep 17 00:00:00 2001 From: s2quake Date: Tue, 1 Oct 2024 16:01:53 +0900 Subject: [PATCH 2/2] refactor: Simply rename Explorer-related variables and etc --- .submodules/lib9c | 1 - .../ExampleClientInfoProvider.cs | 2 +- .../ApplicationInfoProvider.cs | 2 +- .../ClientInfoProvider.cs | 2 +- .../InfoProviderBase.cs | 4 +- .../ExampleClientInfoProvider.cs | 2 +- .../ExampleNodeInfoProvider.cs | 2 +- .../Commands/ExplorerCommand.cs | 10 +-- ...nfoProvider.cs => ExplorerInfoProvider.cs} | 6 +- .../ExplorerNodeContent.cs | 4 +- .../{IExplorerNodeContent.cs => IExplorer.cs} | 2 +- .../ApplicationInfoProvider.cs | 2 +- .../ClientInfoProvider.cs | 2 +- .../NodeInfoProvider.cs | 2 +- .../ActionProvider.cs | 62 ------------------- .../ExampleNodeInfoProvider.cs | 2 +- .../Commands/ExplorerCommand.cs | 8 +-- .../{ExplorerNode.cs => Explorer.cs} | 6 +- .../ExplorerInfoProvider.cs | 12 ++++ .../ExplorerNodeInfoProvider.cs | 12 ---- .../{IExplorerNode.cs => IExplorer.cs} | 2 +- ...lorerNodeService.cs => ExplorerService.cs} | 24 +++---- .../ApplicationInfoProvider.cs | 2 +- .../LibplanetConsole.Node/NodeInfoProvider.cs | 2 +- .../Actions/InitializeValidator.cs | 55 ---------------- 25 files changed, 56 insertions(+), 174 deletions(-) delete mode 160000 .submodules/lib9c rename src/console/LibplanetConsole.Console.Explorer/{ExplorerNodeInfoProvider.cs => ExplorerInfoProvider.cs} (74%) rename src/console/LibplanetConsole.Console.Explorer/{IExplorerNodeContent.cs => IExplorer.cs} (90%) delete mode 100644 src/node/LibplanetConsole.Node.Delegation/ActionProvider.cs rename src/node/LibplanetConsole.Node.Explorer/{ExplorerNode.cs => Explorer.cs} (96%) create mode 100644 src/node/LibplanetConsole.Node.Explorer/ExplorerInfoProvider.cs delete mode 100644 src/node/LibplanetConsole.Node.Explorer/ExplorerNodeInfoProvider.cs rename src/node/LibplanetConsole.Node.Explorer/{IExplorerNode.cs => IExplorer.cs} (92%) rename src/node/LibplanetConsole.Node.Explorer/Services/{ExplorerNodeService.cs => ExplorerService.cs} (52%) delete mode 100644 src/shared/LibplanetConsole.Bank/Actions/InitializeValidator.cs diff --git a/.submodules/lib9c b/.submodules/lib9c deleted file mode 160000 index 178eafae..00000000 --- a/.submodules/lib9c +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 178eafae4e054b283a6e198254bba4a85e8f6f6d diff --git a/src/client/LibplanetConsole.Client.Example/ExampleClientInfoProvider.cs b/src/client/LibplanetConsole.Client.Example/ExampleClientInfoProvider.cs index 9c6c114e..f60dec9d 100644 --- a/src/client/LibplanetConsole.Client.Example/ExampleClientInfoProvider.cs +++ b/src/client/LibplanetConsole.Client.Example/ExampleClientInfoProvider.cs @@ -8,7 +8,7 @@ namespace LibplanetConsole.Client.Example; internal sealed class ExampleClientInfoProvider(ExampleClient exampleClient) : InfoProviderBase(nameof(ExampleClient)) { - protected override object? GetInfos(IApplication obj) + protected override object? GetInfo(IApplication obj) { return new { diff --git a/src/client/LibplanetConsole.Client/ApplicationInfoProvider.cs b/src/client/LibplanetConsole.Client/ApplicationInfoProvider.cs index ad2966ea..2ea9486e 100644 --- a/src/client/LibplanetConsole.Client/ApplicationInfoProvider.cs +++ b/src/client/LibplanetConsole.Client/ApplicationInfoProvider.cs @@ -11,5 +11,5 @@ public ApplicationInfoProvider() { } - protected override object? GetInfos(ApplicationBase obj) => obj.Info; + protected override object? GetInfo(ApplicationBase obj) => obj.Info; } diff --git a/src/client/LibplanetConsole.Client/ClientInfoProvider.cs b/src/client/LibplanetConsole.Client/ClientInfoProvider.cs index c9037a3e..298463a7 100644 --- a/src/client/LibplanetConsole.Client/ClientInfoProvider.cs +++ b/src/client/LibplanetConsole.Client/ClientInfoProvider.cs @@ -8,7 +8,7 @@ namespace LibplanetConsole.Client; internal sealed class ClientInfoProvider(Client client) : InfoProviderBase(nameof(Client)) { - protected override object? GetInfos(ApplicationBase obj) + protected override object? GetInfo(ApplicationBase obj) { return client.Info; } diff --git a/src/common/LibplanetConsole.Common/InfoProviderBase.cs b/src/common/LibplanetConsole.Common/InfoProviderBase.cs index 25ed3303..d96bb52f 100644 --- a/src/common/LibplanetConsole.Common/InfoProviderBase.cs +++ b/src/common/LibplanetConsole.Common/InfoProviderBase.cs @@ -10,11 +10,11 @@ public abstract class InfoProviderBase(string name) : IInfoProvider { if (obj is T t) { - return GetInfos(t); + return GetInfo(t); } throw new NotSupportedException("The object is not supported."); } - protected abstract object? GetInfos(T obj); + protected abstract object? GetInfo(T obj); } diff --git a/src/console/LibplanetConsole.Console.Example/ExampleClientInfoProvider.cs b/src/console/LibplanetConsole.Console.Example/ExampleClientInfoProvider.cs index c1c5c5ee..d1b0c95a 100644 --- a/src/console/LibplanetConsole.Console.Example/ExampleClientInfoProvider.cs +++ b/src/console/LibplanetConsole.Console.Example/ExampleClientInfoProvider.cs @@ -12,7 +12,7 @@ public ExampleClientInfoProvider() { } - protected override object? GetInfos(ExampleClientContent obj) + protected override object? GetInfo(ExampleClientContent obj) { return new { diff --git a/src/console/LibplanetConsole.Console.Example/ExampleNodeInfoProvider.cs b/src/console/LibplanetConsole.Console.Example/ExampleNodeInfoProvider.cs index 72dcf7ba..fb2cf209 100644 --- a/src/console/LibplanetConsole.Console.Example/ExampleNodeInfoProvider.cs +++ b/src/console/LibplanetConsole.Console.Example/ExampleNodeInfoProvider.cs @@ -12,7 +12,7 @@ public ExampleNodeInfoProvider() { } - protected override object? GetInfos(ExampleNodeContent obj) + protected override object? GetInfo(ExampleNodeContent obj) { return new { diff --git a/src/console/LibplanetConsole.Console.Explorer/Commands/ExplorerCommand.cs b/src/console/LibplanetConsole.Console.Explorer/Commands/ExplorerCommand.cs index bcd8e110..b3a8d361 100644 --- a/src/console/LibplanetConsole.Console.Explorer/Commands/ExplorerCommand.cs +++ b/src/console/LibplanetConsole.Console.Explorer/Commands/ExplorerCommand.cs @@ -25,13 +25,13 @@ public async Task StartAsync( string endPoint = "", CancellationToken cancellationToken = default) { var node = application.GetNode(Address); - var explorerNode = node.GetRequiredService(); + var explorer = node.GetRequiredService(); if (endPoint != string.Empty) { - explorerNode.EndPoint = EndPointUtility.Parse(endPoint); + explorer.EndPoint = EndPointUtility.Parse(endPoint); } - await explorerNode.StartAsync(cancellationToken); + await explorer.StartAsync(cancellationToken); } [CommandMethod] @@ -41,7 +41,7 @@ public async Task StartAsync( public async Task StopAsync(CancellationToken cancellationToken = default) { var node = application.GetNode(Address); - var explorerNode = node.GetRequiredService(); - await explorerNode.StopAsync(cancellationToken); + var explorer = node.GetRequiredService(); + await explorer.StopAsync(cancellationToken); } } diff --git a/src/console/LibplanetConsole.Console.Explorer/ExplorerNodeInfoProvider.cs b/src/console/LibplanetConsole.Console.Explorer/ExplorerInfoProvider.cs similarity index 74% rename from src/console/LibplanetConsole.Console.Explorer/ExplorerNodeInfoProvider.cs rename to src/console/LibplanetConsole.Console.Explorer/ExplorerInfoProvider.cs index 8067da8a..5ac341a5 100644 --- a/src/console/LibplanetConsole.Console.Explorer/ExplorerNodeInfoProvider.cs +++ b/src/console/LibplanetConsole.Console.Explorer/ExplorerInfoProvider.cs @@ -4,15 +4,15 @@ namespace LibplanetConsole.Console.Explorer; [Export(typeof(IInfoProvider))] -internal sealed class ExplorerNodeInfoProvider +internal sealed class ExplorerInfoProvider : InfoProviderBase { - public ExplorerNodeInfoProvider() + public ExplorerInfoProvider() : base("Explorer") { } - protected override object? GetInfos(ExplorerNodeContent obj) + protected override object? GetInfo(ExplorerNodeContent obj) { return new { diff --git a/src/console/LibplanetConsole.Console.Explorer/ExplorerNodeContent.cs b/src/console/LibplanetConsole.Console.Explorer/ExplorerNodeContent.cs index eb5d0ab7..1fd0234e 100644 --- a/src/console/LibplanetConsole.Console.Explorer/ExplorerNodeContent.cs +++ b/src/console/LibplanetConsole.Console.Explorer/ExplorerNodeContent.cs @@ -8,12 +8,12 @@ namespace LibplanetConsole.Console.Explorer; -[Export(typeof(IExplorerNodeContent))] +[Export(typeof(IExplorer))] [Export(typeof(INodeContentService))] [Export(typeof(INodeContent))] [method: ImportingConstructor] internal sealed class ExplorerNodeContent(INode node, ILogger logger, ExplorerSettings settings) - : NodeContentBase(node), IExplorerNodeContent, IExplorerCallback, INodeContentService + : NodeContentBase(node), IExplorer, IExplorerCallback, INodeContentService { private readonly ILogger _logger = logger; private readonly ExecutionScope _executionScope = new(); diff --git a/src/console/LibplanetConsole.Console.Explorer/IExplorerNodeContent.cs b/src/console/LibplanetConsole.Console.Explorer/IExplorer.cs similarity index 90% rename from src/console/LibplanetConsole.Console.Explorer/IExplorerNodeContent.cs rename to src/console/LibplanetConsole.Console.Explorer/IExplorer.cs index d2bf9e1f..4d9dbcd4 100644 --- a/src/console/LibplanetConsole.Console.Explorer/IExplorerNodeContent.cs +++ b/src/console/LibplanetConsole.Console.Explorer/IExplorer.cs @@ -2,7 +2,7 @@ namespace LibplanetConsole.Console.Explorer; -public interface IExplorerNodeContent +public interface IExplorer { event EventHandler? Started; diff --git a/src/console/LibplanetConsole.Console/ApplicationInfoProvider.cs b/src/console/LibplanetConsole.Console/ApplicationInfoProvider.cs index cf199ea1..3c38e07c 100644 --- a/src/console/LibplanetConsole.Console/ApplicationInfoProvider.cs +++ b/src/console/LibplanetConsole.Console/ApplicationInfoProvider.cs @@ -11,5 +11,5 @@ public ApplicationInfoProvider() { } - protected override object? GetInfos(ApplicationBase obj) => obj.Info; + protected override object? GetInfo(ApplicationBase obj) => obj.Info; } diff --git a/src/console/LibplanetConsole.Console/ClientInfoProvider.cs b/src/console/LibplanetConsole.Console/ClientInfoProvider.cs index bdd631e4..bd810bca 100644 --- a/src/console/LibplanetConsole.Console/ClientInfoProvider.cs +++ b/src/console/LibplanetConsole.Console/ClientInfoProvider.cs @@ -13,7 +13,7 @@ public ClientInfoProvider() { } - protected override object? GetInfos(Client obj) + protected override object? GetInfo(Client obj) { var props = InfoUtility.ToDictionary(obj.Info); var contents = obj.GetRequiredService>(); diff --git a/src/console/LibplanetConsole.Console/NodeInfoProvider.cs b/src/console/LibplanetConsole.Console/NodeInfoProvider.cs index 4a1f10b1..d20eba59 100644 --- a/src/console/LibplanetConsole.Console/NodeInfoProvider.cs +++ b/src/console/LibplanetConsole.Console/NodeInfoProvider.cs @@ -13,7 +13,7 @@ public NodeInfoProvider() { } - protected override object? GetInfos(Node obj) + protected override object? GetInfo(Node obj) { var props = InfoUtility.ToDictionary(obj.Info); var contents = obj.GetRequiredService>(); diff --git a/src/node/LibplanetConsole.Node.Delegation/ActionProvider.cs b/src/node/LibplanetConsole.Node.Delegation/ActionProvider.cs deleted file mode 100644 index d1742c93..00000000 --- a/src/node/LibplanetConsole.Node.Delegation/ActionProvider.cs +++ /dev/null @@ -1,62 +0,0 @@ -using System.Collections.Immutable; -using System.Numerics; -using System.Reflection; -using Libplanet.Action; -using Libplanet.Action.Loader; -using Libplanet.Crypto; -using Libplanet.Types.Assets; -using Libplanet.Types.Consensus; -using LibplanetConsole.Common; -using LibplanetConsole.Common.Actions; -using LibplanetConsole.Framework; -using Nekoyume.Action; -using Nekoyume.Action.Loader; -using Nekoyume.Action.ValidatorDelegation; - -namespace LibplanetConsole.Node.Delegation; - -internal sealed class ActionProvider : IActionProvider -{ - public ImmutableArray BeginBlockActions { get; } = - [ - new SlashValidator(), - new AllocateReward(), - ]; - - public ImmutableArray EndBlockActions { get; } = - [ - new UpdateValidators(), - new RecordProposer(), - new RewardGold(), - new ReleaseValidatorUnbondings(), - ]; - - public ImmutableArray BeginTxActions { get; } = []; - - public ImmutableArray EndTxActions { get; } = []; - - public IActionLoader GetActionLoader() - { - var assemblies = ApplicationContainer.GetAssemblies(Assembly.GetExecutingAssembly()); - IActionLoader[] actionLoaders = - [ - new NCActionLoader(), - .. assemblies.Select(item => new AssemblyActionLoader(item)), - ]; - return new AggregateTypedActionLoader(actionLoaders); - } - - public IAction[] GetGenesisActions(PrivateKey genesisKey, PublicKey[] validatorKeys) - { - var validators = validatorKeys - .Select(item => new Validator((PublicKey)item, BigInteger.One)) - .ToArray(); - var action = new InitializeStates - { - Validators = validators, - GoldCurrency = Currency.Uncapped("NCG", 2, genesisKey.Address), - }; - - return [action]; - } -} diff --git a/src/node/LibplanetConsole.Node.Example/ExampleNodeInfoProvider.cs b/src/node/LibplanetConsole.Node.Example/ExampleNodeInfoProvider.cs index e8bcf766..7bc00697 100644 --- a/src/node/LibplanetConsole.Node.Example/ExampleNodeInfoProvider.cs +++ b/src/node/LibplanetConsole.Node.Example/ExampleNodeInfoProvider.cs @@ -8,7 +8,7 @@ namespace LibplanetConsole.Node.Example; internal sealed class ExampleNodeInfoProvider(ExampleNode exampleNode) : InfoProviderBase(nameof(ExampleNode)) { - protected override object? GetInfos(IApplication obj) + protected override object? GetInfo(IApplication obj) { return new { diff --git a/src/node/LibplanetConsole.Node.Explorer/Commands/ExplorerCommand.cs b/src/node/LibplanetConsole.Node.Explorer/Commands/ExplorerCommand.cs index 70418922..989cb3c4 100644 --- a/src/node/LibplanetConsole.Node.Explorer/Commands/ExplorerCommand.cs +++ b/src/node/LibplanetConsole.Node.Explorer/Commands/ExplorerCommand.cs @@ -15,19 +15,19 @@ internal sealed class ExplorerCommand(IServiceProvider serviceProvider) : Comman public async Task StartAsync( string endPoint = "", CancellationToken cancellationToken = default) { - var explorerNode = serviceProvider.GetRequiredService(); + var explorer = serviceProvider.GetRequiredService(); var explorerOptions = new ExplorerOptions { EndPoint = EndPointUtility.ParseOrNext(endPoint), }; - await explorerNode.StartAsync(explorerOptions, cancellationToken); + await explorer.StartAsync(explorerOptions, cancellationToken); await Console.Out.WriteLineAsync($"http://{explorerOptions.EndPoint}/ui/playground"); } [CommandMethod] public async Task StopAsync(CancellationToken cancellationToken = default) { - var explorerNode = serviceProvider.GetRequiredService(); - await explorerNode.StopAsync(cancellationToken); + var explorer = serviceProvider.GetRequiredService(); + await explorer.StopAsync(cancellationToken); } } diff --git a/src/node/LibplanetConsole.Node.Explorer/ExplorerNode.cs b/src/node/LibplanetConsole.Node.Explorer/Explorer.cs similarity index 96% rename from src/node/LibplanetConsole.Node.Explorer/ExplorerNode.cs rename to src/node/LibplanetConsole.Node.Explorer/Explorer.cs index 2f3f68e2..6367c7ee 100644 --- a/src/node/LibplanetConsole.Node.Explorer/ExplorerNode.cs +++ b/src/node/LibplanetConsole.Node.Explorer/Explorer.cs @@ -10,12 +10,12 @@ namespace LibplanetConsole.Node.Explorer; -[Export(typeof(IExplorerNode))] +[Export(typeof(IExplorer))] [Export(typeof(IApplicationService))] [Export] [method: ImportingConstructor] -internal sealed class ExplorerNode( - INode node, ILogger logger, ExplorerSettings settings) : IExplorerNode, IApplicationService +internal sealed class Explorer( + INode node, ILogger logger, ExplorerSettings settings) : IExplorer, IApplicationService { private IWebHost? _webHost; diff --git a/src/node/LibplanetConsole.Node.Explorer/ExplorerInfoProvider.cs b/src/node/LibplanetConsole.Node.Explorer/ExplorerInfoProvider.cs new file mode 100644 index 00000000..0a3293eb --- /dev/null +++ b/src/node/LibplanetConsole.Node.Explorer/ExplorerInfoProvider.cs @@ -0,0 +1,12 @@ +using System.ComponentModel.Composition; +using LibplanetConsole.Common; + +namespace LibplanetConsole.Node.Explorer; + +[Export(typeof(IInfoProvider))] +[method: ImportingConstructor] +internal sealed class ExplorerInfoProvider(Explorer explorer) + : InfoProviderBase(nameof(Explorer)) +{ + protected override object? GetInfo(IApplication obj) => explorer.Info; +} diff --git a/src/node/LibplanetConsole.Node.Explorer/ExplorerNodeInfoProvider.cs b/src/node/LibplanetConsole.Node.Explorer/ExplorerNodeInfoProvider.cs deleted file mode 100644 index b70867af..00000000 --- a/src/node/LibplanetConsole.Node.Explorer/ExplorerNodeInfoProvider.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System.ComponentModel.Composition; -using LibplanetConsole.Common; - -namespace LibplanetConsole.Node.Explorer; - -[Export(typeof(IInfoProvider))] -[method: ImportingConstructor] -internal sealed class ExplorerNodeInfoProvider(ExplorerNode explorerNode) - : InfoProviderBase(nameof(ExplorerNode)) -{ - protected override object? GetInfos(IApplication obj) => explorerNode.Info; -} diff --git a/src/node/LibplanetConsole.Node.Explorer/IExplorerNode.cs b/src/node/LibplanetConsole.Node.Explorer/IExplorer.cs similarity index 92% rename from src/node/LibplanetConsole.Node.Explorer/IExplorerNode.cs rename to src/node/LibplanetConsole.Node.Explorer/IExplorer.cs index 7e5624c1..bed1a0a4 100644 --- a/src/node/LibplanetConsole.Node.Explorer/IExplorerNode.cs +++ b/src/node/LibplanetConsole.Node.Explorer/IExplorer.cs @@ -2,7 +2,7 @@ namespace LibplanetConsole.Node.Explorer; -public interface IExplorerNode +public interface IExplorer { event EventHandler? Started; diff --git a/src/node/LibplanetConsole.Node.Explorer/Services/ExplorerNodeService.cs b/src/node/LibplanetConsole.Node.Explorer/Services/ExplorerService.cs similarity index 52% rename from src/node/LibplanetConsole.Node.Explorer/Services/ExplorerNodeService.cs rename to src/node/LibplanetConsole.Node.Explorer/Services/ExplorerService.cs index 6d0c6d9f..2fb29e23 100644 --- a/src/node/LibplanetConsole.Node.Explorer/Services/ExplorerNodeService.cs +++ b/src/node/LibplanetConsole.Node.Explorer/Services/ExplorerService.cs @@ -6,37 +6,37 @@ namespace LibplanetConsole.Node.Explorer.Services; [Export(typeof(ILocalService))] -internal sealed class ExplorerNodeService : LocalService, +internal sealed class ExplorerService : LocalService, IExplorerService, IDisposable { - private readonly ExplorerNode _explorerNode; + private readonly Explorer _explorer; [ImportingConstructor] - public ExplorerNodeService(ExplorerNode explorerNode) + public ExplorerService(Explorer explorer) { - _explorerNode = explorerNode; - _explorerNode.Started += ExplorerNode_Started; - _explorerNode.Stopped += ExplorerNode_Stopped; + _explorer = explorer; + _explorer.Started += ExplorerNode_Started; + _explorer.Stopped += ExplorerNode_Stopped; } public void Dispose() { - _explorerNode.Started -= ExplorerNode_Started; - _explorerNode.Stopped -= ExplorerNode_Stopped; + _explorer.Started -= ExplorerNode_Started; + _explorer.Stopped -= ExplorerNode_Stopped; } public Task GetInfoAsync(CancellationToken cancellationToken) - => Task.Run(() => _explorerNode.Info, cancellationToken); + => Task.Run(() => _explorer.Info, cancellationToken); public Task StartAsync( ExplorerOptions options, CancellationToken cancellationToken) - => _explorerNode.StartAsync(options, cancellationToken); + => _explorer.StartAsync(options, cancellationToken); public Task StopAsync(CancellationToken cancellationToken) - => _explorerNode.StopAsync(cancellationToken); + => _explorer.StopAsync(cancellationToken); private void ExplorerNode_Started(object? sender, EventArgs e) - => Callback.OnStarted(_explorerNode.Info); + => Callback.OnStarted(_explorer.Info); private void ExplorerNode_Stopped(object? sender, EventArgs e) => Callback.OnStopped(); diff --git a/src/node/LibplanetConsole.Node/ApplicationInfoProvider.cs b/src/node/LibplanetConsole.Node/ApplicationInfoProvider.cs index 1963ca8b..08a038f9 100644 --- a/src/node/LibplanetConsole.Node/ApplicationInfoProvider.cs +++ b/src/node/LibplanetConsole.Node/ApplicationInfoProvider.cs @@ -11,5 +11,5 @@ public ApplicationInfoProvider() { } - protected override object? GetInfos(ApplicationBase obj) => obj.Info; + protected override object? GetInfo(ApplicationBase obj) => obj.Info; } diff --git a/src/node/LibplanetConsole.Node/NodeInfoProvider.cs b/src/node/LibplanetConsole.Node/NodeInfoProvider.cs index 8374cc08..ce1a0453 100644 --- a/src/node/LibplanetConsole.Node/NodeInfoProvider.cs +++ b/src/node/LibplanetConsole.Node/NodeInfoProvider.cs @@ -7,5 +7,5 @@ namespace LibplanetConsole.Node; [method: ImportingConstructor] internal sealed class NodeInfoProvider(Node node) : InfoProviderBase(nameof(Node)) { - protected override object? GetInfos(ApplicationBase obj) => node.Info; + protected override object? GetInfo(ApplicationBase obj) => node.Info; } diff --git a/src/shared/LibplanetConsole.Bank/Actions/InitializeValidator.cs b/src/shared/LibplanetConsole.Bank/Actions/InitializeValidator.cs deleted file mode 100644 index 22808341..00000000 --- a/src/shared/LibplanetConsole.Bank/Actions/InitializeValidator.cs +++ /dev/null @@ -1,55 +0,0 @@ -using Bencodex.Types; -using Libplanet.Action; -using Libplanet.Action.State; -using Libplanet.Crypto; -using Libplanet.Types.Assets; -using LibplanetConsole.Common; - -namespace LibplanetConsole.Bank.Actions; - -[ActionType(TypeIdentifier)] -public sealed class InitializeValidator : ActionBase -{ - private const string TypeIdentifier = "initialize_validator"; - - public InitializeValidator(PublicKey validator, decimal amount) - { - Validator = validator; - Amount = amount; - } - - public InitializeValidator() - { - Validator = new PrivateKey().PublicKey; - } - - public PublicKey Validator { get; set; } - - public decimal Amount { get; set; } - - public Currency Currency { get; set; } = AssetUtility.NCG; - - protected override Dictionary OnInitialize(Dictionary values) - { - return base.OnInitialize(values) - .Add("validator", Validator.ToBencodex()) - .Add("amount", $"{Amount:R}") - .Add("currency", Currency.Serialize()); - } - - protected override void OnLoadPlainValue(Dictionary values) - { - base.OnLoadPlainValue(values); - Validator = PublicKey.FromBencodex(values["validator"]); - Amount = decimal.Parse((Text)values["amount"]); - Currency = new Currency(values["currency"]); - } - - protected override IWorld OnExecute(IActionContext context) - { - GasTracer.UseGas(1); - var world = context.PreviousState; - - return world; - } -}