policy: add some safety measures
This commit is contained in:
parent
545eb77cdb
commit
a7ab25a078
@ -11,6 +11,7 @@
|
||||
* @module protocol/policy
|
||||
*/
|
||||
|
||||
var assert = require('assert');
|
||||
var consensus = require('./consensus');
|
||||
|
||||
/**
|
||||
@ -221,6 +222,12 @@ exports.getMinFee = function getMinFee(size, rate) {
|
||||
if (rate == null)
|
||||
rate = exports.MIN_RELAY;
|
||||
|
||||
assert(size >= 0);
|
||||
assert(rate >= 0);
|
||||
|
||||
if (size === 0)
|
||||
return 0;
|
||||
|
||||
fee = Math.floor(rate * size / 1000);
|
||||
|
||||
if (fee === 0 && rate > 0)
|
||||
@ -244,6 +251,12 @@ exports.getRoundFee = function getRoundFee(size, rate) {
|
||||
if (rate == null)
|
||||
rate = exports.MIN_RELAY;
|
||||
|
||||
assert(size >= 0);
|
||||
assert(rate >= 0);
|
||||
|
||||
if (size === 0)
|
||||
return 0;
|
||||
|
||||
fee = rate * Math.ceil(size / 1000);
|
||||
|
||||
if (fee === 0 && rate > 0)
|
||||
@ -260,5 +273,11 @@ exports.getRoundFee = function getRoundFee(size, rate) {
|
||||
*/
|
||||
|
||||
exports.getRate = function getRate(size, fee) {
|
||||
assert(size >= 0);
|
||||
assert(fee >= 0);
|
||||
|
||||
if (size === 0)
|
||||
return 0;
|
||||
|
||||
return Math.floor(fee * 1000 / size);
|
||||
};
|
||||
|
||||
Loading…
Reference in New Issue
Block a user