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",
|
||||
"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": "*",
|
||||
|
|
|
|||
|
|
@ -77,6 +77,14 @@
|
|||
{{preferences.selectedAlternative.name}}
|
||||
</span>
|
||||
</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')">
|
||||
<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);
|
||||
|
||||
// KB to send max
|
||||
self.feePerKbSat = config.feePerKbSat || 10000;
|
||||
self.feePerKbSat = config.feeValue || 10000;
|
||||
if (balance.totalKbToSendMax) {
|
||||
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) {
|
||||
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,
|
||||
|
|
|
|||
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,
|
||||
message: comment,
|
||||
payProUrl: paypro ? paypro.url : null,
|
||||
feePerKb: config.feeValue || 10000,
|
||||
}, function(err, txp) {
|
||||
if (err) {
|
||||
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', {
|
||||
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,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue