diff --git a/bower.json b/bower.json index 17c755ef6..f3ecba9c5 100644 --- a/bower.json +++ b/bower.json @@ -17,7 +17,7 @@ "ng-lodash": "~0.2.0", "angular-moment": "~0.10.1", "moment": "~2.10.3", - "angular-bitcore-wallet-client": "^0.0.24", + "angular-bitcore-wallet-client": "^0.0.25", "angular-ui-router": "~0.2.13", "qrcode-decoder-js": "*", "fastclick": "*", diff --git a/public/views/preferences.html b/public/views/preferences.html index d431d8d17..e9ffdbd7b 100644 --- a/public/views/preferences.html +++ b/public/views/preferences.html @@ -77,6 +77,14 @@ {{preferences.selectedAlternative.name}} +
  • + Bitcoin Network Fee Policy + + + {{preferences.feeName}} + +
  • +
  • Bitcore Wallet Service diff --git a/public/views/preferencesFee.html b/public/views/preferencesFee.html new file mode 100644 index 000000000..fb4885cb6 --- /dev/null +++ b/public/views/preferencesFee.html @@ -0,0 +1,14 @@ +
    +
    + + +
    +
    + {{fee.name}} ({{fee.value}} bits per kB) + +
    +
    +
    diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index 608010349..664e67d3b 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -443,7 +443,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r self.availableBalanceBTC = strip(self.availableBalanceBTC / COIN); // KB to send max - self.feePerKbSat = config.feePerKbSat || 10000; + self.feePerKbSat = config.feeValue || 10000; if (balance.totalKbToSendMax) { var feeToSendMaxSat = balance.totalKbToSendMax * self.feePerKbSat; diff --git a/src/js/controllers/preferences.js b/src/js/controllers/preferences.js index 742db5a84..e19db43dc 100644 --- a/src/js/controllers/preferences.js +++ b/src/js/controllers/preferences.js @@ -4,6 +4,7 @@ angular.module('copayApp.controllers').controller('preferencesController', function($scope, $rootScope, $filter, $timeout, $modal, $log, lodash, configService, profileService) { var config = configService.getSync(); this.unitName = config.wallet.settings.unitName; + this.feeName = config.wallet.settings.feeName || 'Priority'; this.bwsurl = config.bws.url; this.selectedAlternative = { name: config.wallet.settings.alternativeName, diff --git a/src/js/controllers/preferencesFee.js b/src/js/controllers/preferencesFee.js new file mode 100644 index 000000000..2ae1f6b88 --- /dev/null +++ b/src/js/controllers/preferencesFee.js @@ -0,0 +1,35 @@ +'use strict'; + +angular.module('copayApp.controllers').controller('preferencesFeeController', + function($rootScope, $scope, configService, go) { + var config = configService.getSync(); + this.feeName = config.wallet.settings.feeName || 'Priority'; + this.feeOpts = [{ + name: 'Priority', + value: 100, + }, { + name: 'Normal', + value: 50, + }, { + name: 'Economy', + value: 10, + }]; + + this.save = function(newFee) { + var opts = { + wallet: { + settings: { + feeName: newFee.name, + feeValue: newFee.value * 100, + } + } + }; + this.feeName = newFee.name; + + configService.set(opts, function(err) { + if (err) console.log(err); + $scope.$emit('Local/UnitSettingUpdated'); + }); + + }; + }); diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index ac631efa4..6a53c4401 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -608,6 +608,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi amount: amount, message: comment, payProUrl: paypro ? paypro.url : null, + feePerKb: config.feeValue || 10000, }, function(err, txp) { if (err) { self.setOngoingProcess(); diff --git a/src/js/routes.js b/src/js/routes.js index 1db5d9a8a..14b74f7f2 100644 --- a/src/js/routes.js +++ b/src/js/routes.js @@ -245,6 +245,18 @@ angular }, } }) + .state('preferencesFee', { + url: '/preferencesFee', + templateUrl: 'views/preferencesFee.html', + walletShouldBeComplete: true, + needProfile: true, + views: { + 'main': { + templateUrl: 'views/preferencesFee.html' + }, + } + }) + .state('preferencesAdvanced', { url: '/preferencesAdvanced', templateUrl: 'views/preferencesAdvanced.html', @@ -451,6 +463,7 @@ angular delete: 13, preferencesLanguage: 12, preferencesUnit: 12, + preferencesFee: 12, preferencesAltCurrency: 12, preferencesBwsUrl: 12, preferencesAlias: 12,