more accurate fee calculation.
This commit is contained in:
parent
9468b00d1c
commit
dcacd5e11b
@ -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;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user