Use cachedStatus when available and a fix for the review controller

This commit is contained in:
Sebastiaan Pasma 2018-09-13 09:47:45 +02:00
commit eb3067d369
No known key found for this signature in database
GPG key ID: 9A2B0C8B95A1D26F
2 changed files with 11 additions and 4 deletions

View file

@ -392,12 +392,12 @@ function reviewController(addressbookService, bitcoinCashJsService, bitcore, bit
var balanceCryptoAmount = ''; var balanceCryptoAmount = '';
var balanceCryptoCurrencyCode = ''; var balanceCryptoCurrencyCode = '';
var balanceFiatAmount = ''; var balanceFiatAmount = '';
var balanceFiatCurrency = '' var balanceFiatCurrency = '';
var displayAmount = ''; var displayAmount = '';
var displayCurrency = ''; var displayCurrency = '';
var walletStatus = null; var walletStatus = null;
if (wallet.status.isValid) { if (wallet.status && wallet.status.isValid) {
walletStatus = wallet.status; walletStatus = wallet.status;
} else if (wallet.cachedStatus.isValid) { } else if (wallet.cachedStatus.isValid) {
walletStatus = wallet.cachedStatus; walletStatus = wallet.cachedStatus;

View file

@ -121,7 +121,7 @@ angular.module('copayApp.controllers').controller('walletSelectorController', fu
walletsAll = profileService.getWallets({coin: $scope.coin}); walletsAll = profileService.getWallets({coin: $scope.coin});
ongoingProcess.set('scanning', true); ongoingProcess.set('scanning', true);
walletsAll.forEach(function forWallet(wallet) { walletsAll.forEach(function forWallet(wallet) {
if (!wallet.status) { if (!wallet.status && !wallet.cachedStatus) {
walletService.getStatus(wallet, {}, function(err, status) { walletService.getStatus(wallet, {}, function(err, status) {
wallet.status = status; wallet.status = status;
if (status.availableBalanceSat > ($scope.params.amount ? $scope.params.amount : 0)) { 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); ongoingProcess.set('scanning', false);
}); });
} else { } 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); walletsSufficientFunds.push(wallet);
} else { } else {
$scope.walletsInsufficientFunds.push(wallet); $scope.walletsInsufficientFunds.push(wallet);