Esempio n. 1
0
        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"));
            }
        }