Skip to content
Bitcoin Roots

v29.4-roots.3 · Commit 6: [PATCH 06/30] test: align initial Roots policy coverage

test/functional/mempool_dust.py

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

File metadata
index 937e77fbd41ba47416b991c57de1056f5f0b61f0..43b84f4c7c1980ba34e00071d3abd963191a66fb 100755

Download original patch · Release notes

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

+ Added− RemovedUnmarked lines are context.

Scroll the code area horizontally to read long lines. The two line-number columns refer to before and after.

test/functional/mempool_dust.py CHANGED
@@ -15,7 +15,6 @@ from test_framework.script import (
15
15
  OP_TRUE,
16
16
  )
17
17
  from test_framework.script_util import (
18
- key_to_p2pk_script,
19
18
  key_to_p2pkh_script,
20
19
  key_to_p2wpkh_script,
21
20
  keys_to_multisig_script,
@@ -40,7 +39,7 @@ DUST_RELAY_TX_FEE = 3000 # default setting [sat/kvB]
40
39
  class DustRelayFeeTest(BitcoinTestFramework):
41
40
  def set_test_params(self):
42
41
  self.num_nodes = 1
43
- self.extra_args = [['-permitbaremultisig']]
42
+ self.extra_args = [['-permitbaremultisig=1']]
44
43
 
45
44
  def test_dust_output(self, node: TestNode, dust_relay_fee: Decimal,
46
45
  output_script: CScript, type_desc: str) -> None:
@@ -66,7 +65,7 @@ class DustRelayFeeTest(BitcoinTestFramework):
66
65
  tx.vout[1].nValue -= 1
67
66
  res = node.testmempoolaccept([tx.serialize().hex()])[0]
68
67
  assert_equal(res['allowed'], False)
69
- assert_equal(res['reject-reason'], 'dust')
68
+ assert_equal(res['reject-reason'], 'dust-nonanchor')
70
69
 
71
70
  # finally send the transaction to avoid running out of MiniWallet UTXOs
72
71
  self.wallet.sendrawtransaction(from_node=node, tx_hex=tx_good_hex)
@@ -95,7 +94,7 @@ class DustRelayFeeTest(BitcoinTestFramework):
95
94
  assert_equal(len(mempool_entries), 2)
96
95
 
97
96
  # Wipe extra arg to reset dust relay
98
- self.restart_node(0, extra_args=[])
97
+ self.restart_node(0, extra_args=["-permitbaremultisig=1"])
99
98
 
100
99
  assert_equal(self.nodes[0].getrawmempool(), [])
101
100
 
@@ -109,8 +108,7 @@ class DustRelayFeeTest(BitcoinTestFramework):
109
108
  _, pubkey = generate_keypair(compressed=True)
110
109
 
111
110
  output_scripts = (
112
- (key_to_p2pk_script(uncompressed_pubkey), "P2PK (uncompressed)"),
113
- (key_to_p2pk_script(pubkey), "P2PK (compressed)"),
111
+ # Roots rejects bare P2PK before dust policy is evaluated.
114
112
  (key_to_p2pkh_script(pubkey), "P2PKH"),
115
113
  (script_to_p2sh_script(CScript([OP_TRUE])), "P2SH"),
116
114
  (key_to_p2wpkh_script(pubkey), "P2WPKH"),
@@ -132,7 +130,7 @@ class DustRelayFeeTest(BitcoinTestFramework):
132
130
  else:
133
131
  dust_parameter = f"-dustrelayfee={dustfee_btc_kvb:.8f}"
134
132
  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"])
133
+ self.restart_node(0, extra_args=[dust_parameter, "-permitbaremultisig=1"])
136
134
 
137
135
  for output_script, description in output_scripts:
138
136
  self.test_dust_output(self.nodes[0], dustfee_btc_kvb, output_script, description)