mirror of
https://github.com/bitcoin/bitcoin.git
synced 2024-11-19 09:53:47 +01:00
Merge bitcoin/bitcoin#26517: test: Changed small_txpuzzle_randfee to return the virtual size instead of the transaction hex for feerate calculation.
6fb102c9f3
test: Changed small_txpuzzle_randfee to return the virtual size instead of the transaction hex for feerate calculation. (Randall Naar) Pull request description: The fee rates used in feature_fee_estimation.py are calculated using the raw transaction size instead of the virtual transaction size (which is used in 'CBlockPolicyEstimator::processBlockTx' and 'CBlockPolicyEstimator::processBlock'). This leads to inconsistencies as the fee rates used in check_raw_estimates are incorrect and can cause assertions to fail. refs #25179 ACKs for top commit: MarcoFalke: ACK6fb102c9f3
Tree-SHA512: b2bca85fffa605aeb17574f050736d4556506d782dd7fd969e165e48e108fd95ef4c4e2abbae83cce05ca777a00f4459cabfa0932694fa8bb93ddfba09d84357
This commit is contained in:
commit
9052d869c9
@ -62,7 +62,7 @@ def small_txpuzzle_randfee(
|
||||
unconflist.append({"txid": txid, "vout": 0, "value": total_in - amount - fee})
|
||||
unconflist.append({"txid": txid, "vout": 1, "value": amount})
|
||||
|
||||
return (tx.serialize().hex(), fee)
|
||||
return (tx.get_vsize(), fee)
|
||||
|
||||
|
||||
def check_raw_estimates(node, fees_seen):
|
||||
@ -158,7 +158,7 @@ class EstimateFeeTest(BitcoinTestFramework):
|
||||
random.shuffle(self.confutxo)
|
||||
for _ in range(random.randrange(100 - 50, 100 + 50)):
|
||||
from_index = random.randint(1, 2)
|
||||
(txhex, fee) = small_txpuzzle_randfee(
|
||||
(tx_bytes, fee) = small_txpuzzle_randfee(
|
||||
self.wallet,
|
||||
self.nodes[from_index],
|
||||
self.confutxo,
|
||||
@ -167,7 +167,7 @@ class EstimateFeeTest(BitcoinTestFramework):
|
||||
min_fee,
|
||||
min_fee,
|
||||
)
|
||||
tx_kbytes = (len(txhex) // 2) / 1000.0
|
||||
tx_kbytes = tx_bytes / 1000.0
|
||||
self.fees_per_kb.append(float(fee) / tx_kbytes)
|
||||
self.sync_mempools(wait=0.1)
|
||||
mined = mining_node.getblock(self.generate(mining_node, 1)[0], True)["tx"]
|
||||
|
Loading…
Reference in New Issue
Block a user