From eb3067d369cbc0de58b16715c2c4d4fc97b69c10 Mon Sep 17 00:00:00 2001 From: Sebastiaan Pasma Date: Thu, 13 Sep 2018 09:47:45 +0200 Subject: [PATCH] Use cachedStatus when available and a fix for the review controller --- src/js/controllers/review.controller.js | 4 ++-- src/js/controllers/wallet-selector.controller.js | 11 +++++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/js/controllers/review.controller.js b/src/js/controllers/review.controller.js index 15f982f2f..b8379b769 100644 --- a/src/js/controllers/review.controller.js +++ b/src/js/controllers/review.controller.js @@ -392,12 +392,12 @@ function reviewController(addressbookService, bitcoinCashJsService, bitcore, bit var balanceCryptoAmount = ''; var balanceCryptoCurrencyCode = ''; var balanceFiatAmount = ''; - var balanceFiatCurrency = '' + var balanceFiatCurrency = ''; var displayAmount = ''; var displayCurrency = ''; var walletStatus = null; - if (wallet.status.isValid) { + if (wallet.status && wallet.status.isValid) { walletStatus = wallet.status; } else if (wallet.cachedStatus.isValid) { walletStatus = wallet.cachedStatus; diff --git a/src/js/controllers/wallet-selector.controller.js b/src/js/controllers/wallet-selector.controller.js index c0210213f..62ac6a57a 100644 --- a/src/js/controllers/wallet-selector.controller.js +++ b/src/js/controllers/wallet-selector.controller.js @@ -121,7 +121,7 @@ angular.module('copayApp.controllers').controller('walletSelectorController', fu walletsAll = profileService.getWallets({coin: $scope.coin}); ongoingProcess.set('scanning', true); walletsAll.forEach(function forWallet(wallet) { - if (!wallet.status) { + if (!wallet.status && !wallet.cachedStatus) { walletService.getStatus(wallet, {}, function(err, status) { wallet.status = status; if (status.availableBalanceSat > ($scope.params.amount ? $scope.params.amount : 0)) { @@ -132,7 +132,14 @@ angular.module('copayApp.controllers').controller('walletSelectorController', fu ongoingProcess.set('scanning', false); }); } else { - if (wallet.status.availableBalanceSat > ($scope.params.amount ? $scope.params.amount : 0)) { + var walletStatus = null; + if (wallet.status && wallet.status.isValid) { + walletStatus = wallet.status; + } else if (wallet.cachedStatus) { + walletStatus = wallet.cachedStatus; + } + + if (walletStatus.availableBalanceSat > ($scope.params.amount ? $scope.params.amount : 0)) { walletsSufficientFunds.push(wallet); } else { $scope.walletsInsufficientFunds.push(wallet);