Skip to content

Commit faabd15

Browse files
author
MarcoFalke
committed
test: Check that peers with forcerelay permission do not get a feefilter message
1 parent fad676b commit faabd15

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

test/functional/p2p_feefilter.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
from test_framework.messages import MSG_TX, msg_feefilter
1111
from test_framework.mininode import mininode_lock, P2PInterface
1212
from test_framework.test_framework import BitcoinTestFramework
13+
from test_framework.util import assert_equal
1314

1415

1516
def hashToHex(hash):
@@ -26,6 +27,17 @@ def allInvsMatch(invsExpected, testnode):
2627
return False
2728

2829

30+
class FeefilterConn(P2PInterface):
31+
feefilter_received = False
32+
33+
def on_feefilter(self, message):
34+
self.feefilter_received = True
35+
36+
def assert_feefilter_received(self, recv: bool):
37+
with mininode_lock:
38+
assert_equal(self.feefilter_received, recv)
39+
40+
2941
class TestP2PConn(P2PInterface):
3042
def __init__(self):
3143
super().__init__()
@@ -55,6 +67,22 @@ def skip_test_if_missing_module(self):
5567
self.skip_if_no_wallet()
5668

5769
def run_test(self):
70+
self.test_feefilter_forcerelay()
71+
self.test_feefilter()
72+
73+
def test_feefilter_forcerelay(self):
74+
self.log.info('Check that peers without forcerelay permission (default) get a feefilter message')
75+
self.nodes[0].add_p2p_connection(FeefilterConn()).assert_feefilter_received(True)
76+
77+
self.log.info('Check that peers with forcerelay permission do not get a feefilter message')
78+
self.restart_node(0, extra_args=['[email protected]'])
79+
self.nodes[0].add_p2p_connection(FeefilterConn()).assert_feefilter_received(False)
80+
81+
# Restart to disconnect peers and load default extra_args
82+
self.restart_node(0)
83+
self.connect_nodes(1, 0)
84+
85+
def test_feefilter(self):
5886
node1 = self.nodes[1]
5987
node0 = self.nodes[0]
6088

0 commit comments

Comments
 (0)