mirror of
https://github.com/logos-storage/logos-storage-nim-cs-dist-tests.git
synced 2026-01-09 00:43:11 +00:00
49 lines
1.7 KiB
C#
49 lines
1.7 KiB
C#
using Core;
|
|
using GethPlugin;
|
|
|
|
namespace CodexPlugin
|
|
{
|
|
public interface ICodexNodeFactory
|
|
{
|
|
CodexNode CreateOnlineCodexNode(CodexAccess access, CodexNodeGroup group);
|
|
}
|
|
|
|
public class CodexNodeFactory : ICodexNodeFactory
|
|
{
|
|
private readonly IPluginTools tools;
|
|
|
|
public CodexNodeFactory(IPluginTools tools)
|
|
{
|
|
this.tools = tools;
|
|
}
|
|
|
|
//private readonly TestLifecycle lifecycle;
|
|
//private readonly IMetricsAccessFactory metricsAccessFactory;
|
|
//private readonly IMarketplaceAccessFactory marketplaceAccessFactory;
|
|
|
|
//public CodexNodeFactory(TestLifecycle lifecycle, IMetricsAccessFactory metricsAccessFactory, IMarketplaceAccessFactory marketplaceAccessFactory)
|
|
//{
|
|
// this.lifecycle = lifecycle;
|
|
// this.metricsAccessFactory = metricsAccessFactory;
|
|
// this.marketplaceAccessFactory = marketplaceAccessFactory;
|
|
//}
|
|
|
|
public CodexNode CreateOnlineCodexNode(CodexAccess access, CodexNodeGroup group)
|
|
{
|
|
var ethAddress = GetEthAddress(access);
|
|
|
|
//var metricsAccess = metricsAccessFactory.CreateMetricsAccess(access.Container);
|
|
//var marketplaceAccess = marketplaceAccessFactory.CreateMarketplaceAccess(access);
|
|
return new CodexNode(tools, access, group, ethAddress);
|
|
}
|
|
|
|
private IEthAddress? GetEthAddress(CodexAccess access)
|
|
{
|
|
var mStart = access.Container.Recipe.Additionals.SingleOrDefault(a => a is MarketplaceStartResults) as MarketplaceStartResults;
|
|
if (mStart == null) return null;
|
|
return mStart.EthAddress;
|
|
|
|
}
|
|
}
|
|
}
|