add support for fee customization
Signed-off-by: Matias Alejo Garcia <ematiu@gmail.com>
This commit is contained in:
parent
7e23bd3406
commit
67ba30a20e
8 changed files with 74 additions and 2 deletions
|
|
@ -17,7 +17,7 @@
|
||||||
"ng-lodash": "~0.2.0",
|
"ng-lodash": "~0.2.0",
|
||||||
"angular-moment": "~0.10.1",
|
"angular-moment": "~0.10.1",
|
||||||
"moment": "~2.10.3",
|
"moment": "~2.10.3",
|
||||||
"angular-bitcore-wallet-client": "^0.0.24",
|
"angular-bitcore-wallet-client": "^0.0.25",
|
||||||
"angular-ui-router": "~0.2.13",
|
"angular-ui-router": "~0.2.13",
|
||||||
"qrcode-decoder-js": "*",
|
"qrcode-decoder-js": "*",
|
||||||
"fastclick": "*",
|
"fastclick": "*",
|
||||||
|
|
|
||||||
|
|
@ -77,6 +77,14 @@
|
||||||
{{preferences.selectedAlternative.name}}
|
{{preferences.selectedAlternative.name}}
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</li>
|
||||||
|
<li class="line-b p20" ng-click="$root.go('preferencesFee')">
|
||||||
|
<span translate>Bitcoin Network Fee Policy</span>
|
||||||
|
<span class="right text-gray">
|
||||||
|
<i class="icon-arrow-right3 size-24 right"></i>
|
||||||
|
{{preferences.feeName}}
|
||||||
|
</span>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
<li class="line-b p20" ng-click="$root.go('preferencesBwsUrl')">
|
<li class="line-b p20" ng-click="$root.go('preferencesBwsUrl')">
|
||||||
<span>Bitcore Wallet Service</span>
|
<span>Bitcore Wallet Service</span>
|
||||||
|
|
|
||||||
14
public/views/preferencesFee.html
Normal file
14
public/views/preferencesFee.html
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
<div
|
||||||
|
class="topbar-container"
|
||||||
|
ng-include="'views/includes/topbar.html'"
|
||||||
|
ng-init="titleSection='Fee Policy'; goBackToState = 'preferences'; noColor = true">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="content preferences" ng-controller="preferencesFeeController as prefFee">
|
||||||
|
<div ng-repeat="fee in prefFee.feeOpts" ng-click="prefFee.save(fee)" class="line-b p20 size-14">
|
||||||
|
<span>{{fee.name}} ({{fee.value}} bits per kB)</span>
|
||||||
|
<i class="fi-check size-16 right" ng-show="prefFee.feeName == fee.name"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="extra-margin-bottom"></div>
|
||||||
|
|
@ -443,7 +443,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r
|
||||||
self.availableBalanceBTC = strip(self.availableBalanceBTC / COIN);
|
self.availableBalanceBTC = strip(self.availableBalanceBTC / COIN);
|
||||||
|
|
||||||
// KB to send max
|
// KB to send max
|
||||||
self.feePerKbSat = config.feePerKbSat || 10000;
|
self.feePerKbSat = config.feeValue || 10000;
|
||||||
if (balance.totalKbToSendMax) {
|
if (balance.totalKbToSendMax) {
|
||||||
var feeToSendMaxSat = balance.totalKbToSendMax * self.feePerKbSat;
|
var feeToSendMaxSat = balance.totalKbToSendMax * self.feePerKbSat;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ angular.module('copayApp.controllers').controller('preferencesController',
|
||||||
function($scope, $rootScope, $filter, $timeout, $modal, $log, lodash, configService, profileService) {
|
function($scope, $rootScope, $filter, $timeout, $modal, $log, lodash, configService, profileService) {
|
||||||
var config = configService.getSync();
|
var config = configService.getSync();
|
||||||
this.unitName = config.wallet.settings.unitName;
|
this.unitName = config.wallet.settings.unitName;
|
||||||
|
this.feeName = config.wallet.settings.feeName || 'Priority';
|
||||||
this.bwsurl = config.bws.url;
|
this.bwsurl = config.bws.url;
|
||||||
this.selectedAlternative = {
|
this.selectedAlternative = {
|
||||||
name: config.wallet.settings.alternativeName,
|
name: config.wallet.settings.alternativeName,
|
||||||
|
|
|
||||||
35
src/js/controllers/preferencesFee.js
Normal file
35
src/js/controllers/preferencesFee.js
Normal file
|
|
@ -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');
|
||||||
|
});
|
||||||
|
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
@ -608,6 +608,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
|
||||||
amount: amount,
|
amount: amount,
|
||||||
message: comment,
|
message: comment,
|
||||||
payProUrl: paypro ? paypro.url : null,
|
payProUrl: paypro ? paypro.url : null,
|
||||||
|
feePerKb: config.feeValue || 10000,
|
||||||
}, function(err, txp) {
|
}, function(err, txp) {
|
||||||
if (err) {
|
if (err) {
|
||||||
self.setOngoingProcess();
|
self.setOngoingProcess();
|
||||||
|
|
|
||||||
|
|
@ -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', {
|
.state('preferencesAdvanced', {
|
||||||
url: '/preferencesAdvanced',
|
url: '/preferencesAdvanced',
|
||||||
templateUrl: 'views/preferencesAdvanced.html',
|
templateUrl: 'views/preferencesAdvanced.html',
|
||||||
|
|
@ -451,6 +463,7 @@ angular
|
||||||
delete: 13,
|
delete: 13,
|
||||||
preferencesLanguage: 12,
|
preferencesLanguage: 12,
|
||||||
preferencesUnit: 12,
|
preferencesUnit: 12,
|
||||||
|
preferencesFee: 12,
|
||||||
preferencesAltCurrency: 12,
|
preferencesAltCurrency: 12,
|
||||||
preferencesBwsUrl: 12,
|
preferencesBwsUrl: 12,
|
||||||
preferencesAlias: 12,
|
preferencesAlias: 12,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue