more accurate fee calculation.

This commit is contained in:
Christopher Jeffrey 2016-04-28 23:21:18 -07:00
parent 9468b00d1c
commit dcacd5e11b
No known key found for this signature in database
GPG Key ID: 8962AB9DE6666BBD

View File

@ -870,7 +870,8 @@ MTX.prototype.isScripted = function isScripted() {
*/
MTX.prototype.maxSize = function maxSize(options, force) {
var i, j, input, total, size, prev, m, n;
var scale = constants.WITNESS_SCALE_FACTOR;
var i, j, input, total, size, prev, m, n, sz;
var witness, hadWitness, redeem, wallet;
if (!force && this.isScripted())
@ -924,8 +925,9 @@ MTX.prototype.maxSize = function maxSize(options, force) {
if (redeem) {
prev = redeem;
size += utils.sizePush(prev.getSize());
size += prev.getSize();
sz = prev.getSize();
size += utils.sizePush(sz);
size += sz;
}
}
@ -950,8 +952,9 @@ MTX.prototype.maxSize = function maxSize(options, force) {
if (redeem) {
prev = redeem;
size += utils.sizePush(prev.getSize());
size += prev.getSize();
sz = prev.getSize();
size += utils.sizeVarint(sz);
size += sz;
}
} else if (prev.isWitnessPubkeyhash()) {
prev = Script.createPubkeyhash(prev.code[1]);
@ -1019,7 +1022,7 @@ MTX.prototype.maxSize = function maxSize(options, force) {
if (witness) {
// Add one byte back for the 0-byte input script.
size += 1 * 4;
size = (size + 3) / 4 | 0;
size = (size + scale - 1) / scale | 0;
}
total += size;