diff --git a/public/views/modals/fee.html b/public/views/modals/advancedSend.html
similarity index 58%
rename from public/views/modals/fee.html
rename to public/views/modals/advancedSend.html
index a52eee2fe..740903e2c 100644
--- a/public/views/modals/fee.html
+++ b/public/views/modals/advancedSend.html
@@ -6,7 +6,7 @@
- Bitcoin Network Fee Policy
+ Advanced Send
@@ -14,12 +14,9 @@
- Fee level
+ Fee Policy
- Priority
- Normal
- Economy
- {{fee.feePerKBUnit}} per kB
+ {{fee.level|translate}}
@@ -27,13 +24,8 @@
- Average confirmation time: {{fee.nbBlocks * 10}} minutes
-
-
-
-
-
-Bitcoin transactions may include a fee collected by miners on the network. The higher the fee, the greater the incentive a miner has to include that transaction in a block.
+ Average confirmation time: {{fee.nbBlocks * 10}} minutes .
+ Current fee rate for this policy: {{fee.feePerKBUnit}}/kiB
diff --git a/public/views/preferences.html b/public/views/preferences.html
index d14e494a6..c8753e221 100644
--- a/public/views/preferences.html
+++ b/public/views/preferences.html
@@ -77,8 +77,13 @@
{{preferences.selectedAlternative.name}}
-
-
+
+ Bitcoin Network Fee Policy
+
+
+ {{index.currentFeeLevel}}
+
+
Bitcore Wallet Service
diff --git a/public/views/preferencesFee.html b/public/views/preferencesFee.html
new file mode 100644
index 000000000..1a28f0f35
--- /dev/null
+++ b/public/views/preferencesFee.html
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+ Average confirmation time: {{fee.nbBlocks * 10}} minutes .
+ Current fee rate for this policy: {{fee.feePerKBUnit}}/kiB
+
+
+
+
+
+ Bitcoin transactions may include a fee collected by miners on the network. The higher the fee, the greater the incentive a miner has to include that transaction in a block. Actual fees are determined based on network load and the selected policy.
+
+
+
+
+
diff --git a/public/views/walletHome.html b/public/views/walletHome.html
index 0350163a6..a68d4fa86 100644
--- a/public/views/walletHome.html
+++ b/public/views/walletHome.html
@@ -398,16 +398,6 @@
-
-
Note
diff --git a/src/css/main.css b/src/css/main.css
index 2300e15d3..3de53f411 100644
--- a/src/css/main.css
+++ b/src/css/main.css
@@ -877,6 +877,7 @@ input.ng-invalid-match, input.ng-invalid-match:focus {
.text-alert {color: red;}
.text-success {color: #1ABC9C;}
.text-spacing {letter-spacing:2px;}
+.text-capitalize {text-transform: capitalize;}
.panel {
background: #FFFFFF;
diff --git a/src/js/controllers/preferences.js b/src/js/controllers/preferences.js
index e19db43dc..742db5a84 100644
--- a/src/js/controllers/preferences.js
+++ b/src/js/controllers/preferences.js
@@ -4,7 +4,6 @@ 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..7e8cfd98f
--- /dev/null
+++ b/src/js/controllers/preferencesFee.js
@@ -0,0 +1,21 @@
+'use strict';
+
+angular.module('copayApp.controllers').controller('preferencesFeeController',
+ function($rootScope, configService) {
+
+ this.save = function(newFee) {
+ var opts = {
+ wallet: {
+ settings: {
+ feeLevel: newFee
+ }
+ }
+ };
+ $rootScope.$emit('Local/FeeLevelUpdated', newFee);
+
+ configService.set(opts, function(err) {
+ if (err) $log.debug(err);
+ });
+
+ };
+ });
diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js
index 81f2251e1..c4d19c977 100644
--- a/src/js/controllers/walletHome.js
+++ b/src/js/controllers/walletHome.js
@@ -973,7 +973,8 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
}
};
- this.openFeeLevelsModal = function(feeLevels, currentFeeLevel) {
+ // Advanced SEND: set temporary fee policy for each transaction
+ this.openAdvancedSendModal = function(feeLevels, currentFeeLevel) {
var fc = profileService.focusedClient;
var ModalInstanceCtrl = function($scope, $modalInstance) {
@@ -981,21 +982,8 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
$scope.currentFeeLevel = currentFeeLevel
$scope.network = fc.credentials.network;
$scope.color = fc.backgroundColor;
-
$scope.save = function(level) {
- var opts = {
- wallet: {
- settings: {
- feeLevel: level
- }
- }
- };
$scope.currentFeeLevel = level;
- $rootScope.$emit('Local/FeeLevelUpdated', level);
-
- configService.set(opts, function(err) {
- if (err) $log.debug(err);
- });
};
$scope.cancel = function() {
@@ -1003,7 +991,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
};
};
var modalInstance = $modal.open({
- templateUrl: 'views/modals/fee.html',
+ templateUrl: 'views/modals/advancedSend.html',
windowClass: 'full animated slideInUp',
controller: ModalInstanceCtrl
});
diff --git a/src/js/routes.js b/src/js/routes.js
index b5c08dd24..8d056f72e 100644
--- a/src/js/routes.js
+++ b/src/js/routes.js
@@ -252,6 +252,17 @@ angular
},
}
})
+ .state('preferencesFee', {
+ url: '/preferencesFee',
+ templateUrl: 'views/preferencesFee.html',
+ walletShouldBeComplete: true,
+ needProfile: true,
+ views: {
+ 'main': {
+ templateUrl: 'views/preferencesFee.html'
+ },
+ }
+ })
.state('preferencesAdvanced', {
url: '/preferencesAdvanced',
@@ -458,6 +469,7 @@ angular
delete: 13,
preferencesLanguage: 12,
preferencesUnit: 12,
+ preferencesFee: 12,
preferencesAltCurrency: 12,
preferencesBwsUrl: 12,
preferencesAlias: 12,
diff --git a/src/js/services/feeService.js b/src/js/services/feeService.js
index 123e08c71..d37df45a7 100644
--- a/src/js/services/feeService.js
+++ b/src/js/services/feeService.js
@@ -1,17 +1,17 @@
'use strict';
-angular.module('copayApp.services').factory('feeService', function($log, lodash, profileService, configService, gettext) {
+angular.module('copayApp.services').factory('feeService', function($log, profileService, configService) {
var root = {};
root.getCurrentFeeValue = function(cb) {
var fc = profileService.focusedClient;
var config = configService.getSync().wallet.settings;
- var feeLevel = config.feeLevel || 'priority';
+ var feeLevel = config.feeLevel || 'normal';
// static fee
var fee = 10000;
fc.getFeeLevels(fc.credentials.network, function(err, levels) {
if (err) {
- return cb({message: 'Could not get dynamic fee'}, fee);
+ return cb({message: 'Could not get dynamic fee. Using static 10000sat'}, fee);
}
else {
for (var i = 0; i < 3; i++) {
@@ -25,30 +25,10 @@ angular.module('copayApp.services').factory('feeService', function($log, lodash,
});
};
- var checkCompatibility = function(config) {
- if (config.feeName && !config.feeLevel) {
- // Migrate to new dynamic fee values
- var level = config.feeName.toLowerCase();
- if (level == 'emergency') level = 'priority';
-
- var opts = {
- wallet: {
- settings: {
- feeLevel: level
- }
- }
- };
- configService.set(opts, function(err) {
- if (err) $log.debug(err);
- });
- }
- };
-
root.getFeeLevels = function(cb) {
var fc = profileService.focusedClient;
var config = configService.getSync().wallet.settings;
var unitName = config.unitName;
- checkCompatibility(config);
fc.getFeeLevels('livenet', function(errLivenet, levelsLivenet) {
fc.getFeeLevels('testnet', function(errTestnet, levelsTestnet) {