async series with shapeshift & fee calculation
This commit is contained in:
parent
2c398bbe03
commit
fa8ce4779f
1 changed files with 84 additions and 75 deletions
|
|
@ -93,10 +93,31 @@ function reviewController(addressbookService, bitcoinCashJsService, bitcore, bit
|
|||
|
||||
if (sendFlowData.thirdParty) {
|
||||
vm.thirdParty = sendFlowData.thirdParty;
|
||||
handleThirdPartyInitIfBip70();
|
||||
handleThirdPartyInitIfShapeshift();
|
||||
switch (vm.thirdParty.id) {
|
||||
case 'shapeshift':
|
||||
initShapeshift(function (err) {
|
||||
if (err) {
|
||||
// Error stop here
|
||||
ongoingProcess.set('connectingShapeshift', false);
|
||||
popupService.showAlert(gettextCatalog.getString('Shapeshift Error'), err.toString(), function () {
|
||||
$ionicHistory.goBack();
|
||||
});
|
||||
} else {
|
||||
_next(data);
|
||||
}
|
||||
});
|
||||
break;
|
||||
case 'bip70':
|
||||
initBip70();
|
||||
default:
|
||||
_next(data);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
_next(data);
|
||||
}
|
||||
|
||||
function _next() {
|
||||
configService.get(function onConfig(err, configCache) {
|
||||
if (err) {
|
||||
$log.err('Error getting config.', err);
|
||||
|
|
@ -114,6 +135,7 @@ function reviewController(addressbookService, bitcoinCashJsService, bitcore, bit
|
|||
createVanityTransaction(data);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
vm.approve = function() {
|
||||
|
||||
|
|
@ -458,8 +480,7 @@ function reviewController(addressbookService, bitcoinCashJsService, bitcore, bit
|
|||
vm.destination.balanceCurrency = balanceText.currency;
|
||||
}
|
||||
|
||||
function handleThirdPartyInitIfBip70() {
|
||||
if (vm.thirdParty.id === 'bip70') {
|
||||
function initBip70() {
|
||||
vm.sendingTitle = gettextCatalog.getString('You are paying');
|
||||
vm.memo = vm.thirdParty.memo;
|
||||
vm.memoExpanded = !!vm.memo;
|
||||
|
|
@ -474,10 +495,8 @@ function reviewController(addressbookService, bitcoinCashJsService, bitcore, bit
|
|||
verified: vm.thirdParty.verified,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
function handleThirdPartyInitIfShapeshift() {
|
||||
if (vm.thirdParty.id === 'shapeshift') {
|
||||
function initShapeshift(cb) {
|
||||
vm.sendingTitle = gettextCatalog.getString('You are shifting');
|
||||
if (!vm.thirdParty.data) {
|
||||
vm.thirdParty.data = {};
|
||||
|
|
@ -492,19 +511,11 @@ function reviewController(addressbookService, bitcoinCashJsService, bitcore, bit
|
|||
ongoingProcess.set('connectingShapeshift', true);
|
||||
walletService.getAddress(vm.originWallet, false, function onReturnWalletAddress(err, returnAddr) {
|
||||
if (err) {
|
||||
ongoingProcess.set('connectingShapeshift', false);
|
||||
popupService.showAlert(gettextCatalog.getString('Shapeshift Error'), err.toString(), function () {
|
||||
$ionicHistory.goBack();
|
||||
});
|
||||
return;
|
||||
return cb(err);
|
||||
}
|
||||
walletService.getAddress(toWallet, false, function onWithdrawalWalletAddress(err, withdrawalAddr) {
|
||||
if (err) {
|
||||
ongoingProcess.set('connectingShapeshift', false);
|
||||
popupService.showAlert(gettextCatalog.getString('Shapeshift Error'), err.toString(), function () {
|
||||
$ionicHistory.goBack();
|
||||
});
|
||||
return;
|
||||
return cb(err);
|
||||
}
|
||||
|
||||
// Need to use the correct service to do it.
|
||||
|
|
@ -512,21 +523,19 @@ function reviewController(addressbookService, bitcoinCashJsService, bitcore, bit
|
|||
|
||||
shapeshiftService.shiftIt(vm.originWallet.coin, toWallet.coin, withdrawalAddr, returnAddr, amount, function onShiftIt(err, shapeshiftData) {
|
||||
if (err) {
|
||||
popupService.showAlert(gettextCatalog.getString('Shapeshift Error'), err, function () {
|
||||
$ionicHistory.goBack();
|
||||
});
|
||||
return cb(err);
|
||||
} else {
|
||||
vm.memo = 'ShapeShift Order:\nhttps://www.shapeshift.io/#/status/' + shapeshiftData.orderId;
|
||||
vm.memoExpanded = !!vm.memo;
|
||||
tx.toAddress = shapeshiftData.toAddress;
|
||||
vm.destination.address = toAddress;
|
||||
vm.destination.kind = 'shapeshift';
|
||||
}
|
||||
ongoingProcess.set('connectingShapeshift', false);
|
||||
});
|
||||
});
|
||||
});
|
||||
cb();
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function onShareTransaction() {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue