From e6d997a701b0b854dbe0177c9d05742f6653dcc2 Mon Sep 17 00:00:00 2001 From: Andy Phillipson Date: Fri, 17 Mar 2017 17:00:26 -0400 Subject: [PATCH] Provide address object to intel tee service to display address securely. --- src/js/services/walletService.js | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/js/services/walletService.js b/src/js/services/walletService.js index 53342286e..558f422a2 100644 --- a/src/js/services/walletService.js +++ b/src/js/services/walletService.js @@ -72,7 +72,10 @@ angular.module('copayApp.services').factory('walletService', function($log, $tim root.showReceiveAddressFromHardware = function(wallet, address, cb) { switch (wallet.getPrivKeyExternalSourceName()) { case root.externalSource.intelTEE.id: - return intelTEE.showReceiveAddress(wallet.credentials.hwInfo.id, address, cb); + root.getAddressObj(wallet, address, function(err, addrObj) { + if (err) return cb(err); + return intelTEE.showReceiveAddress(wallet.credentials.hwInfo.id, addrObj, cb); + }); break; default: cb('Error: unrecognized external source'); @@ -887,6 +890,21 @@ angular.module('copayApp.services').factory('walletService', function($log, $tim }); }; + root.getAddressObj = function(wallet, address, cb) { + wallet.getMainAddresses({ + reverse: true + }, function(err, addr) { + if (err) return cb(err); + var addrObj = lodash.find(addr, function(a) { + return a.address == address; + }); + var err = null; + if (!addrObj) { + err = 'Error: specified address not in wallet'; + } + return cb(err, addrObj); + }); + }; root.isReady = function(wallet, cb) { if (!wallet.isComplete())