This commit is contained in:
Matias Alejo Garcia 2016-08-18 11:45:30 -03:00
commit 02c8cb44d6
No known key found for this signature in database
GPG key ID: 02470DB551277AB3
10 changed files with 57 additions and 56 deletions

View file

@ -41,6 +41,7 @@
<div class="item item-icon-left"> <div class="item item-icon-left">
<i class="icon icon-wallet size-21" ng-style="{'color':recipientColor}"></i> <i class="icon icon-wallet size-21" ng-style="{'color':recipientColor}"></i>
<label translate>From</label> <label translate>From</label>
<p ng-show="network=='testnet'">[Only showing testnet wallets]</p>
</div> </div>
<div class="item item-text-wrap" ng-style="{'height' : '200px'}"> <div class="item item-text-wrap" ng-style="{'height' : '200px'}">

View file

@ -1,6 +1,6 @@
'use strict'; 'use strict';
angular.module('copayApp.controllers').controller('amountController', function($rootScope, $scope, $filter, $timeout, $ionicScrollDelegate, walletService, platformInfo, lodash, configService, go, rateService, $stateParams, $window, $state, $log) { angular.module('copayApp.controllers').controller('amountController', function($rootScope, $scope, $filter, $timeout, $ionicScrollDelegate, platformInfo, lodash, configService, go, rateService, $stateParams, $window, $state, $log, txFormatService) {
var unitToSatoshi; var unitToSatoshi;
@ -144,7 +144,7 @@ angular.module('copayApp.controllers').controller('amountController', function($
if (lodash.isNumber(result)) { if (lodash.isNumber(result)) {
$scope.globalResult = isExpression(val) ? '= ' + processResult(result) : ''; $scope.globalResult = isExpression(val) ? '= ' + processResult(result) : '';
$scope.amountResult = $filter('formatFiatAmount')(toFiat(result)); $scope.amountResult = $filter('formatFiatAmount')(toFiat(result));
$scope.alternativeResult = walletService.formatAmount(fromFiat(result) * unitToSatoshi, true); $scope.alternativeResult = txFormatService.formatAmount(fromFiat(result) * unitToSatoshi, true);
} }
}; };
@ -152,7 +152,7 @@ angular.module('copayApp.controllers').controller('amountController', function($
if ($scope.showAlternativeAmount) if ($scope.showAlternativeAmount)
return $filter('formatFiatAmount')(val); return $filter('formatFiatAmount')(val);
else else
return walletService.formatAmount(val.toFixed(unitDecimals) * unitToSatoshi, true); return txFormatService.formatAmount(val.toFixed(unitDecimals) * unitToSatoshi, true);
}; };
function fromFiat(val) { function fromFiat(val) {

View file

@ -52,6 +52,8 @@ angular.module('copayApp.controllers').controller('confirmController', function(
$scope.toName = $stateParams.toName; $scope.toName = $stateParams.toName;
var network = (new bitcore.Address($scope.toAddress)).network.name; var network = (new bitcore.Address($scope.toAddress)).network.name;
$scope.network = network;
$scope.setWallets(network); $scope.setWallets(network);
toFiat($scope.amount, function(v) { toFiat($scope.amount, function(v) {
@ -62,6 +64,7 @@ angular.module('copayApp.controllers').controller('confirmController', function(
$scope.$on("$ionicSlides.slideChangeEnd", function(event, data) { $scope.$on("$ionicSlides.slideChangeEnd", function(event, data) {
$scope.wallet = $scope.wallets[data.slider.activeIndex]; $scope.wallet = $scope.wallets[data.slider.activeIndex];
}); });
createTx($scope.toAddress, $scope.toAmount); createTx($scope.toAddress, $scope.toAmount);
@ -87,6 +90,7 @@ console.log('[confirm.js.78:toAddress:]',toAddress); //TODO
$log.error('No wallet selected') $log.error('No wallet selected')
return; return;
}; };
console.log('[confirm.js.85:wallet:]',wallet); //TODO
var outputs = []; var outputs = [];
var comment = $scope.comment; var comment = $scope.comment;

View file

@ -1,6 +1,6 @@
'use strict'; 'use strict';
angular.module('copayApp.controllers').controller('txDetailsController', function($rootScope, $log, $scope, $filter, $ionicPopup, gettextCatalog, profileService, configService, lodash) { angular.module('copayApp.controllers').controller('txDetailsController', function($rootScope, $log, $scope, $filter, $ionicPopup, gettextCatalog, profileService, configService, lodash, txFormatService) {
var self = $scope.self; var self = $scope.self;
var fc = profileService.focusedClient; var fc = profileService.focusedClient;
@ -13,8 +13,8 @@ angular.module('copayApp.controllers').controller('txDetailsController', functio
$scope.copayerId = fc.credentials.copayerId; $scope.copayerId = fc.credentials.copayerId;
$scope.isShared = fc.credentials.n > 1; $scope.isShared = fc.credentials.n > 1;
$scope.btx.amountStr = profileService.formatAmount($scope.btx.amount, true) + ' ' + walletSettings.unitName; $scope.btx.amountStr = txFormatService.formatAmount($scope.btx.amount, true) + ' ' + walletSettings.unitName;
$scope.btx.feeStr = profileService.formatAmount($scope.btx.fees, true) + ' ' + walletSettings.unitName; $scope.btx.feeStr = txFormatService.formatAmount($scope.btx.fees, true) + ' ' + walletSettings.unitName;
$scope.showCommentPopup = function() { $scope.showCommentPopup = function() {
$scope.data = { $scope.data = {

View file

@ -108,12 +108,12 @@ angular.module('copayApp.controllers').controller('txpDetailsController', functi
}; };
$scope.getShortNetworkName = function() { $scope.getShortNetworkName = function() {
return fc.credentials.networkName.substring(0, 4); return $scope.wallet.credentials.networkName.substring(0, 4);
}; };
function checkPaypro() { function checkPaypro() {
if (tx.payProUrl && !platformInfo.isChromeApp) { if (tx.payProUrl && !platformInfo.isChromeApp) {
fc.fetchPayPro({ $scope.wallet.fetchPayPro({
payProUrl: tx.payProUrl, payProUrl: tx.payProUrl,
}, function(err, paypro) { }, function(err, paypro) {
if (err) return; if (err) return;
@ -150,7 +150,7 @@ angular.module('copayApp.controllers').controller('txpDetailsController', functi
lodash.each(['TxProposalRejectedBy', 'TxProposalAcceptedBy', 'transactionProposalRemoved', 'TxProposalRemoved', 'NewOutgoingTx', 'UpdateTx'], function(eventName) { lodash.each(['TxProposalRejectedBy', 'TxProposalAcceptedBy', 'transactionProposalRemoved', 'TxProposalRemoved', 'NewOutgoingTx', 'UpdateTx'], function(eventName) {
$rootScope.$on(eventName, function() { $rootScope.$on(eventName, function() {
fc.getTx($scope.tx.id, function(err, tx) { $scope.wallet.getTx($scope.tx.id, function(err, tx) {
if (err) { if (err) {
if (err.message && err.message == 'TX_NOT_FOUND' && if (err.message && err.message == 'TX_NOT_FOUND' &&
(eventName == 'transactionProposalRemoved' || eventName == 'TxProposalRemoved')) { (eventName == 'transactionProposalRemoved' || eventName == 'TxProposalRemoved')) {
@ -163,7 +163,7 @@ angular.module('copayApp.controllers').controller('txpDetailsController', functi
} }
var action = lodash.find(tx.actions, { var action = lodash.find(tx.actions, {
copayerId: fc.credentials.copayerId copayerId: $scope.wallet.credentials.copayerId
}); });
$scope.tx = txFormatService.processTx(tx); $scope.tx = txFormatService.processTx(tx);
@ -187,14 +187,6 @@ angular.module('copayApp.controllers').controller('txpDetailsController', functi
}); });
}; };
function handleEncryptedWallet(cb) {
if (!walletService.isEncrypted(fc)) return cb();
$rootScope.$emit('Local/NeedsPassword', false, function(err, password) {
if (err) return cb(err);
return cb(walletService.unlock(fc, password));
});
};
$scope.copyToClipboard = function(addr, $event) { $scope.copyToClipboard = function(addr, $event) {
if (!addr) return; if (!addr) return;
self.copyToClipboard(addr, $event); self.copyToClipboard(addr, $event);

View file

@ -1,5 +1,5 @@
angular.module('copayApp.controllers').controller('paperWalletController', angular.module('copayApp.controllers').controller('paperWalletController',
function($scope, $timeout, $log, $ionicModal, configService, profileService, go, addressService, txStatus, bitcore, ongoingProcess) { function($scope, $timeout, $log, $ionicModal, configService, profileService, go, addressService, txStatus, bitcore, ongoingProcess, txFormatService) {
var fc = profileService.focusedClient; var fc = profileService.focusedClient;
var rawTx; var rawTx;
@ -61,7 +61,7 @@ angular.module('copayApp.controllers').controller('paperWalletController',
$scope.privateKey = privateKey; $scope.privateKey = privateKey;
$scope.balanceSat = balance; $scope.balanceSat = balance;
var config = configService.getSync().wallet.settings; var config = configService.getSync().wallet.settings;
$scope.balance = profileService.formatAmount(balance) + ' ' + config.unitName; $scope.balance = txFormatService.formatAmount(balance) + ' ' + config.unitName;
} }
$scope.$apply(); $scope.$apply();

View file

@ -1,6 +1,6 @@
'use strict'; 'use strict';
angular.module('copayApp.services').factory('feeService', function($log, bwcService, walletService, configService, gettext, lodash) { angular.module('copayApp.services').factory('feeService', function($log, bwcService, walletService, configService, gettext, lodash, txFormatService) {
var root = {}; var root = {};
// Constant fee options to translate // Constant fee options to translate
@ -16,6 +16,8 @@ angular.module('copayApp.services').factory('feeService', function($log, bwcServ
}; };
root.getCurrentFeeValue = function(cb) { root.getCurrentFeeValue = function(cb) {
console.log('[feeService.js.18:getCurrentFeeValue:] TODO TODO TODO'); //TODO
// TODO TODO TODO
var fc = walletService.focusedClient; var fc = walletService.focusedClient;
var feeLevel = root.getCurrentFeeLevel(); var feeLevel = root.getCurrentFeeLevel();
@ -49,8 +51,8 @@ angular.module('copayApp.services').factory('feeService', function($log, bwcServ
if (errLivenet || errTestnet) $log.debug('Could not get dynamic fee'); if (errLivenet || errTestnet) $log.debug('Could not get dynamic fee');
else { else {
for (var i = 0; i < 4; i++) { for (var i = 0; i < 4; i++) {
levelsLivenet[i]['feePerKBUnit'] = walletService.formatAmount(levelsLivenet[i].feePerKB) + ' ' + unitName; levelsLivenet[i]['feePerKBUnit'] = txFormatService.formatAmount(levelsLivenet[i].feePerKB) + ' ' + unitName;
levelsTestnet[i]['feePerKBUnit'] = walletService.formatAmount(levelsTestnet[i].feePerKB) + ' ' + unitName; levelsTestnet[i]['feePerKBUnit'] = txFormatService.formatAmount(levelsTestnet[i].feePerKB) + ' ' + unitName;
} }
} }

View file

@ -1,12 +1,37 @@
'use strict'; 'use strict';
angular.module('copayApp.services').factory('txFormatService', function(walletService, rateService, configService, lodash) { angular.module('copayApp.services').factory('txFormatService', function(bwcService, rateService, configService, lodash) {
var root = {}; var root = {};
// // RECEIVE
// // Check address
// root.isUsed(wallet.walletId, balance.byAddress, function(err, used) {
// if (used) {
// $log.debug('Address used. Creating new');
// $rootScope.$emit('Local/AddressIsUsed');
// }
// });
//
root.Utils = bwcService.getUtils();
root.formatAmount = function(amount, fullPrecision) {
var config = configService.getSync().wallet.settings;
if (config.unitCode == 'sat') return amount;
//TODO : now only works for english, specify opts to change thousand separator and decimal separator
var opts = {
fullPrecision: !!fullPrecision
};
return this.Utils.formatAmount(amount, config.unitCode, opts);
};
var formatAmountStr = function(amount) { var formatAmountStr = function(amount) {
if (!amount) return; if (!amount) return;
var config = configService.getSync().wallet.settings; var config = configService.getSync().wallet.settings;
return walletService.formatAmount(amount) + ' ' + config.unitName; return root.formatAmount(amount) + ' ' + config.unitName;
}; };
var formatAlternativeStr = function(amount) { var formatAlternativeStr = function(amount) {
@ -18,7 +43,7 @@ angular.module('copayApp.services').factory('txFormatService', function(walletSe
var formatFeeStr = function(fee) { var formatFeeStr = function(fee) {
if (!fee) return; if (!fee) return;
var config = configService.getSync().wallet.settings; var config = configService.getSync().wallet.settings;
return walletService.formatAmount(fee) + ' ' + config.unitName; return root.formatAmount(fee) + ' ' + config.unitName;
}; };
root.processTx = function(tx) { root.processTx = function(tx) {

View file

@ -1,7 +1,7 @@
'use strict'; 'use strict';
// DO NOT INCLUDE STORAGE HERE \/ \/ // DO NOT INCLUDE STORAGE HERE \/ \/
angular.module('copayApp.services').factory('walletService', function($log, $timeout, lodash, trezor, ledger, storageService, configService, rateService, uxLanguage, bwcService, $filter, gettextCatalog, bwcError, $ionicPopup, fingerprintService, ongoingProcess, gettext, $rootScope, txStatus) { angular.module('copayApp.services').factory('walletService', function($log, $timeout, lodash, trezor, ledger, storageService, configService, rateService, uxLanguage, bwcService, $filter, gettextCatalog, bwcError, $ionicPopup, fingerprintService, ongoingProcess, gettext, $rootScope, txStatus, txFormatService, $ionicModal) {
// DO NOT INCLUDE STORAGE HERE ^^ // DO NOT INCLUDE STORAGE HERE ^^
// //
// //
@ -30,29 +30,6 @@ angular.module('copayApp.services').factory('walletService', function($log, $tim
// // RECEIVE
// // Check address
// root.isUsed(wallet.walletId, balance.byAddress, function(err, used) {
// if (used) {
// $log.debug('Address used. Creating new');
// $rootScope.$emit('Local/AddressIsUsed');
// }
// });
//
root.Utils = bwcService.getUtils();
root.formatAmount = function(amount, fullPrecision) {
var config = configService.getSync().wallet.settings;
if (config.unitCode == 'sat') return amount;
//TODO : now only works for english, specify opts to change thousand separator and decimal separator
var opts = {
fullPrecision: !!fullPrecision
};
return this.Utils.formatAmount(amount, config.unitCode, opts);
};
var _signWithLedger = function(wallet, txp, cb) { var _signWithLedger = function(wallet, txp, cb) {
$log.info('Requesting Ledger Chrome app to sign the transaction'); $log.info('Requesting Ledger Chrome app to sign the transaction');
@ -169,12 +146,12 @@ angular.module('copayApp.services').factory('walletService', function($log, $tim
wallet.unitName = config.unitName; wallet.unitName = config.unitName;
//STR //STR
wallet.totalBalanceStr = root.formatAmount(wallet.totalBalanceSat) + ' ' + wallet.unitName; wallet.totalBalanceStr = txFormatService.formatAmount(wallet.totalBalanceSat) + ' ' + wallet.unitName;
wallet.lockedBalanceStr = root.formatAmount(wallet.lockedBalanceSat) + ' ' + wallet.unitName; wallet.lockedBalanceStr = txFormatService.formatAmount(wallet.lockedBalanceSat) + ' ' + wallet.unitName;
wallet.availableBalanceStr = root.formatAmount(wallet.availableBalanceSat) + ' ' + wallet.unitName; wallet.availableBalanceStr = txFormatService.formatAmount(wallet.availableBalanceSat) + ' ' + wallet.unitName;
if (wallet.pendingAmount) { if (wallet.pendingAmount) {
wallet.pendingAmountStr = root.formatAmount(wallet.pendingAmount) + ' ' + wallet.unitName; wallet.pendingAmountStr = txFormatService.formatAmount(wallet.pendingAmount) + ' ' + wallet.unitName;
} else { } else {
wallet.pendingAmountStr = null; wallet.pendingAmountStr = null;
} }
@ -365,8 +342,8 @@ angular.module('copayApp.services').factory('walletService', function($log, $tim
$log.debug('Fixing Tx Cache Unit to:' + name) $log.debug('Fixing Tx Cache Unit to:' + name)
lodash.each(txs, function(tx) { lodash.each(txs, function(tx) {
tx.amountStr = root.formatAmount(tx.amount) + name; tx.amountStr = txFormatService.formatAmount(tx.amount) + name;
tx.feeStr = root.formatAmount(tx.fees) + name; tx.feeStr = txFormatService.formatAmount(tx.fees) + name;
}); });
}; };