Merge bitcoin/bitcoin#33892: policy: allow <minrelay txns in package context if paid for by cpfp
e44dec027cadd release note about supporing non-TRUC <minrelay txns (Greg Sanders)1488315d76policy: Allow any transaction version with < minrelay (Greg Sanders) Pull request description: Prior to cluster mempool, a policy was in place that disallowed non-TRUC transactions from being TX_RECONSIDERABLE in a package setting if it was below minrelay. This was meant to simplify reasoning about mempool trimming requirements with non-trivial transaction topologies in the mempool. This is no longer a concern post-cluster mempool, so this is relaxed. In effect, this makes 0-value parent transactions relayable through the network without the TRUC restrictions and thus the anti-pinning protections. ACKs for top commit: ajtowns: ACKe44dec027c- lgtm ismaelsadeeq: ACKe44dec027cTree-SHA512: 6fd1a2429c55ca844d9bd669ea797e29eca3f544f0b5d3484743d3c1cdf4364f7c7a058aaf707bcfd94b84c621bea03228cb39487cbc23912b9e0980a1e5b451
This commit is contained in:
7 files changed
+34
-53
No files matched your search
@@ -216,18 +216,16 @@ class EphemeralDustTest(BitcoinTestFramework):
|
||||
self.connect_nodes(0, 1)
|
||||
assert_mempool_contents(self, self.nodes[0], expected=[])
|
||||
|
||||
# N.B. If individual minrelay requirement is dropped, this test can be dropped
|
||||
def test_non_truc(self):
|
||||
self.log.info("Test that v2 dust-having transaction is rejected even if spent, because of min relay requirement")
|
||||
self.log.info("Test that v2 dust-having transaction is also accepted if spent")
|
||||
|
||||
assert_equal(self.nodes[0].getrawmempool(), [])
|
||||
dusty_tx, sweep_tx = self.create_ephemeral_dust_package(tx_version=2)
|
||||
|
||||
res = self.nodes[0].submitpackage([dusty_tx["hex"], sweep_tx["hex"]])
|
||||
assert_equal(res["package_msg"], "transaction failed")
|
||||
assert_equal(res["tx-results"][dusty_tx["wtxid"]]["error"], "min relay fee not met, 0 < 15")
|
||||
|
||||
assert_equal(self.nodes[0].getrawmempool(), [])
|
||||
assert_equal(res["package_msg"], "success")
|
||||
assert_mempool_contents(self, self.nodes[0], expected=[dusty_tx["tx"], sweep_tx["tx"]])
|
||||
self.generate(self.nodes[0], 1)
|
||||
|
||||
def test_unspent_ephemeral(self):
|
||||
self.log.info("Test that spending from a tx with ephemeral outputs is only allowed if dust is spent as well")
|
||||
|
||||
Reference in new issue
Block a user