diff --git a/public/views/walletHome.html b/public/views/walletHome.html
index d2a69224f..d4d1fc9e7 100644
--- a/public/views/walletHome.html
+++ b/public/views/walletHome.html
@@ -295,7 +295,7 @@
Send All
diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js
index 2f5188fbf..cb050f6da 100644
--- a/src/js/controllers/index.js
+++ b/src/js/controllers/index.js
@@ -328,10 +328,12 @@ angular.module('copayApp.controllers').controller('indexController', function($r
// KB to send max
if (self.totalBytesToSendMax) {
var feeToSendMaxSat = parseInt(((self.totalBytesToSendMax * feePerKb) / 1000.).toFixed(0));
+ self.feeRateToSendMax = feePerKb;
self.availableMaxBalance = strip((self.availableBalanceSat - feeToSendMaxSat) * self.satToUnit);
self.feeToSendMaxStr = profileService.formatAmount(feeToSendMaxSat) + ' ' + self.unitName;
} else {
self.feeToSendMaxStr = null;
+ self.feeRateToSendMax = null;
}
});
}
diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js
index bb7df5bf7..7d1e340cb 100644
--- a/src/js/controllers/walletHome.js
+++ b/src/js/controllers/walletHome.js
@@ -722,7 +722,15 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
address = form.address.$modelValue;
amount = parseInt((form.amount.$modelValue * unitToSat).toFixed(0));
- feeService.getCurrentFeeValue(self.currentSendFeeLevel, function(err, feePerKb) {
+ var getFee = function(cb) {
+ if (form.feePerKb) {
+ cb(null, form.feePerKb);
+ } else {
+ feeService.getCurrentFeeValue(self.currentSendFeeLevel, cb);
+ }
+ };
+
+ getFee(function(err, feePerKb) {
if (err) $log.debug(err);
fc.sendTxProposal({
toAddress: address,
@@ -803,7 +811,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
});
};
- this.setForm = function(to, amount, comment) {
+ this.setForm = function(to, amount, comment, feeRate) {
var form = $scope.sendForm;
if (to) {
form.address.$setViewValue(to);
@@ -824,6 +832,10 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
form.comment.$isValid = true;
form.comment.$render();
}
+
+ if (feeRate) {
+ form.feeRate = feeRate;
+ }
};
@@ -841,6 +853,11 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
this._amount = this._address = null;
var form = $scope.sendForm;
+
+ if (form && form.feeRate) {
+ form.feeRate = null;
+ }
+
if (form && form.amount) {
form.amount.$pristine = true;
form.amount.$setViewValue('');
@@ -1042,8 +1059,8 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
return actions.hasOwnProperty('create');
};
- this._doSendAll = function(amount) {
- this.setForm(null, amount);
+ this._doSendAll = function(amount, feeRate) {
+ this.setForm(null, amount, null, feeRate);
};
this.confirmDialog = function(msg, cb) {
@@ -1069,7 +1086,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
}
};
- this.sendAll = function(amount, feeStr) {
+ this.sendAll = function(amount, feeStr, feeRate) {
var self = this;
var msg = gettextCatalog.getString("{{fee}} will be discounted for bitcoin networking fees", {
fee: feeStr
@@ -1077,7 +1094,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
this.confirmDialog(msg, function(confirmed) {
if (confirmed)
- self._doSendAll(amount);
+ self._doSendAll(amount, feeRate);
});
};