77
88from test_framework .messages import (
99 msg_sendtxrcncl ,
10- msg_verack ,
1110 msg_version ,
1211)
1312from test_framework .p2p import (
@@ -103,37 +102,39 @@ def run_test(self):
103102 peer .send_message (create_sendtxrcncl_msg ())
104103 self .wait_until (lambda : "sendtxrcncl" in self .nodes [0 ].getpeerinfo ()[- 1 ]["bytesrecv_per_msg" ])
105104 self .log .info ('second SENDTXRCNCL triggers a disconnect' )
106- peer .send_message (create_sendtxrcncl_msg ())
107- peer .wait_for_disconnect ()
105+ with self .nodes [0 ].assert_debug_log (["(sendtxrcncl received from already registered peer); disconnecting" ]):
106+ peer .send_message (create_sendtxrcncl_msg ())
107+ peer .wait_for_disconnect ()
108108
109109 self .log .info ('SENDTXRCNCL with initiator=responder=0 triggers a disconnect' )
110110 sendtxrcncl_no_role = create_sendtxrcncl_msg ()
111111 sendtxrcncl_no_role .initiator = False
112112 sendtxrcncl_no_role .responder = False
113113 peer = self .nodes [0 ].add_p2p_connection (PeerNoVerack (), send_version = True , wait_for_verack = False )
114- peer .send_message (sendtxrcncl_no_role )
115- peer .wait_for_disconnect ()
114+ with self .nodes [0 ].assert_debug_log (["txreconciliation protocol violation" ]):
115+ peer .send_message (sendtxrcncl_no_role )
116+ peer .wait_for_disconnect ()
116117
117118 self .log .info ('SENDTXRCNCL with initiator=0 and responder=1 from inbound triggers a disconnect' )
118119 sendtxrcncl_wrong_role = create_sendtxrcncl_msg (initiator = False )
119120 peer = self .nodes [0 ].add_p2p_connection (PeerNoVerack (), send_version = True , wait_for_verack = False )
120- peer .send_message (sendtxrcncl_wrong_role )
121- peer .wait_for_disconnect ()
121+ with self .nodes [0 ].assert_debug_log (["txreconciliation protocol violation" ]):
122+ peer .send_message (sendtxrcncl_wrong_role )
123+ peer .wait_for_disconnect ()
122124
123125 self .log .info ('SENDTXRCNCL with version=0 triggers a disconnect' )
124126 sendtxrcncl_low_version = create_sendtxrcncl_msg ()
125127 sendtxrcncl_low_version .version = 0
126128 peer = self .nodes [0 ].add_p2p_connection (PeerNoVerack (), send_version = True , wait_for_verack = False )
127- peer .send_message (sendtxrcncl_low_version )
128- peer .wait_for_disconnect ()
129+ with self .nodes [0 ].assert_debug_log (["txreconciliation protocol violation" ]):
130+ peer .send_message (sendtxrcncl_low_version )
131+ peer .wait_for_disconnect ()
129132
130133 self .log .info ('sending SENDTXRCNCL after sending VERACK triggers a disconnect' )
131- # We use PeerNoVerack even though verack is sent right after, to make sure it was actually
132- # sent before sendtxrcncl is sent.
133- peer = self .nodes [0 ].add_p2p_connection (PeerNoVerack (), send_version = True , wait_for_verack = False )
134- peer .send_and_ping (msg_verack ())
135- peer .send_message (create_sendtxrcncl_msg ())
136- peer .wait_for_disconnect ()
134+ peer = self .nodes [0 ].add_p2p_connection (P2PInterface ())
135+ with self .nodes [0 ].assert_debug_log (["sendtxrcncl received after verack" ]):
136+ peer .send_message (create_sendtxrcncl_msg ())
137+ peer .wait_for_disconnect ()
137138
138139 self .log .info ('SENDTXRCNCL sent to an outbound' )
139140 peer = self .nodes [0 ].add_outbound_p2p_connection (
@@ -153,15 +154,17 @@ def run_test(self):
153154 self .log .info ('SENDTXRCNCL if block-relay-only triggers a disconnect' )
154155 peer = self .nodes [0 ].add_outbound_p2p_connection (
155156 PeerNoVerack (), wait_for_verack = False , p2p_idx = 3 , connection_type = "block-relay-only" )
156- peer .send_message (create_sendtxrcncl_msg (initiator = False ))
157- peer .wait_for_disconnect ()
157+ with self .nodes [0 ].assert_debug_log (["we indicated no tx relay; disconnecting" ]):
158+ peer .send_message (create_sendtxrcncl_msg (initiator = False ))
159+ peer .wait_for_disconnect ()
158160
159161 self .log .info ('SENDTXRCNCL with initiator=1 and responder=0 from outbound triggers a disconnect' )
160162 sendtxrcncl_wrong_role = create_sendtxrcncl_msg (initiator = True )
161163 peer = self .nodes [0 ].add_outbound_p2p_connection (
162- P2PInterface (), wait_for_verack = False , p2p_idx = 4 , connection_type = "outbound-full-relay" )
163- peer .send_message (sendtxrcncl_wrong_role )
164- peer .wait_for_disconnect ()
164+ PeerNoVerack (), wait_for_verack = False , p2p_idx = 4 , connection_type = "outbound-full-relay" )
165+ with self .nodes [0 ].assert_debug_log (["txreconciliation protocol violation" ]):
166+ peer .send_message (sendtxrcncl_wrong_role )
167+ peer .wait_for_disconnect ()
165168
166169 self .log .info ('SENDTXRCNCL not sent if -txreconciliation flag is not set' )
167170 self .restart_node (0 , [])
0 commit comments