Browse Source

Merge JoinMarket-Org/joinmarket-clientserver#1596: Fix one off bug in tx vsize calculation in some cases

4486b10798 Transaction virtual size must be rounded upwards (Kristaps Kaupe)

Pull request description:

  Transaction virtual size must be rounded upwards.

Top commit has no ACKs.

Tree-SHA512: 9541ec8754d48aacdc10dc0cfb4323b60c4514f8f61a2d827ee7354d58cf46db530b4b68850f450a58e2053a9f69504fd80ca9f4d3614b7df24bc8d38f09a7fe
master
Kristaps Kaupe 2 years ago
parent
commit
536ddad7c0
No known key found for this signature in database
GPG Key ID: 33E472FE870C7E5D
  1. 3
      src/jmbitcoin/secp256k1_transaction.py

3
src/jmbitcoin/secp256k1_transaction.py

@ -5,6 +5,7 @@ from typing import List, Union, Tuple
# needed for single sha256 evaluation, which is used
# in bitcoin (p2wsh) but not exposed in python-bitcointx:
import hashlib
from math import ceil
from jmbitcoin.secp256k1_main import *
from jmbase import bintohex, utxo_to_utxostr
@ -181,7 +182,7 @@ def tx_vsize(tx):
raw_tx_size = len(tx.serialize())
witness_size = len(tx.wit.serialize())
non_witness_size = raw_tx_size - witness_size
return int(non_witness_size + .25 * witness_size)
return ceil(non_witness_size + .25 * witness_size)
def pubkey_to_p2pkh_script(pub, require_compressed=False):
"""

Loading…
Cancel
Save