diff --git a/lib/common/defaults.js b/lib/common/defaults.js index 253de27..feb0beb 100644 --- a/lib/common/defaults.js +++ b/lib/common/defaults.js @@ -25,21 +25,26 @@ Defaults.MAX_MAIN_ADDRESS_GAP = 20; Defaults.SCAN_ADDRESS_GAP = Defaults.MAX_MAIN_ADDRESS_GAP + 20; Defaults.FEE_LEVELS = [{ + name: 'urgent', + nbBlocks: 2, + multiplier: 1.5, + defaultValue: 150000, +}, { name: 'priority', nbBlocks: 2, - defaultValue: 50000 + defaultValue: 100000 }, { name: 'normal', nbBlocks: 3, - defaultValue: 40000 + defaultValue: 80000 }, { name: 'economy', nbBlocks: 6, - defaultValue: 25000 + defaultValue: 50000 }, { name: 'superEconomy', nbBlocks: 24, - defaultValue: 10000 + defaultValue: 20000 }]; Defaults.DEFAULT_FEE_PER_KB = Defaults.FEE_LEVELS[1].defaultValue; diff --git a/lib/server.js b/lib/server.js index 79c7a02..5590cb6 100644 --- a/lib/server.js +++ b/lib/server.js @@ -1433,7 +1433,7 @@ WalletService.prototype.getFeeLevels = function(opts, cb) { result.nbBlocks = null; } else { var feeLevel = getFeeLevel(feeSamples, level, level.nbBlocks, Defaults.FEE_LEVELS_FALLBACK); - result.feePerKb = feeLevel.feePerKb; + result.feePerKb = +(feeLevel.feePerKb * (level.multiplier || 1)).toFixed(0); result.nbBlocks = feeLevel.nbBlocks; } return result; diff --git a/test/integration/server.js b/test/integration/server.js index 7280929..a2ca8ce 100644 --- a/test/integration/server.js +++ b/test/integration/server.js @@ -2146,6 +2146,11 @@ describe('Wallet service', function() { before(function() { levels = Defaults.FEE_LEVELS; Defaults.FEE_LEVELS = [{ + name: 'urgent', + nbBlocks: 1, + multiplier: 1.5, + defaultValue: 50000, + }, { name: 'priority', nbBlocks: 1, defaultValue: 50000 @@ -2186,6 +2191,9 @@ describe('Wallet service', function() { fees = _.zipObject(_.map(fees, function(item) { return [item.level, item]; })); + fees.urgent.feePerKb.should.equal(60000); + fees.urgent.nbBlocks.should.equal(1); + fees.priority.feePerKb.should.equal(40000); fees.priority.nbBlocks.should.equal(1);