Add missing privy tokens
This commit is contained in:
@@ -18,6 +18,7 @@ public interface IEvmManager
|
||||
string SignMessage(string message, string privateKey);
|
||||
string VerifySignature(string signature, string message);
|
||||
Task<List<EvmBalance>> GetBalances(Chain chain, int page, int pageSize, string publicAddress);
|
||||
Task<List<EvmBalance>> GetAllBalances(Chain chain, string publicAddress);
|
||||
Task<List<EvmBalance>> GetAllBalancesOnAllChain(string publicAddress);
|
||||
|
||||
Task<List<Candle>> GetCandles(Ticker ticker, DateTime startDate,
|
||||
@@ -67,4 +68,11 @@ public interface IEvmManager
|
||||
Task<string> SignMessageAsync(string embeddedWalletId, string address, string message);
|
||||
|
||||
Task<List<Position>> GetPositions(Account account);
|
||||
|
||||
/// <summary>
|
||||
/// Clears the cached balances for a specific chain and address
|
||||
/// </summary>
|
||||
/// <param name="chain">The blockchain chain</param>
|
||||
/// <param name="publicAddress">The public address</param>
|
||||
void ClearBalancesCache(Chain chain, string publicAddress);
|
||||
}
|
||||
@@ -183,6 +183,16 @@ public class EvmManager : IEvmManager
|
||||
|
||||
public async Task<List<EvmBalance>> GetAllBalances(Chain chain, string publicAddress)
|
||||
{
|
||||
var cacheKey = $"balances_{chain.Name}_{publicAddress.ToLowerInvariant()}";
|
||||
|
||||
// Try to get from cache first
|
||||
var cachedBalances = _cacheService.GetValue<List<EvmBalance>>(cacheKey);
|
||||
if (cachedBalances != null)
|
||||
{
|
||||
return cachedBalances;
|
||||
}
|
||||
|
||||
// If not in cache, fetch from blockchain
|
||||
var balances = new List<EvmBalance>();
|
||||
|
||||
foreach (var ticker in TokenService.GetEligibleTickersForBalance())
|
||||
@@ -205,9 +215,18 @@ public class EvmManager : IEvmManager
|
||||
etherBalance.Chain = chain;
|
||||
balances.Add(etherBalance);
|
||||
|
||||
// Save to cache for 5 minutes
|
||||
_cacheService.SaveValue(cacheKey, balances, TimeSpan.FromMinutes(5));
|
||||
|
||||
return balances;
|
||||
}
|
||||
|
||||
public void ClearBalancesCache(Chain chain, string publicAddress)
|
||||
{
|
||||
var cacheKey = $"balances_{chain.Name}_{publicAddress.ToLowerInvariant()}";
|
||||
_cacheService.RemoveValue(cacheKey);
|
||||
}
|
||||
|
||||
public async Task<EvmBalance> GetTokenBalance(string chainName, Ticker ticker, string publicAddress)
|
||||
{
|
||||
var chain = ChainService.GetChain(chainName);
|
||||
|
||||
@@ -7,7 +7,7 @@ public static class ChainService
|
||||
{
|
||||
//private const string RPC_ARBITRUM = "https://convincing-smart-arm.arbitrum-mainnet.discover.quiknode.pro/561ad3fa1db431a2c728c2fdb1a62e8f94acf703/";
|
||||
private const string RPC_ARBITRUM =
|
||||
"https://convincing-smart-arm.arbitrum-mainnet.quiknode.pro/561ad3fa1db431a2c728c2fdb1a62e8f94acf703";
|
||||
"https://arb1.arbitrum.io/rpc";
|
||||
|
||||
private const string RPC_ARBITRUM_GOERLI = "https://arb-goerli.g.alchemy.com/v2/ZMkIiKtNvgY03UtWOjho0oqkQrNt_pyc";
|
||||
private const string RPC_ETHEREUM = "https://mainnet.infura.io/v3/58f44d906ab345beadd03dd2b76348af";
|
||||
|
||||
Reference in New Issue
Block a user