6
6
7
7
from test_framework .messages import (
8
8
MAX_BIP125_RBF_SEQUENCE ,
9
- WITNESS_SCALE_FACTOR ,
10
9
)
11
10
from test_framework .test_framework import BitcoinTestFramework
12
11
from test_framework .util import (
@@ -55,14 +54,14 @@ def check_mempool(self, txids):
55
54
def test_truc_max_vsize (self ):
56
55
node = self .nodes [0 ]
57
56
self .log .info ("Test TRUC-specific maximum transaction vsize" )
58
- tx_v3_heavy = self .wallet .create_self_transfer (target_weight = ( TRUC_MAX_VSIZE + 1 ) * WITNESS_SCALE_FACTOR , version = 3 )
57
+ tx_v3_heavy = self .wallet .create_self_transfer (target_vsize = TRUC_MAX_VSIZE + 1 , version = 3 )
59
58
assert_greater_than_or_equal (tx_v3_heavy ["tx" ].get_vsize (), TRUC_MAX_VSIZE )
60
59
expected_error_heavy = f"TRUC-violation, version=3 tx { tx_v3_heavy ['txid' ]} (wtxid={ tx_v3_heavy ['wtxid' ]} ) is too big"
61
60
assert_raises_rpc_error (- 26 , expected_error_heavy , node .sendrawtransaction , tx_v3_heavy ["hex" ])
62
61
self .check_mempool ([])
63
62
64
63
# Ensure we are hitting the TRUC-specific limit and not something else
65
- tx_v2_heavy = self .wallet .send_self_transfer (from_node = node , target_weight = ( TRUC_MAX_VSIZE + 1 ) * WITNESS_SCALE_FACTOR , version = 2 )
64
+ tx_v2_heavy = self .wallet .send_self_transfer (from_node = node , target_vsize = TRUC_MAX_VSIZE + 1 , version = 2 )
66
65
self .check_mempool ([tx_v2_heavy ["txid" ]])
67
66
68
67
@cleanup (extra_args = ["-datacarriersize=1000" ])
@@ -73,7 +72,7 @@ def test_truc_acceptance(self):
73
72
self .check_mempool ([tx_v3_parent_normal ["txid" ]])
74
73
tx_v3_child_heavy = self .wallet .create_self_transfer (
75
74
utxo_to_spend = tx_v3_parent_normal ["new_utxo" ],
76
- target_weight = 4004 ,
75
+ target_vsize = 1001 ,
77
76
version = 3
78
77
)
79
78
assert_greater_than_or_equal (tx_v3_child_heavy ["tx" ].get_vsize (), 1000 )
@@ -88,7 +87,7 @@ def test_truc_acceptance(self):
88
87
from_node = node ,
89
88
fee_rate = DEFAULT_FEE ,
90
89
utxo_to_spend = tx_v3_parent_normal ["new_utxo" ],
91
- target_weight = 3987 ,
90
+ target_vsize = 997 ,
92
91
version = 3
93
92
)
94
93
assert_greater_than_or_equal (1000 , tx_v3_child_almost_heavy ["tx" ].get_vsize ())
@@ -98,7 +97,7 @@ def test_truc_acceptance(self):
98
97
from_node = node ,
99
98
fee_rate = DEFAULT_FEE * 2 ,
100
99
utxo_to_spend = tx_v3_parent_normal ["new_utxo" ],
101
- target_weight = 3500 ,
100
+ target_vsize = 875 ,
102
101
version = 3
103
102
)
104
103
assert_greater_than_or_equal (tx_v3_child_almost_heavy ["tx" ].get_vsize () + tx_v3_child_almost_heavy_rbf ["tx" ].get_vsize (), 1000 )
@@ -199,7 +198,7 @@ def test_truc_reorg(self):
199
198
self .check_mempool ([])
200
199
tx_v2_from_v3 = self .wallet .send_self_transfer (from_node = node , utxo_to_spend = tx_v3_block ["new_utxo" ], version = 2 )
201
200
tx_v3_from_v2 = self .wallet .send_self_transfer (from_node = node , utxo_to_spend = tx_v2_block ["new_utxo" ], version = 3 )
202
- tx_v3_child_large = self .wallet .send_self_transfer (from_node = node , utxo_to_spend = tx_v3_block2 ["new_utxo" ], target_weight = 5000 , version = 3 )
201
+ tx_v3_child_large = self .wallet .send_self_transfer (from_node = node , utxo_to_spend = tx_v3_block2 ["new_utxo" ], target_vsize = 1250 , version = 3 )
203
202
assert_greater_than (node .getmempoolentry (tx_v3_child_large ["txid" ])["vsize" ], 1000 )
204
203
self .check_mempool ([tx_v2_from_v3 ["txid" ], tx_v3_from_v2 ["txid" ], tx_v3_child_large ["txid" ]])
205
204
node .invalidateblock (block [0 ])
@@ -217,16 +216,16 @@ def test_nondefault_package_limits(self):
217
216
"""
218
217
node = self .nodes [0 ]
219
218
self .log .info ("Test that a decreased limitdescendantsize also applies to TRUC child" )
220
- parent_target_weight = 9990 * WITNESS_SCALE_FACTOR
221
- child_target_weight = 500 * WITNESS_SCALE_FACTOR
219
+ parent_target_vsize = 9990
220
+ child_target_vsize = 500
222
221
tx_v3_parent_large1 = self .wallet .send_self_transfer (
223
222
from_node = node ,
224
- target_weight = parent_target_weight ,
223
+ target_vsize = parent_target_vsize ,
225
224
version = 3
226
225
)
227
226
tx_v3_child_large1 = self .wallet .create_self_transfer (
228
227
utxo_to_spend = tx_v3_parent_large1 ["new_utxo" ],
229
- target_weight = child_target_weight ,
228
+ target_vsize = child_target_vsize ,
230
229
version = 3
231
230
)
232
231
@@ -244,12 +243,12 @@ def test_nondefault_package_limits(self):
244
243
self .restart_node (0 , extra_args = ["-limitancestorsize=10" , "-datacarriersize=40000" ])
245
244
tx_v3_parent_large2 = self .wallet .send_self_transfer (
246
245
from_node = node ,
247
- target_weight = parent_target_weight ,
246
+ target_vsize = parent_target_vsize ,
248
247
version = 3
249
248
)
250
249
tx_v3_child_large2 = self .wallet .create_self_transfer (
251
250
utxo_to_spend = tx_v3_parent_large2 ["new_utxo" ],
252
- target_weight = child_target_weight ,
251
+ target_vsize = child_target_vsize ,
253
252
version = 3
254
253
)
255
254
@@ -267,12 +266,12 @@ def test_truc_ancestors_package(self):
267
266
node = self .nodes [0 ]
268
267
tx_v3_parent_normal = self .wallet .create_self_transfer (
269
268
fee_rate = 0 ,
270
- target_weight = 4004 ,
269
+ target_vsize = 1001 ,
271
270
version = 3
272
271
)
273
272
tx_v3_parent_2_normal = self .wallet .create_self_transfer (
274
273
fee_rate = 0 ,
275
- target_weight = 4004 ,
274
+ target_vsize = 1001 ,
276
275
version = 3
277
276
)
278
277
tx_v3_child_multiparent = self .wallet .create_self_transfer_multi (
@@ -282,7 +281,7 @@ def test_truc_ancestors_package(self):
282
281
)
283
282
tx_v3_child_heavy = self .wallet .create_self_transfer_multi (
284
283
utxos_to_spend = [tx_v3_parent_normal ["new_utxo" ]],
285
- target_weight = 4004 ,
284
+ target_vsize = 1001 ,
286
285
fee_per_output = 10000 ,
287
286
version = 3
288
287
)
@@ -294,7 +293,7 @@ def test_truc_ancestors_package(self):
294
293
295
294
self .check_mempool ([])
296
295
result = node .submitpackage ([tx_v3_parent_normal ["hex" ], tx_v3_child_heavy ["hex" ]])
297
- # tx_v3_child_heavy is heavy based on weight , not sigops.
296
+ # tx_v3_child_heavy is heavy based on vsize , not sigops.
298
297
assert_equal (result ['package_msg' ], f"TRUC-violation, version=3 child tx { tx_v3_child_heavy ['txid' ]} (wtxid={ tx_v3_child_heavy ['wtxid' ]} ) is too big: { tx_v3_child_heavy ['tx' ].get_vsize ()} > 1000 virtual bytes" )
299
298
self .check_mempool ([])
300
299
@@ -416,7 +415,7 @@ def test_truc_package_inheritance(self):
416
415
node = self .nodes [0 ]
417
416
tx_v3_parent = self .wallet .create_self_transfer (
418
417
fee_rate = 0 ,
419
- target_weight = 4004 ,
418
+ target_vsize = 1001 ,
420
419
version = 3
421
420
)
422
421
tx_v2_child = self .wallet .create_self_transfer_multi (
0 commit comments