Skip to content

Commit a07910a

Browse files
author
Antoine Riard
committed
test: Makes wtxidrelay support a generic P2PInterface option
Its usage is extended beyond p2p_segwit.py in next commit.
1 parent 9e8d2bd commit a07910a

File tree

3 files changed

+8
-13
lines changed

3 files changed

+8
-13
lines changed

test/functional/p2p_segwit.py

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
msg_tx,
3838
msg_block,
3939
msg_no_witness_tx,
40-
msg_verack,
4140
ser_uint256,
4241
ser_vector,
4342
sha256,
@@ -148,7 +147,7 @@ def test_witness_block(node, p2p, block, accepted, with_witness=True, reason=Non
148147

149148
class TestP2PConn(P2PInterface):
150149
def __init__(self, wtxidrelay=False):
151-
super().__init__()
150+
super().__init__(wtxidrelay=wtxidrelay)
152151
self.getdataset = set()
153152
self.last_wtxidrelay = []
154153
self.lastgetdata = []
@@ -159,13 +158,6 @@ def __init__(self, wtxidrelay=False):
159158
def on_inv(self, message):
160159
pass
161160

162-
def on_version(self, message):
163-
if self.wtxidrelay:
164-
super().on_version(message)
165-
else:
166-
self.send_message(msg_verack())
167-
self.nServices = message.nServices
168-
169161
def on_getdata(self, message):
170162
self.lastgetdata = message.inv
171163
for inv in message.inv:

test/functional/p2p_tx_download.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@
3030

3131

3232
class TestP2PConn(P2PInterface):
33-
def __init__(self):
34-
super().__init__()
33+
def __init__(self, wtxidrelay=True):
34+
super().__init__(wtxidrelay=wtxidrelay)
3535
self.tx_getdata_count = 0
3636

3737
def on_getdata(self, message):

test/functional/test_framework/p2p.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,7 @@ class P2PInterface(P2PConnection):
289289
290290
Individual testcases should subclass this and override the on_* methods
291291
if they want to alter message handling behaviour."""
292-
def __init__(self, support_addrv2=False):
292+
def __init__(self, support_addrv2=False, wtxidrelay=True):
293293
super().__init__()
294294

295295
# Track number of messages of each type received.
@@ -309,6 +309,9 @@ def __init__(self, support_addrv2=False):
309309

310310
self.support_addrv2 = support_addrv2
311311

312+
# If the peer supports wtxid-relay
313+
self.wtxidrelay = wtxidrelay
314+
312315
def peer_connect(self, *args, services=NODE_NETWORK|NODE_WITNESS, send_version=True, **kwargs):
313316
create_conn = super().peer_connect(*args, **kwargs)
314317

@@ -394,7 +397,7 @@ def on_verack(self, message):
394397

395398
def on_version(self, message):
396399
assert message.nVersion >= MIN_VERSION_SUPPORTED, "Version {} received. Test framework only supports versions greater than {}".format(message.nVersion, MIN_VERSION_SUPPORTED)
397-
if message.nVersion >= 70016:
400+
if message.nVersion >= 70016 and self.wtxidrelay:
398401
self.send_message(msg_wtxidrelay())
399402
self.send_message(msg_verack())
400403
if self.support_addrv2:

0 commit comments

Comments
 (0)