public async Task <string> GenerateAddressForWalletAsync(string id) { var wallet = await GetWalletByIdAsync(id); if (wallet == null) { throw new ArgumentException($"Wallet not found with id '{id}'"); } var address = _walletProvider.GenerateAddress(wallet); await _walletProvider.SaveAddressesAsync(wallet); return(address); }