public async Task <IActionResult> GenerateWallet() { var user = await _userManager.GetUserAsync(User); if (user == null) { throw new ApplicationException($"Unable to load user with ID '{_userManager.GetUserId(User)}'."); } var wallet = await _blockchainRepository.GenerateWallet(); if (wallet == null) { return(View()); } user.Wif = wallet.wif; user.Address = wallet.address; string s = await _blockchainRepository.GetScriptHashFromAddress(wallet.address); if (s == null) { return(View()); } user.ScriptHash = s; var result = await _userManager.UpdateAsync(user); if (result.Succeeded == true) { return(RedirectToAction("Wallet")); } else { return(View("GenerateWallet")); } }