2023-04-14 07:54:07 +00:00
|
|
|
|
using KubernetesWorkflow;
|
2023-04-25 09:31:15 +00:00
|
|
|
|
using Logging;
|
2023-04-24 12:09:23 +00:00
|
|
|
|
using NethereumWorkflow;
|
2023-04-14 07:54:07 +00:00
|
|
|
|
|
|
|
|
|
namespace DistTestCore.Marketplace
|
|
|
|
|
{
|
|
|
|
|
public class GethCompanionNodeInfo
|
|
|
|
|
{
|
2023-04-26 09:12:33 +00:00
|
|
|
|
public GethCompanionNodeInfo(RunningContainer runningContainer, GethCompanionAccount[] accounts)
|
2023-04-14 07:54:07 +00:00
|
|
|
|
{
|
|
|
|
|
RunningContainer = runningContainer;
|
2023-04-26 09:12:33 +00:00
|
|
|
|
Accounts = accounts;
|
2023-04-14 07:54:07 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public RunningContainer RunningContainer { get; }
|
2023-04-26 09:12:33 +00:00
|
|
|
|
public GethCompanionAccount[] Accounts { get; }
|
|
|
|
|
|
|
|
|
|
public NethereumInteraction StartInteraction(BaseLog log, GethCompanionAccount account)
|
2023-04-24 12:09:23 +00:00
|
|
|
|
{
|
|
|
|
|
var ip = RunningContainer.Pod.Cluster.IP;
|
|
|
|
|
var port = RunningContainer.ServicePorts[0].Number;
|
2023-04-26 09:12:33 +00:00
|
|
|
|
var accountStr = account.Account;
|
|
|
|
|
var privateKey = account.PrivateKey;
|
2023-04-24 12:09:23 +00:00
|
|
|
|
|
2023-04-26 09:12:33 +00:00
|
|
|
|
var creator = new NethereumInteractionCreator(log, ip, port, accountStr, privateKey);
|
2023-04-24 12:09:23 +00:00
|
|
|
|
return creator.CreateWorkflow();
|
|
|
|
|
}
|
2023-04-14 07:54:07 +00:00
|
|
|
|
}
|
2023-04-26 09:12:33 +00:00
|
|
|
|
|
|
|
|
|
public class GethCompanionAccount
|
|
|
|
|
{
|
|
|
|
|
public GethCompanionAccount(string account, string privateKey)
|
|
|
|
|
{
|
|
|
|
|
Account = account;
|
|
|
|
|
PrivateKey = privateKey;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public string Account { get; }
|
|
|
|
|
public string PrivateKey { get; }
|
|
|
|
|
}
|
2023-04-14 07:54:07 +00:00
|
|
|
|
}
|