async def test_spam_message_non_tx(self, setup_two_nodes): nodes, _ = setup_two_nodes full_node_1, full_node_2 = nodes server_1 = nodes[0].full_node.server server_2 = nodes[1].full_node.server await server_2.start_client( PeerInfo(self_hostname, uint16(server_1._port)), full_node_2.full_node.on_connect) assert len(server_1.all_connections) == 1 ws_con: WSChiaConnection = list(server_1.all_connections.values())[0] ws_con_2: WSChiaConnection = list(server_2.all_connections.values())[0] ws_con.peer_host = "1.2.3.4" ws_con_2.peer_host = "1.2.3.4" def is_closed(): return ws_con.closed new_message = make_msg( ProtocolMessageTypes.request_mempool_transactions, full_node_protocol.RequestMempoolTransactions(bytes([])), ) for i in range(2): await ws_con._send_message(new_message) await asyncio.sleep(1) assert not ws_con.closed # Tests outbound rate limiting, we will not send too much data for i in range(10): await ws_con._send_message(new_message) await asyncio.sleep(1) assert not ws_con.closed # Remove outbound rate limiter to test inbound limits ws_con.outbound_rate_limiter = RateLimiter(incoming=True, percentage_of_limit=10000) for i in range(6): await ws_con._send_message(new_message) await time_out_assert(15, is_closed) # Banned def is_banned(): return "1.2.3.4" in server_2.banned_peers await time_out_assert(15, is_banned)
"b574062b42a5b3d76ea141d3b89a4a1096f7797bafe625770047380448622420") ), ) respond_signage_point = full_node_protocol.RespondSignagePoint( uint8(111), vdf_info, vdf_proof, vdf_info, vdf_proof, ) respond_end_of_subslot = full_node_protocol.RespondEndOfSubSlot( end_of_subslot_bundle, ) request_mempool_transaction = full_node_protocol.RequestMempoolTransactions( bytes([0] * 32), ) new_compact_vdf = full_node_protocol.NewCompactVDF( uint32(1333973478), bytes32( bytes.fromhex( "e2188779d4a8e8fdf9cbe3103878b4c3f5f25a999fa8d04551c4ae01046c634e") ), uint8(169), vdf_info, ) request_compact_vdf = full_node_protocol.RequestCompactVDF( uint32(3529778757), bytes32( bytes.fromhex(