public async Task <IViewComponentResult> InvokeAsync(WalletId walletId) { var store = ViewContext.HttpContext.GetStoreData(); var network = _networkProvider.GetNetwork <BTCPayNetwork>(walletId.CryptoCode); var wallet = _walletProvider.GetWallet(network); var derivation = store.GetDerivationSchemeSettings(_networkProvider, walletId.CryptoCode); var balance = await _walletsController.GetBalanceString(wallet, derivation.AccountDerivation); var vm = new WalletNavViewModel { WalletId = walletId, Network = network, Balance = balance, Label = derivation.Label ?? $"{store.StoreName} {walletId.CryptoCode} Wallet" }; return(View(vm)); }