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) {
|
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;
|
var witness, hadWitness, redeem, wallet;
|
||||||
|
|
||||||
if (!force && this.isScripted())
|
if (!force && this.isScripted())
|
||||||
@ -924,8 +925,9 @@ MTX.prototype.maxSize = function maxSize(options, force) {
|
|||||||
|
|
||||||
if (redeem) {
|
if (redeem) {
|
||||||
prev = redeem;
|
prev = redeem;
|
||||||
size += utils.sizePush(prev.getSize());
|
sz = prev.getSize();
|
||||||
size += prev.getSize();
|
size += utils.sizePush(sz);
|
||||||
|
size += sz;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -950,8 +952,9 @@ MTX.prototype.maxSize = function maxSize(options, force) {
|
|||||||
|
|
||||||
if (redeem) {
|
if (redeem) {
|
||||||
prev = redeem;
|
prev = redeem;
|
||||||
size += utils.sizePush(prev.getSize());
|
sz = prev.getSize();
|
||||||
size += prev.getSize();
|
size += utils.sizeVarint(sz);
|
||||||
|
size += sz;
|
||||||
}
|
}
|
||||||
} else if (prev.isWitnessPubkeyhash()) {
|
} else if (prev.isWitnessPubkeyhash()) {
|
||||||
prev = Script.createPubkeyhash(prev.code[1]);
|
prev = Script.createPubkeyhash(prev.code[1]);
|
||||||
@ -1019,7 +1022,7 @@ MTX.prototype.maxSize = function maxSize(options, force) {
|
|||||||
if (witness) {
|
if (witness) {
|
||||||
// Add one byte back for the 0-byte input script.
|
// Add one byte back for the 0-byte input script.
|
||||||
size += 1 * 4;
|
size += 1 * 4;
|
||||||
size = (size + 3) / 4 | 0;
|
size = (size + scale - 1) / scale | 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
total += size;
|
total += size;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user