mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-20 07:09:15 +01:00
Merge bitcoin/bitcoin#33566: miner: fix empty mempool case for waitNext()
8f7673257aminer: fix empty mempool case for waitNext() (Sjors Provoost) Pull request description: Block template fees are calculated by looping over `new_tmpl->vTxFees` and return (early) once the `fee_threshold` is exceeded. This left an edge case when the mempool is empty, which this commit fixes and adds a test for. Also update `test/functional/interface_ipc.py` to reflect the new behavior, Fixes https://github.com/Sjors/sv2-tp/issues/9 ACKs for top commit: optout21: ACK8f7673257acedwies: tACK8f76732sipa: utACK8f7673257azaidmstrr: Concept ACK [8f76732](8f7673257a) Tree-SHA512: ef200fe95e96f810e425283bc37f945c4bf5efa16f4b74820b8a07968f30c5146bca213a372124be84b48beead5dfd35f2b5d10d188d0a465f847ebab61de10a
This commit is contained in:
@@ -153,6 +153,7 @@ class IPCInterfaceTest(BitcoinTestFramework):
|
||||
self.log.debug("Wait for a new template")
|
||||
waitoptions = self.capnp_modules['mining'].BlockWaitOptions()
|
||||
waitoptions.timeout = timeout
|
||||
waitoptions.feeThreshold = 1
|
||||
waitnext = template.result.waitNext(ctx, waitoptions)
|
||||
self.generate(self.nodes[0], 1)
|
||||
template2 = await waitnext
|
||||
@@ -168,6 +169,7 @@ class IPCInterfaceTest(BitcoinTestFramework):
|
||||
block3 = await self.parse_and_deserialize_block(template4, ctx)
|
||||
assert_equal(len(block3.vtx), 2)
|
||||
self.log.debug("Wait again, this should return the same template, since the fee threshold is zero")
|
||||
waitoptions.feeThreshold = 0
|
||||
template5 = await template4.result.waitNext(ctx, waitoptions)
|
||||
block4 = await self.parse_and_deserialize_block(template5, ctx)
|
||||
assert_equal(len(block4.vtx), 2)
|
||||
|
||||
Reference in New Issue
Block a user