From e7f1bbba7defefef5534b9fd54bc2428f324ffef Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Tue, 3 May 2016 10:42:18 -0300 Subject: [PATCH] fix logs in txservice, add logs to bwc (#4164) * fix logs in txservice, add logs to bwc * 1.12.8 + add test for android * new version 1.12.11 * revert changes in index --- Makefile | 5 +++-- config-templates/config.xml | 2 ++ cordova/android/project.properties | 2 +- cordova/build.sh | 6 +++--- cordova/config.xml | 8 ++++--- cordova/wp/Package.appxmanifest | 2 +- cordova/wp/Properties/WMAppManifest.xml | 2 +- package.json | 4 ++-- public/views/preferencesInformation.html | 9 ++++++++ src/js/controllers/import.js | 1 + src/js/controllers/preferencesInformation.js | 16 +++++++++++++- src/js/controllers/walletHome.js | 4 +++- src/js/services/profileService.js | 22 ++++++++++++-------- src/js/services/txService.js | 22 ++++++++------------ webkitbuilds/.desktop | 2 +- webkitbuilds/setup-win.iss | 2 +- 16 files changed, 70 insertions(+), 39 deletions(-) diff --git a/Makefile b/Makefile index c6691b070..0026988ca 100644 --- a/Makefile +++ b/Makefile @@ -56,7 +56,8 @@ ios-debug: open cordova/project/platforms/ios/Copay.xcodeproj android-prod: - cordova/build.sh ANDROID --clear + cordova/build.sh ANDROID --clear + rm -f cordova/project/platforms/android/build/outputs/apk/android-release-signed-aligned.apk cd cordova/project && cordova build android --release jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ../copay.keystore -signedjar cordova/project/platforms/android/build/outputs/apk/android-release-signed.apk cordova/project/platforms/android/build/outputs/apk/android-release-unsigned.apk copay_play ../android-sdk-macosx/build-tools/21.1.1/zipalign -v 4 cordova/project/platforms/android/build/outputs/apk/android-release-signed.apk cordova/project/platforms/android/build/outputs/apk/android-release-signed-aligned.apk @@ -67,5 +68,5 @@ android-debug: cd cordova/project && cordova run android android-debug-fast: - cordova/build.sh ANDROID --dbgjs + cordova/build.sh ANDROID --dbgjs cd cordova/project && cordova run android --device diff --git a/config-templates/config.xml b/config-templates/config.xml index d778216d8..cb26dfcba 100644 --- a/config-templates/config.xml +++ b/config-templates/config.xml @@ -29,6 +29,8 @@ + + diff --git a/cordova/android/project.properties b/cordova/android/project.properties index ba47b4781..d17285111 100644 --- a/cordova/android/project.properties +++ b/cordova/android/project.properties @@ -12,6 +12,6 @@ android.library.reference.1=CordovaLib # Project target. -target=android-21 +target=android-23 key.store=../../../copay.keystore key.alias=copay_play diff --git a/cordova/build.sh b/cordova/build.sh index f5293880a..0c91c9cd8 100755 --- a/cordova/build.sh +++ b/cordova/build.sh @@ -58,12 +58,12 @@ if [ ! -d $PROJECT ]; then echo "${OpenColor}${Green}* Creating project... ${CloseColor}" cordova create project com.bitpay.copay Copay checkOK - cd $PROJECT - if [ $CURRENT_OS == "ANDROID" ]; then echo "${OpenColor}${Green}* Adding Android platform... ${CloseColor}" - cordova platforms add android +echo "SSSSSSSSSSSSSSSSSSS"; + cordova platforms add android@5.1.1 +echo "SSSSSSSSSSSSSSSSSSS"; checkOK fi diff --git a/cordova/config.xml b/cordova/config.xml index ffefe7101..9f3df7df4 100644 --- a/cordova/config.xml +++ b/cordova/config.xml @@ -1,8 +1,8 @@ + version="1.12.11" + android-versionCode="101" + ios-CFBundleVersion="1.12.11"> Copay A secure bitcoin wallet for friends and companies. @@ -29,6 +29,8 @@ + + diff --git a/cordova/wp/Package.appxmanifest b/cordova/wp/Package.appxmanifest index 4b25c40f2..fe118f7bd 100644 --- a/cordova/wp/Package.appxmanifest +++ b/cordova/wp/Package.appxmanifest @@ -1,6 +1,6 @@ - + Copay Bitcoin Wallet diff --git a/cordova/wp/Properties/WMAppManifest.xml b/cordova/wp/Properties/WMAppManifest.xml index e7af0f6b5..342b05d8d 100644 --- a/cordova/wp/Properties/WMAppManifest.xml +++ b/cordova/wp/Properties/WMAppManifest.xml @@ -11,7 +11,7 @@ - + Assets\icon@2.png diff --git a/package.json b/package.json index a72d92a68..e86698bde 100644 --- a/package.json +++ b/package.json @@ -2,8 +2,8 @@ "name": "copay", "description": "A multisignature wallet", "author": "BitPay", - "version": "1.12.1", - "androidVersionCode": "90", + "version": "1.12.11", + "androidVersionCode": "101", "keywords": [ "wallet", "copay", diff --git a/public/views/preferencesInformation.html b/public/views/preferencesInformation.html index 9c049490f..e8b2683d1 100644 --- a/public/views/preferencesInformation.html +++ b/public/views/preferencesInformation.html @@ -8,6 +8,15 @@

Wallet Information

    +
  • + BETA: Android Key Derivation Test: + + {{androidTest}} + +
  • + + +
  • Wallet Name (at creation) diff --git a/src/js/controllers/import.js b/src/js/controllers/import.js index 1fafc073f..a7e180504 100644 --- a/src/js/controllers/import.js +++ b/src/js/controllers/import.js @@ -82,6 +82,7 @@ angular.module('copayApp.controllers').controller('importController', }; var _importExtendedPrivateKey = function(xPrivKey, opts) { +console.log('[import.js.84:xPrivKey:]',xPrivKey); //TODO self.loading = true; $timeout(function() { diff --git a/src/js/controllers/preferencesInformation.js b/src/js/controllers/preferencesInformation.js index e97c36674..f93055460 100644 --- a/src/js/controllers/preferencesInformation.js +++ b/src/js/controllers/preferencesInformation.js @@ -1,7 +1,7 @@ 'use strict'; angular.module('copayApp.controllers').controller('preferencesInformation', - function($scope, $log, $timeout, isMobile, gettextCatalog, lodash, profileService, storageService, go) { + function($scope, $log, $timeout, isMobile, gettextCatalog, lodash, profileService, storageService, go, bitcore) { var base = 'xpub'; var fc = profileService.focusedClient; var c = fc.credentials; @@ -20,6 +20,20 @@ angular.module('copayApp.controllers').controller('preferencesInformation', $scope.pubKeys = lodash.pluck(c.publicKeyRing, 'xPubKey'); $scope.addrs = null; + + if (isMobile.Android()) { + $scope.androidTest = 'testing'; + + var xp = bitcore.HDPrivateKey("tprv8ZgxMBicQKsPebv8CVghFoaaZ6ejmcSmSaKo99sUnswCCPeccGbLzfoksA2wd5XdHe8UHLwM2emuBWD4cBvQ7BPTJhFu75u3HcSjRVFmYM9"); + + var pub = xp.derive("m/44'/1'/0'").hdPublicKey.toString(); + if (pub == 'tpubDCe5stHkJZhfNMpQLgqRVYjSfADoosJ7FvxukgyXf1YzrCnru2z61giPXbgJGGxnHt922CY22DDDYD6d28jnd9okctoXNW837TmbNaAEM99') { + $scope.androidTest = 'OK, TEST PASSED'; + } else { + $scope.androidTest = 'FAILED!! Please report to matias@bitpay.com. Result:' + pub; + } + } + fc.getMainAddresses({ doNotVerify: true }, function(err, addrs) { diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index a741b1c85..02aff04e5 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -439,6 +439,8 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi self.setOngoingProcess(gettextCatalog.getString('Rejecting payment')); $scope.loading = true; $scope.error = null; + + // TODO: This should be in txService $timeout(function() { fc.rejectTxProposal(txp, null, function(err, txpr) { self.setOngoingProcess(); @@ -982,7 +984,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi self.setOngoingProcess(); if (err) { - self.error = err.message ? err.message : gettext('The payment was created but could not be completed. Please try again from home screen'); + self.error = bwsError.msg(err, gettextCatalog.getString('The payment was created but could not be completed. Please try again from home screen')); $scope.$emit('Local/TxProposalAction'); $timeout(function() { $scope.$digest(); diff --git a/src/js/services/profileService.js b/src/js/services/profileService.js index 66e1c8ac7..1dc8deb8e 100644 --- a/src/js/services/profileService.js +++ b/src/js/services/profileService.js @@ -76,6 +76,9 @@ angular.module('copayApp.services') var client = bwcService.getClient(JSON.stringify(credentials)); root.walletClients[credentials.walletId] = client; client.removeAllListeners(); + client.on('report', function(n) { + $log.info('BWC Report:'+ n); + }); client.on('notification', function(n) { $log.debug('BWC Notification:', n); @@ -118,6 +121,7 @@ angular.module('copayApp.services') root.setWalletClients = function() { var credentials = root.profile.credentials; lodash.each(credentials, function(credential) { + //$log.info("Credentials:", credentials); root.setWalletClient(credential); }); $rootScope.$emit('Local/WalletListUpdated'); @@ -673,18 +677,18 @@ angular.module('copayApp.services') $log.debug('Wallet is encrypted'); $rootScope.$emit('Local/NeedsPassword', false, function(err2, password) { - if (err2 || !password) { - return cb({ - message: (err2 || gettext('Password needed')) - }); - } + + if (err2) + return cb(err2); + + if (!password) + return cb(gettext('Password needed')); + try { fc.unlock(password); } catch (e) { - $log.debug(e); - return cb({ - message: gettext('Wrong password') - }); + $log.warn('Error decrypting wallet:', e); + return cb(gettext('Wrong password')); } return cb(); }); diff --git a/src/js/services/txService.js b/src/js/services/txService.js index 1eef5c58c..7eb340f27 100644 --- a/src/js/services/txService.js +++ b/src/js/services/txService.js @@ -75,6 +75,7 @@ angular.module('copayApp.services').factory('txService', function($rootScope, pr $log.info("at .prepare"); opts = opts || {}; var fc = opts.selectedClient || profileService.focusedClient; + $log.info('FC Client Dump:' + fc); if (!fc.canSign() && !fc.isPrivKeyExternal()) return cb('Cannot sign'); // should never happen, no need to translate @@ -198,18 +199,13 @@ angular.module('copayApp.services').factory('txService', function($rootScope, pr txp.signatures = null; $log.info('at .sign: (isEncrypted):', fc.isPrivKeyEncrypted()); - $log.info('txp BEFORE:', txp); + $log.info('txp BEFORE .signTxProposal:', txp); - try { - fc.signTxProposal(txp, function(err, signedTxp) { - $log.info('txp AFTER:',err, signedTxp); - profileService.lockFC(); - return cb(err, signedTxp); - }); - } catch (e) { - $log.warn('Error at signTxProposal:', e); - return cb(e); - } + fc.signTxProposal(txp, function(err, signedTxp) { + $log.info('txp AFTER .signTxProposal:',err, signedTxp); + profileService.lockFC(); + return cb(err, signedTxp); + }); } }; @@ -222,7 +218,7 @@ angular.module('copayApp.services').factory('txService', function($rootScope, pr root.sign(txp, opts, function(err, txp) { if (err) { stopReport(opts); - return cb(bwsError.msg(err), gettextCatalog.getString('Could not accept payment')); + return bwsError.cb(err, gettextCatalog.getString('Could not accept payment'), cb); }; if (txp.status != 'accepted') { @@ -235,7 +231,7 @@ angular.module('copayApp.services').factory('txService', function($rootScope, pr stopReport(opts); if (err) { - return cb(bwsError.msg(err, gettextCatalog.getString('Could not broadcast payment'))); + return bwsError.cb(err, gettextCatalog.getString('Could not broadcast payment'), cb); }; $log.debug('Transaction signed and broadcasted') diff --git a/webkitbuilds/.desktop b/webkitbuilds/.desktop index b0477714f..b1cd5588b 100644 --- a/webkitbuilds/.desktop +++ b/webkitbuilds/.desktop @@ -1,6 +1,6 @@ [Desktop Entry] Type=Application -Version=1.12.1 +Version=1.12.11 Name=Copay Comment=A multisignature wallet Exec=copay diff --git a/webkitbuilds/setup-win.iss b/webkitbuilds/setup-win.iss index 863f6d89b..8823c5b84 100755 --- a/webkitbuilds/setup-win.iss +++ b/webkitbuilds/setup-win.iss @@ -2,7 +2,7 @@ ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! #define MyAppName "Copay" -#define MyAppVersion "1.12.1" +#define MyAppVersion "1.12.11" #define MyAppPublisher "BitPay" #define MyAppURL "https://copay.io" #define MyAppExeName "Copay.exe"