88 lines
1.8 KiB
C#
88 lines
1.8 KiB
C#
namespace DistTestCore
|
|
{
|
|
public class Ether
|
|
{
|
|
public Ether(decimal wei)
|
|
{
|
|
Wei = wei;
|
|
}
|
|
|
|
public decimal Wei { get; }
|
|
|
|
public override bool Equals(object? obj)
|
|
{
|
|
return obj is Ether ether && Wei == ether.Wei;
|
|
}
|
|
|
|
public override int GetHashCode()
|
|
{
|
|
return HashCode.Combine(Wei);
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
return $"{Wei} Wei";
|
|
}
|
|
}
|
|
|
|
public class TestToken
|
|
{
|
|
public TestToken(decimal amount)
|
|
{
|
|
Amount = amount;
|
|
}
|
|
|
|
public decimal Amount { get; }
|
|
|
|
public override bool Equals(object? obj)
|
|
{
|
|
return obj is TestToken token && Amount == token.Amount;
|
|
}
|
|
|
|
public override int GetHashCode()
|
|
{
|
|
return HashCode.Combine(Amount);
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
return $"{Amount} TestTokens";
|
|
}
|
|
}
|
|
|
|
public static class TokensIntExtensions
|
|
{
|
|
private const decimal weiPerEth = 1000000000000000000;
|
|
|
|
public static TestToken TestTokens(this int i)
|
|
{
|
|
return TestTokens(Convert.ToDecimal(i));
|
|
}
|
|
|
|
public static TestToken TestTokens(this decimal i)
|
|
{
|
|
return new TestToken(i);
|
|
}
|
|
|
|
public static Ether Eth(this int i)
|
|
{
|
|
return Eth(Convert.ToDecimal(i));
|
|
}
|
|
|
|
public static Ether Wei(this int i)
|
|
{
|
|
return Wei(Convert.ToDecimal(i));
|
|
}
|
|
|
|
public static Ether Eth(this decimal i)
|
|
{
|
|
return new Ether(i * weiPerEth);
|
|
}
|
|
|
|
public static Ether Wei(this decimal i)
|
|
{
|
|
return new Ether(i);
|
|
}
|
|
}
|
|
}
|