public async Task <IActionResult> Login(LoginViewModel model, string returnUrl = null)
        {
            var loginResponse = await _blockChainApi.LoadWallet(model.WalletName, model.Password);

            if (loginResponse.Success)
            {
                var user = await _userService.GetUserByWallet(model.WalletName);

                if (user == null)
                {
                    return(RedirectToAction("Register", new { walletName = model.WalletName }));
                }

                await SignInUserAsync(user);

                if (user.Role == (int)UserRole.Admin)
                {
                    return(RedirectToAction("AdminDashBoard", "Admin", routeValues: new { area = $"admin" }));
                }

                return(RedirectToAction("Index", "Dashboard"));
            }

            _toastNotification.AddErrorToastMessage(loginResponse.Message);
            return(View());
        }