Add Privy type wallet
This commit is contained in:
@@ -7,6 +7,7 @@ using Managing.Domain.Users;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace Managing.Application.Accounts;
|
||||
|
||||
public class AccountService : IAccountService
|
||||
{
|
||||
private readonly IAccountRepository _accountRepository;
|
||||
@@ -48,6 +49,21 @@ public class AccountService : IAccountService
|
||||
request.Key = keys.Key;
|
||||
request.Secret = keys.Secret;
|
||||
}
|
||||
else if (request.Exchange == Enums.TradingExchanges.Evm
|
||||
&& request.Type == Enums.AccountType.Privy)
|
||||
{
|
||||
if (string.IsNullOrEmpty(request.Key) || string.IsNullOrEmpty(request.Secret))
|
||||
{
|
||||
var privyClient = await _evmManager.CreatePrivyWallet();
|
||||
request.Key = privyClient.Address;
|
||||
request.Secret = privyClient.Id;
|
||||
}
|
||||
else
|
||||
{
|
||||
request.Key = request.Key; // Address
|
||||
request.Secret = request.Secret; // Privy wallet id
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
request.Key = request.Key;
|
||||
@@ -116,10 +132,8 @@ public class AccountService : IAccountService
|
||||
{
|
||||
var cacheKey = $"user-account-{user.Name}";
|
||||
|
||||
return _cacheService.GetOrSave(cacheKey, () =>
|
||||
{
|
||||
return GetAccounts(user, hideSecrets, false);
|
||||
}, TimeSpan.FromMinutes(5));
|
||||
return _cacheService.GetOrSave(cacheKey, () => { return GetAccounts(user, hideSecrets, false); },
|
||||
TimeSpan.FromMinutes(5));
|
||||
}
|
||||
|
||||
private IEnumerable<Account> GetAccounts(User user, bool hideSecrets, bool getBalance)
|
||||
@@ -139,10 +153,8 @@ public class AccountService : IAccountService
|
||||
public IEnumerable<Account> GetAccountsBalancesByUser(User user, bool hideSecrets)
|
||||
{
|
||||
var cacheKey = $"user-account-balance-{user.Name}";
|
||||
var accounts = _cacheService.GetOrSave(cacheKey, () =>
|
||||
{
|
||||
return GetAccounts(user, true, true);
|
||||
}, TimeSpan.FromHours(3));
|
||||
var accounts = _cacheService.GetOrSave(cacheKey, () => { return GetAccounts(user, true, true); },
|
||||
TimeSpan.FromHours(3));
|
||||
|
||||
return accounts;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user