better "insufficient funds" message"

This commit is contained in:
matiu 2017-09-15 10:22:51 -03:00
commit 9fddde615a
3 changed files with 35 additions and 21 deletions

View file

@ -84,14 +84,9 @@ angular.module('copayApp.services').factory('incomingData', function($log, $stat
data = sanitizeUri(data);
// Bitcoin or Bitcoin Cash URL
if ((/^bitcoin(cash)?:/).exec(data)) {
var coin = 'btc';
if ((/^bitcoincash:/).exec(data)) {
coin = 'bch';
data = data.replace(/bitcoincash:/, 'bitcoin:');
}
if (bitcore.URI.isValid(data)) {
// Bitcoin URL
if (bitcore.URI.isValid(data)) {
var coin = 'btc';
var parsed = new bitcore.URI(data);
var addr = parsed.address ? parsed.address.toString() : '';
@ -111,11 +106,30 @@ angular.module('copayApp.services').factory('incomingData', function($log, $stat
}
return true;
} else {
$log.error('Invalid Bitcoin URL');
return false;
}
} else if (bitcoreCash.URI.isValid(data)) {
var coin = 'bch';
var parsed = new bitcoreCash.URI(data);
var addr = parsed.address ? parsed.address.toString() : '';
var message = parsed.message;
var amount = parsed.amount ? parsed.amount : '';
// paypro not yet supported on cash
if (parsed.r) {
payproService.getPayProDetails(parsed.r, function(err, details) {
if (err) {
if (addr && amount)
goSend(addr, amount, message, coin);
else
popupService.showAlert(gettextCatalog.getString('Error'), err);
}
handlePayPro(details, coin);
});
} else {
goSend(addr, amount, message, coin);
}
return true;
// Plain URL
} else if (/^https?:\/\//.test(data)) {
@ -259,9 +273,7 @@ angular.module('copayApp.services').factory('incomingData', function($log, $stat
});
}
}
return false;
};
function goToAmountPage(toAddress, coin) {
@ -277,12 +289,13 @@ angular.module('copayApp.services').factory('incomingData', function($log, $stat
}, 100);
}
function handlePayPro(payProDetails) {
function handlePayPro(payProDetails, coin) {
var stateParams = {
toAmount: payProDetails.amount,
toAddress: payProDetails.toAddress,
description: payProDetails.memo,
paypro: payProDetails
paypro: payProDetails,
coin: coin,
};
scannerService.pausePreview();
$state.go('tabs.send', {}, {