From 3cac9a30bc36e24291f02ad8f5ab608e5390e117 Mon Sep 17 00:00:00 2001 From: Gustavo Maximiliano Cortez Date: Tue, 18 Jul 2017 12:36:32 -0300 Subject: [PATCH] Set min max allowed valued --- src/js/controllers/modals/feeLevels.js | 21 +++++++++++++++------ www/views/modals/chooseFeeLevel.html | 8 ++++---- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/src/js/controllers/modals/feeLevels.js b/src/js/controllers/modals/feeLevels.js index 75c1deaed..9006fcd01 100644 --- a/src/js/controllers/modals/feeLevels.js +++ b/src/js/controllers/modals/feeLevels.js @@ -2,7 +2,9 @@ angular.module('copayApp.controllers').controller('feeLevelsController', function($scope, $timeout, $log, lodash, gettextCatalog, configService, feeService, ongoingProcess, popupService) { - var MAX_RECOMMENDED_FEE = 1000; + var FEE_MULTIPLIER = 10; + var FEE_MIN = 0; + var FEE_MAX = 1000000; var showErrorAndClose = function(title, msg) { title = title || gettextCatalog.getString('Error'); @@ -21,7 +23,10 @@ angular.module('copayApp.controllers').controller('feeLevelsController', functio }; var getMaxRecommended = function() { - return MAX_RECOMMENDED_FEE; + var value = lodash.find($scope.feeLevels[$scope.network], { + level: 'urgent' + }); + return parseInt((value.feePerKB / 1000).toFixed()); }; $scope.ok = function() { @@ -30,18 +35,22 @@ angular.module('copayApp.controllers').controller('feeLevelsController', functio }; $scope.setFeesRecommended = function() { - $scope.maxFeeRecommended = getMaxRecommended(); + $scope.minFeeAllowed = FEE_MIN; + $scope.maxFeeAllowed = FEE_MAX; + $scope.maxFeeRecommended = getMaxRecommended() * FEE_MULTIPLIER; $scope.minFeeRecommended = getMinRecommended(); }; $scope.checkFees = function(feePerSatByte) { - if (Number(feePerSatByte) == 0) $scope.showError = true; + var fee = Number(feePerSatByte); + + if (fee <= $scope.minFeeAllowed) $scope.showError = true; else $scope.showError = false; - if (Number(feePerSatByte) < $scope.minFeeRecommended) $scope.showMinWarning = true; + if (fee > $scope.minFeeAllowed && fee < $scope.minFeeRecommended) $scope.showMinWarning = true; else $scope.showMinWarning = false; - if (Number(feePerSatByte) > $scope.maxFeeRecommended) $scope.showMaxWarning = true; + if (fee < $scope.maxFeeAllowed && fee > $scope.maxFeeRecommended) $scope.showMaxWarning = true; else $scope.showMaxWarning = false; }; diff --git a/www/views/modals/chooseFeeLevel.html b/www/views/modals/chooseFeeLevel.html index 40822a491..851cb3096 100644 --- a/www/views/modals/chooseFeeLevel.html +++ b/www/views/modals/chooseFeeLevel.html @@ -39,8 +39,8 @@ - Zero value for fee are not allowed. + Transactions without fee are not supported.
@@ -61,7 +61,7 @@ Your fee is lower than recommended. - You should not set a fee higher than 1000 satoshis/byte. + You should not set a fee higher than {{maxFeeRecommended}} satoshis/byte.