diff --git a/angular-bitcore-wallet-client/index.js b/angular-bitcore-wallet-client/index.js index 0765b6df0..84d851ce0 100644 --- a/angular-bitcore-wallet-client/index.js +++ b/angular-bitcore-wallet-client/index.js @@ -13,6 +13,10 @@ bwcModule.provider("bwcService", function() { return Client.Bitcore; }; + service.getBitcoreCash = function() { + return Client.BitcoreCash; + }; + service.getErrors = function() { return Client.errors; }; diff --git a/src/js/controllers/confirm.js b/src/js/controllers/confirm.js index b85105a06..174531476 100644 --- a/src/js/controllers/confirm.js +++ b/src/js/controllers/confirm.js @@ -1,6 +1,6 @@ 'use strict'; -angular.module('copayApp.controllers').controller('confirmController', function($rootScope, $scope, $interval, $filter, $timeout, $ionicScrollDelegate, gettextCatalog, walletService, platformInfo, lodash, configService, $stateParams, $window, $state, $log, profileService, bitcore, txFormatService, ongoingProcess, $ionicModal, popupService, $ionicHistory, $ionicConfig, payproService, feeService, bwcError, txConfirmNotification) { +angular.module('copayApp.controllers').controller('confirmController', function($rootScope, $scope, $interval, $filter, $timeout, $ionicScrollDelegate, gettextCatalog, walletService, platformInfo, lodash, configService, $stateParams, $window, $state, $log, profileService, bitcore, bitcoreCash, txFormatService, ongoingProcess, $ionicModal, popupService, $ionicHistory, $ionicConfig, payproService, feeService, bwcError, txConfirmNotification) { var countDown = null; var CONFIRM_LIMIT_USD = 20; @@ -120,6 +120,8 @@ angular.module('copayApp.controllers').controller('confirmController', function( }; // Setup $scope + // + var B = data.stateParams.coin == 'bch' ? bitcoreCash : bitcore; // Grab stateParams tx = { @@ -137,7 +139,7 @@ angular.module('copayApp.controllers').controller('confirmController', function( toName: data.stateParams.toName, toEmail: data.stateParams.toEmail, toColor: data.stateParams.toColor, - network: (new bitcore.Address(data.stateParams.toAddress)).network.name, + network: (new B.Address(data.stateParams.toAddress)).network.name, coin: data.stateParams.coin, txp: {}, }; diff --git a/src/js/controllers/create.js b/src/js/controllers/create.js index 6bb2bd78a..d47dba87f 100644 --- a/src/js/controllers/create.js +++ b/src/js/controllers/create.js @@ -30,7 +30,7 @@ angular.module('copayApp.controllers').controller('createController', $scope.formData.derivationPath = derivationPathHelper.default; $scope.formData.coin = 'btc'; - if (config.cashSupport.enabled) $scope.enableCash = true; + if (config.cashSupport) $scope.enableCash = true; $scope.setTotalCopayers(tc); updateRCSelect(tc); diff --git a/src/js/services/bitcoreCash.js b/src/js/services/bitcoreCash.js new file mode 100644 index 000000000..484c2a6e9 --- /dev/null +++ b/src/js/services/bitcoreCash.js @@ -0,0 +1,6 @@ +'use strict'; +angular.module('copayApp.services') + .factory('bitcoreCash', function bitcoreFactory(bwcService) { + var bitcoreCash = bwcService.getBitcoreCash(); + return bitcoreCash; + }); diff --git a/src/js/services/incomingData.js b/src/js/services/incomingData.js index a805fac29..82d0510a4 100644 --- a/src/js/services/incomingData.js +++ b/src/js/services/incomingData.js @@ -1,6 +1,6 @@ 'use strict'; -angular.module('copayApp.services').factory('incomingData', function($log, $state, $timeout, $ionicHistory, bitcore, $rootScope, payproService, scannerService, appConfigService, popupService, gettextCatalog) { +angular.module('copayApp.services').factory('incomingData', function($log, $state, $timeout, $ionicHistory, bitcore, bitcoreCash, $rootScope, payproService, scannerService, appConfigService, popupService, gettextCatalog) { var root = {}; @@ -140,6 +140,16 @@ angular.module('copayApp.services').factory('incomingData', function($log, $stat } else { goToAmountPage(data); } + } else if (bitcoreCash.Address.isValid(data, 'livenet')) { + if ($state.includes('tabs.scan')) { + root.showMenu({ + data: data, + type: 'bitcoinAddress', + coin: 'bch', + }); + } else { + goToAmountPage(data, 'bch'); + } } else if (data && data.indexOf(appConfigService.name + '://glidera') === 0) { var code = getParameterByName('code', data); $ionicHistory.nextViewOptions({ @@ -254,14 +264,15 @@ angular.module('copayApp.services').factory('incomingData', function($log, $stat }; - function goToAmountPage(toAddress) { + function goToAmountPage(toAddress, coin) { $state.go('tabs.send', {}, { 'reload': true, 'notify': $state.current.name == 'tabs.send' ? false : true }); $timeout(function() { $state.transitionTo('tabs.send.amount', { - toAddress: toAddress + toAddress: toAddress, + coin: coin, }); }, 100); }