Use usdc balance instead usdc value for ensuring balance check
This commit is contained in:
@@ -343,7 +343,7 @@ public class EvmManager : IEvmManager
|
||||
"https://api.coingecko.com/api/v3/simple/price?ids=" + idsCombined + "&vs_currencies=usd");
|
||||
}
|
||||
|
||||
public async Task<List<EvmBalance>> GetAllBalancesOnAllChain(string publicAddress)
|
||||
public async Task<List<Balance>> GetAllBalancesOnAllChain(string publicAddress)
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -352,44 +352,17 @@ public class EvmManager : IEvmManager
|
||||
var chains = new[] { "arbitrum" };
|
||||
|
||||
// Get balances from Web3Proxy service
|
||||
var balances = await _web3ProxyService.GetWalletBalanceAsync(publicAddress, assets, chains);
|
||||
return await _web3ProxyService.GetWalletBalanceAsync(publicAddress, assets, chains);
|
||||
|
||||
// Convert Balance objects to EvmBalance objects
|
||||
var evmBalances = new List<EvmBalance>();
|
||||
|
||||
foreach (var balance in balances)
|
||||
{
|
||||
if (balance.Amount > 0)
|
||||
{
|
||||
var evmBalance = new EvmBalance
|
||||
{
|
||||
Balance = balance.Amount,
|
||||
TokenName = balance.TokenName ?? "Unknown",
|
||||
TokenAddress = balance.TokenAdress ?? "",
|
||||
TokenImage = balance.TokenImage ?? "",
|
||||
Price = balance.Price,
|
||||
Value = balance.Value,
|
||||
Chain = new Chain
|
||||
{
|
||||
Id = balance.Chain?.Id ?? "",
|
||||
Name = balance.Chain?.Name ?? "Unknown",
|
||||
ChainId = balance.Chain?.ChainId ?? 0,
|
||||
RpcUrl = balance.Chain?.RpcUrl ?? ""
|
||||
}
|
||||
};
|
||||
evmBalances.Add(evmBalance);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
var othersChains = ChainService.GetChains();
|
||||
|
||||
foreach (var chain in othersChains)
|
||||
{
|
||||
evmBalances.AddRange(await GetAllBalances(chain, publicAddress));
|
||||
}
|
||||
|
||||
return evmBalances;
|
||||
// TODO : Update here to get all different chains
|
||||
// var othersChains = ChainService.GetChains();
|
||||
//
|
||||
// foreach (var chain in othersChains)
|
||||
// {
|
||||
// evmBalances.AddRange(await GetAllBalances(chain, publicAddress));
|
||||
// }
|
||||
//
|
||||
// return evmBalances;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -404,7 +377,7 @@ public class EvmManager : IEvmManager
|
||||
chainBalances.AddRange(await GetAllBalances(chain, publicAddress));
|
||||
}
|
||||
|
||||
return chainBalances;
|
||||
return EvmMappers.Map(chainBalances);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
20
src/Managing.Infrastructure.Web3/EvmMappers.cs
Normal file
20
src/Managing.Infrastructure.Web3/EvmMappers.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
using Managing.Domain.Accounts;
|
||||
using Managing.Domain.Evm;
|
||||
|
||||
namespace Managing.Infrastructure.Evm;
|
||||
|
||||
public static class EvmMappers
|
||||
{
|
||||
public static List<Balance> Map(List<EvmBalance> balances)
|
||||
{
|
||||
return balances.ConvertAll(balance => new Balance
|
||||
{
|
||||
TokenName = balance.TokenName,
|
||||
Price = balance.Price,
|
||||
Value = balance.Value,
|
||||
Amount = balance.Balance,
|
||||
TokenAdress = balance.TokenAddress,
|
||||
Chain = balance.Chain
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user