policy: Allow any transaction version with < minrelay
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.
This commit is contained in:
1 parent
5336bcd578
commit
1488315d76
6 files changed
+26
-53
No files matched your search
@@ -207,18 +207,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