@@ -146,6 +146,34 @@ def run_test(self):
146
146
peer .send_message (msg_verack ())
147
147
peer .peer_disconnect ()
148
148
149
+ self .log .info ('SENDTXRCNCL sent to an outbound' )
150
+ peer = self .nodes [0 ].add_outbound_p2p_connection (
151
+ SendTxrcnclReceiver (), wait_for_verack = True , p2p_idx = 1 , connection_type = "outbound-full-relay" )
152
+ assert peer .sendtxrcncl_msg_received
153
+ assert peer .sendtxrcncl_msg_received .initiator
154
+ assert not peer .sendtxrcncl_msg_received .responder
155
+ assert_equal (peer .sendtxrcncl_msg_received .version , 1 )
156
+ peer .peer_disconnect ()
157
+
158
+ self .log .info ('SENDTXRCNCL should not be sent if block-relay-only' )
159
+ peer = self .nodes [0 ].add_outbound_p2p_connection (
160
+ SendTxrcnclReceiver (), wait_for_verack = True , p2p_idx = 2 , connection_type = "block-relay-only" )
161
+ assert not peer .sendtxrcncl_msg_received
162
+ peer .peer_disconnect ()
163
+
164
+ self .log .info ('SENDTXRCNCL if block-relay-only triggers a disconnect' )
165
+ peer = self .nodes [0 ].add_outbound_p2p_connection (
166
+ PeerNoVerack (), wait_for_verack = False , p2p_idx = 3 , connection_type = "block-relay-only" )
167
+ peer .send_message (create_sendtxrcncl_msg (initiator = False ))
168
+ peer .wait_for_disconnect ()
169
+
170
+ self .log .info ('SENDTXRCNCL with initiator=1 and responder=0 from outbound triggers a disconnect' )
171
+ sendtxrcncl_wrong_role = create_sendtxrcncl_msg (initiator = True )
172
+ peer = self .nodes [0 ].add_outbound_p2p_connection (
173
+ P2PInterface (), wait_for_verack = False , p2p_idx = 4 , connection_type = "outbound-full-relay" )
174
+ peer .send_message (sendtxrcncl_wrong_role )
175
+ peer .wait_for_disconnect ()
176
+
149
177
self .log .info ('SENDTXRCNCL not sent if -txreconciliation flag is not set' )
150
178
self .restart_node (0 , [])
151
179
peer = self .nodes [0 ].add_p2p_connection (SendTxrcnclReceiver (), send_version = True , wait_for_verack = True )
0 commit comments