mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-25 02:33:24 -03:00
test: Makes wtxidrelay support a generic P2PInterface option
Its usage is extended beyond p2p_segwit.py in next commit.
This commit is contained in:
parent
9e8d2bd076
commit
a07910abcd
3 changed files with 8 additions and 13 deletions
|
@ -37,7 +37,6 @@ from test_framework.messages import (
|
|||
msg_tx,
|
||||
msg_block,
|
||||
msg_no_witness_tx,
|
||||
msg_verack,
|
||||
ser_uint256,
|
||||
ser_vector,
|
||||
sha256,
|
||||
|
@ -148,7 +147,7 @@ def test_witness_block(node, p2p, block, accepted, with_witness=True, reason=Non
|
|||
|
||||
class TestP2PConn(P2PInterface):
|
||||
def __init__(self, wtxidrelay=False):
|
||||
super().__init__()
|
||||
super().__init__(wtxidrelay=wtxidrelay)
|
||||
self.getdataset = set()
|
||||
self.last_wtxidrelay = []
|
||||
self.lastgetdata = []
|
||||
|
@ -159,13 +158,6 @@ class TestP2PConn(P2PInterface):
|
|||
def on_inv(self, message):
|
||||
pass
|
||||
|
||||
def on_version(self, message):
|
||||
if self.wtxidrelay:
|
||||
super().on_version(message)
|
||||
else:
|
||||
self.send_message(msg_verack())
|
||||
self.nServices = message.nServices
|
||||
|
||||
def on_getdata(self, message):
|
||||
self.lastgetdata = message.inv
|
||||
for inv in message.inv:
|
||||
|
|
|
@ -30,8 +30,8 @@ import time
|
|||
|
||||
|
||||
class TestP2PConn(P2PInterface):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
def __init__(self, wtxidrelay=True):
|
||||
super().__init__(wtxidrelay=wtxidrelay)
|
||||
self.tx_getdata_count = 0
|
||||
|
||||
def on_getdata(self, message):
|
||||
|
|
|
@ -289,7 +289,7 @@ class P2PInterface(P2PConnection):
|
|||
|
||||
Individual testcases should subclass this and override the on_* methods
|
||||
if they want to alter message handling behaviour."""
|
||||
def __init__(self, support_addrv2=False):
|
||||
def __init__(self, support_addrv2=False, wtxidrelay=True):
|
||||
super().__init__()
|
||||
|
||||
# Track number of messages of each type received.
|
||||
|
@ -309,6 +309,9 @@ class P2PInterface(P2PConnection):
|
|||
|
||||
self.support_addrv2 = support_addrv2
|
||||
|
||||
# If the peer supports wtxid-relay
|
||||
self.wtxidrelay = wtxidrelay
|
||||
|
||||
def peer_connect(self, *args, services=NODE_NETWORK|NODE_WITNESS, send_version=True, **kwargs):
|
||||
create_conn = super().peer_connect(*args, **kwargs)
|
||||
|
||||
|
@ -394,7 +397,7 @@ class P2PInterface(P2PConnection):
|
|||
|
||||
def on_version(self, message):
|
||||
assert message.nVersion >= MIN_VERSION_SUPPORTED, "Version {} received. Test framework only supports versions greater than {}".format(message.nVersion, MIN_VERSION_SUPPORTED)
|
||||
if message.nVersion >= 70016:
|
||||
if message.nVersion >= 70016 and self.wtxidrelay:
|
||||
self.send_message(msg_wtxidrelay())
|
||||
self.send_message(msg_verack())
|
||||
if self.support_addrv2:
|
||||
|
|
Loading…
Add table
Reference in a new issue