docker files fixes from liaqat
This commit is contained in:
8
src/Managing.Domain/Evm/Chain.cs
Normal file
8
src/Managing.Domain/Evm/Chain.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
namespace Managing.Domain.Evm;
|
||||
|
||||
public class Chain
|
||||
{
|
||||
public string Id { get; set; }
|
||||
public string RpcUrl { get; set; }
|
||||
public string Name { get; set; }
|
||||
}
|
||||
12
src/Managing.Domain/Evm/EvmBalance.cs
Normal file
12
src/Managing.Domain/Evm/EvmBalance.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
namespace Managing.Domain.Evm;
|
||||
|
||||
public class EvmBalance
|
||||
{
|
||||
public string TokenImage { get; set; }
|
||||
public string TokenName { get; set; }
|
||||
public decimal Balance { get; set; }
|
||||
public decimal Price { get; set; }
|
||||
public decimal Value { get; set; }
|
||||
public string TokenAddress { get; set; }
|
||||
public Chain Chain { get; set; }
|
||||
}
|
||||
14
src/Managing.Domain/Evm/Holder.cs
Normal file
14
src/Managing.Domain/Evm/Holder.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
namespace Managing.Domain.Evm;
|
||||
|
||||
public class Holder
|
||||
{
|
||||
public Holder(string holderAddress)
|
||||
{
|
||||
HolderAddress = holderAddress;
|
||||
Nfts = new List<Nft>();
|
||||
}
|
||||
|
||||
public string HolderAddress { get; set; }
|
||||
public decimal Yield { get; set; }
|
||||
public List<Nft> Nfts { get; set; }
|
||||
}
|
||||
31
src/Managing.Domain/Evm/HolderExtensions.cs
Normal file
31
src/Managing.Domain/Evm/HolderExtensions.cs
Normal file
@@ -0,0 +1,31 @@
|
||||
namespace Managing.Domain.Evm;
|
||||
|
||||
|
||||
public static class HolderExtensions
|
||||
{
|
||||
public static void AddNft(this Holder holder, Nft nft)
|
||||
{
|
||||
if (holder.Nfts.FirstOrDefault(n => n.TokenId == nft.TokenId) == null)
|
||||
{
|
||||
holder.Nfts.Add(nft);
|
||||
}
|
||||
}
|
||||
|
||||
public static List<Holder> GetYields(this List<Holder> holders, decimal yieldAmount)
|
||||
{
|
||||
var nftHeldCount = 0;
|
||||
foreach (var holder in holders)
|
||||
{
|
||||
nftHeldCount += holder.Nfts.Count;
|
||||
}
|
||||
|
||||
var yieldPerNft = yieldAmount / nftHeldCount;
|
||||
|
||||
foreach (var holder in holders)
|
||||
{
|
||||
holder.Yield = holder.Nfts.Count * yieldPerNft;
|
||||
}
|
||||
|
||||
return holders;
|
||||
}
|
||||
}
|
||||
17
src/Managing.Domain/Evm/Nft.cs
Normal file
17
src/Managing.Domain/Evm/Nft.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using System.Numerics;
|
||||
|
||||
namespace Managing.Domain.Evm;
|
||||
|
||||
public class Nft
|
||||
{
|
||||
public Nft(string contractAddress, BigInteger tokenId, DateTime blockDate)
|
||||
{
|
||||
ContractAddress = contractAddress;
|
||||
TokenId = tokenId;
|
||||
BlockDate = blockDate;
|
||||
}
|
||||
|
||||
public string ContractAddress { get; set; }
|
||||
public BigInteger TokenId { get; set; }
|
||||
public DateTime BlockDate { get; set; }
|
||||
}
|
||||
9
src/Managing.Domain/Evm/Subgraph.cs
Normal file
9
src/Managing.Domain/Evm/Subgraph.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
using Managing.Common;
|
||||
|
||||
namespace Managing.Domain.Evm;
|
||||
|
||||
public class Subgraph
|
||||
{
|
||||
public Enums.SubgraphProvider SubgraphProvider { get; set; }
|
||||
public string Url { get; set; }
|
||||
}
|
||||
Reference in New Issue
Block a user