Adds transaction ID to record of user activity
This commit is contained in:
parent
beaa67c280
commit
03283414cb
|
@ -43,29 +43,29 @@ namespace BiblioTech.Commands
|
||||||
await context.Followup(string.Join(Environment.NewLine, report));
|
await context.Followup(string.Join(Environment.NewLine, report));
|
||||||
}
|
}
|
||||||
|
|
||||||
private TestToken ProcessTokens(ICodexContracts contracts, EthAddress addr, List<string> report)
|
private Transaction<TestToken>? ProcessTokens(ICodexContracts contracts, EthAddress addr, List<string> report)
|
||||||
{
|
{
|
||||||
if (ShouldMintTestTokens(contracts, addr))
|
if (ShouldMintTestTokens(contracts, addr))
|
||||||
{
|
{
|
||||||
var transaction = contracts.MintTestTokens(addr, defaultTestTokensToMint);
|
var transaction = contracts.MintTestTokens(addr, defaultTestTokensToMint);
|
||||||
report.Add($"Minted {defaultTestTokensToMint}. ({FormatTransactionLink(transaction)})");
|
report.Add($"Minted {defaultTestTokensToMint}. ({FormatTransactionLink(transaction)})");
|
||||||
return defaultTestTokensToMint;
|
return new Transaction<TestToken>(defaultTestTokensToMint, transaction);
|
||||||
}
|
}
|
||||||
|
|
||||||
report.Add("TestToken balance over threshold. (No TestTokens minted.)");
|
report.Add("TestToken balance over threshold. (No TestTokens minted.)");
|
||||||
return 0.TestTokens();
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Ether ProcessEth(IGethNode gethNode, EthAddress addr, List<string> report)
|
private Transaction<Ether>? ProcessEth(IGethNode gethNode, EthAddress addr, List<string> report)
|
||||||
{
|
{
|
||||||
if (ShouldSendEth(gethNode, addr))
|
if (ShouldSendEth(gethNode, addr))
|
||||||
{
|
{
|
||||||
var transaction = gethNode.SendEth(addr, defaultEthToSend);
|
var transaction = gethNode.SendEth(addr, defaultEthToSend);
|
||||||
report.Add($"Sent {defaultEthToSend}. ({FormatTransactionLink(transaction)})");
|
report.Add($"Sent {defaultEthToSend}. ({FormatTransactionLink(transaction)})");
|
||||||
return defaultEthToSend;
|
return new Transaction<Ether>(defaultEthToSend, transaction);
|
||||||
}
|
}
|
||||||
report.Add("Eth balance is over threshold. (No Eth sent.)");
|
report.Add("Eth balance is over threshold. (No Eth sent.)");
|
||||||
return 0.Eth();
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool ShouldMintTestTokens(ICodexContracts contracts, EthAddress addr)
|
private bool ShouldMintTestTokens(ICodexContracts contracts, EthAddress addr)
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
namespace BiblioTech
|
||||||
|
{
|
||||||
|
public class Transaction<T>
|
||||||
|
{
|
||||||
|
public Transaction(T tokenAmount, string transactionHash)
|
||||||
|
{
|
||||||
|
TokenAmount = tokenAmount;
|
||||||
|
TransactionHash = transactionHash;
|
||||||
|
}
|
||||||
|
|
||||||
|
public T TokenAmount { get; }
|
||||||
|
public string TransactionHash { get; }
|
||||||
|
}
|
||||||
|
}
|
|
@ -25,7 +25,7 @@ namespace BiblioTech
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddMintEventForUser(IUser user, EthAddress usedAddress, Ether eth, TestToken tokens)
|
public void AddMintEventForUser(IUser user, EthAddress usedAddress, Transaction<Ether>? eth, Transaction<TestToken>? tokens)
|
||||||
{
|
{
|
||||||
lock (repoLock)
|
lock (repoLock)
|
||||||
{
|
{
|
||||||
|
@ -67,7 +67,14 @@ namespace BiblioTech
|
||||||
}
|
}
|
||||||
foreach (var me in userData.MintEvents)
|
foreach (var me in userData.MintEvents)
|
||||||
{
|
{
|
||||||
result.Add($"{me.Utc.ToString("o")} - Minted {me.EthReceived} and {me.TestTokensMinted} to {me.UsedAddress}.");
|
if (me.EthReceived != null)
|
||||||
|
{
|
||||||
|
result.Add($"{me.Utc.ToString("o")} - Sent {me.EthReceived.TokenAmount} to {me.UsedAddress}. ({me.EthReceived.TransactionHash})");
|
||||||
|
}
|
||||||
|
if (me.TestTokensMinted != null)
|
||||||
|
{
|
||||||
|
result.Add($"{me.Utc.ToString("o")} - Minted {me.TestTokensMinted.TokenAmount} to {me.UsedAddress}. ({me.TestTokensMinted.TransactionHash})");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -221,7 +228,7 @@ namespace BiblioTech
|
||||||
|
|
||||||
public class UserMintEvent
|
public class UserMintEvent
|
||||||
{
|
{
|
||||||
public UserMintEvent(DateTime utc, EthAddress usedAddress, Ether ethReceived, TestToken testTokensMinted)
|
public UserMintEvent(DateTime utc, EthAddress usedAddress, Transaction<Ether>? ethReceived, Transaction<TestToken>? testTokensMinted)
|
||||||
{
|
{
|
||||||
Utc = utc;
|
Utc = utc;
|
||||||
UsedAddress = usedAddress;
|
UsedAddress = usedAddress;
|
||||||
|
@ -231,7 +238,7 @@ namespace BiblioTech
|
||||||
|
|
||||||
public DateTime Utc { get; }
|
public DateTime Utc { get; }
|
||||||
public EthAddress UsedAddress { get; }
|
public EthAddress UsedAddress { get; }
|
||||||
public Ether EthReceived { get; }
|
public Transaction<Ether>? EthReceived { get; }
|
||||||
public TestToken TestTokensMinted { get; }
|
public Transaction<TestToken>? TestTokensMinted { get; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue