Skip to content
Bitcoin Roots

v30.3-roots.1 · Commit 6: [PATCH 06/68] test(policy): preserve native dust and Roots penalty coverage

test/functional/mempool_dust.py

Before: test/functional/mempool_dust.py · After: test/functional/mempool_dust.py

File metadata
index 937e77fbd41ba47416b991c57de1056f5f0b61f0..342850eabba10736b6afb52ee45395e666a3bf57 100755

Download original patch · Release notes

Diff rows 1–46 of 46. Line numbers refer to the original before/after files.

+ Added− RemovedUnmarked lines are context.

Scroll the code area horizontally to read long lines. Before is on the left; after is on the right. Unified view fits narrow screens more easily.

test/functional/mempool_dust.py CHANGED
@@ -35,12 +35,13 @@ from test_framework.wallet_util import generate_keypair
35
 
36
 
37
  DUST_RELAY_TX_FEE = 3000 # default setting [sat/kvB]
 
38
 
39
 
40
  class DustRelayFeeTest(BitcoinTestFramework):
41
  def set_test_params(self):
42
  self.num_nodes = 1
43
- self.extra_args = [['-permitbaremultisig']]
44
 
45
  def test_dust_output(self, node: TestNode, dust_relay_fee: Decimal,
46
  output_script: CScript, type_desc: str) -> None:
@@ -66,7 +67,7 @@ class DustRelayFeeTest(BitcoinTestFramework):
66
  tx.vout[1].nValue -= 1
67
  res = node.testmempoolaccept([tx.serialize().hex()])[0]
68
  assert_equal(res['allowed'], False)
69
- assert_equal(res['reject-reason'], 'dust')
70
 
71
  # finally send the transaction to avoid running out of MiniWallet UTXOs
72
  self.wallet.sendrawtransaction(from_node=node, tx_hex=tx_good_hex)
@@ -74,7 +75,7 @@ class DustRelayFeeTest(BitcoinTestFramework):
74
  def test_dustrelay(self):
75
  self.log.info("Test that small outputs are acceptable when dust relay rate is set to 0 that would otherwise trigger ephemeral dust rules")
76
 
77
- self.restart_node(0, extra_args=["-dustrelayfee=0"])
78
 
79
  assert_equal(self.nodes[0].getrawmempool(), [])
80
 
@@ -95,7 +96,7 @@ class DustRelayFeeTest(BitcoinTestFramework):
95
  assert_equal(len(mempool_entries), 2)
96
 
97
  # Wipe extra arg to reset dust relay
98
- self.restart_node(0, extra_args=[])
99
 
100
  assert_equal(self.nodes[0].getrawmempool(), [])
101
 
@@ -132,7 +133,7 @@ class DustRelayFeeTest(BitcoinTestFramework):
132
  else:
133
  dust_parameter = f"-dustrelayfee={dustfee_btc_kvb:.8f}"
134
  self.log.info(f"Test dust limit setting {dust_parameter} ({dustfee_sat_kvb} sat/kvB)...")
135
- self.restart_node(0, extra_args=[dust_parameter, "-permitbaremultisig"])
136
 
137
  for output_script, description in output_scripts:
138
  self.test_dust_output(self.nodes[0], dustfee_btc_kvb, output_script, description)
 
35
 
36
 
37
  DUST_RELAY_TX_FEE = 3000 # default setting [sat/kvB]
38
+ DUST_POLICY_ARGS = ["-permitbaremultisig=1", "-permitbarepubkey=1"]
39
 
40
 
41
  class DustRelayFeeTest(BitcoinTestFramework):
42
  def set_test_params(self):
43
  self.num_nodes = 1
44
+ self.extra_args = [DUST_POLICY_ARGS]
45
 
46
  def test_dust_output(self, node: TestNode, dust_relay_fee: Decimal,
47
  output_script: CScript, type_desc: str) -> None:
 
67
  tx.vout[1].nValue -= 1
68
  res = node.testmempoolaccept([tx.serialize().hex()])[0]
69
  assert_equal(res['allowed'], False)
70
+ assert_equal(res['reject-reason'], 'dust-nonanchor')
71
 
72
  # finally send the transaction to avoid running out of MiniWallet UTXOs
73
  self.wallet.sendrawtransaction(from_node=node, tx_hex=tx_good_hex)
 
75
  def test_dustrelay(self):
76
  self.log.info("Test that small outputs are acceptable when dust relay rate is set to 0 that would otherwise trigger ephemeral dust rules")
77
 
78
+ self.restart_node(0, extra_args=[*DUST_POLICY_ARGS, "-dustrelayfee=0"])
79
 
80
  assert_equal(self.nodes[0].getrawmempool(), [])
81
 
 
96
  assert_equal(len(mempool_entries), 2)
97
 
98
  # Wipe extra arg to reset dust relay
99
+ self.restart_node(0, extra_args=DUST_POLICY_ARGS)
100
 
101
  assert_equal(self.nodes[0].getrawmempool(), [])
102
 
 
133
  else:
134
  dust_parameter = f"-dustrelayfee={dustfee_btc_kvb:.8f}"
135
  self.log.info(f"Test dust limit setting {dust_parameter} ({dustfee_sat_kvb} sat/kvB)...")
136
+ self.restart_node(0, extra_args=[*DUST_POLICY_ARGS, dust_parameter])
137
 
138
  for output_script, description in output_scripts:
139
  self.test_dust_output(self.nodes[0], dustfee_btc_kvb, output_script, description)