|
|
|
@ -10,6 +10,7 @@ from test_framework.util import *
|
|
|
|
|
from test_framework.script import *
|
|
|
|
|
from test_framework.blocktools import create_block, create_coinbase, add_witness_commitment, get_witness_script, WITNESS_COMMITMENT_HEADER
|
|
|
|
|
from test_framework.key import CECKey, CPubKey
|
|
|
|
|
import math
|
|
|
|
|
import time
|
|
|
|
|
import random
|
|
|
|
|
from binascii import hexlify
|
|
|
|
@ -930,8 +931,10 @@ class SegWitTest(BitcoinTestFramework):
|
|
|
|
|
raw_tx = self.nodes[0].getrawtransaction(tx3.hash, 1)
|
|
|
|
|
assert_equal(int(raw_tx["hash"], 16), tx3.calc_sha256(True))
|
|
|
|
|
assert_equal(raw_tx["size"], len(tx3.serialize_with_witness()))
|
|
|
|
|
vsize = (len(tx3.serialize_with_witness()) + 3*len(tx3.serialize_without_witness()) + 3) / 4
|
|
|
|
|
weight = len(tx3.serialize_with_witness()) + 3*len(tx3.serialize_without_witness())
|
|
|
|
|
vsize = math.ceil(weight / 4)
|
|
|
|
|
assert_equal(raw_tx["vsize"], vsize)
|
|
|
|
|
assert_equal(raw_tx["weight"], weight)
|
|
|
|
|
assert_equal(len(raw_tx["vin"][0]["txinwitness"]), 1)
|
|
|
|
|
assert_equal(raw_tx["vin"][0]["txinwitness"][0], hexlify(witness_program).decode('ascii'))
|
|
|
|
|
assert(vsize != raw_tx["size"])
|
|
|
|
|