@@ -322,9 +322,7 @@ def has_synced_peer(self) -> bool:
322
322
"""
323
323
connections = list (self .iter_ready_connections ())
324
324
for conn in connections :
325
- assert conn .state is not None
326
- assert isinstance (conn .state , ReadyState )
327
- if conn .state .is_synced ():
325
+ if conn .is_synced ():
328
326
return True
329
327
return False
330
328
@@ -341,9 +339,7 @@ def send_tx_to_peers(self, tx: BaseTransaction) -> None:
341
339
connections = list (self .iter_ready_connections ())
342
340
self .rng .shuffle (connections )
343
341
for conn in connections :
344
- assert conn .state is not None
345
- assert isinstance (conn .state , ReadyState )
346
- conn .state .send_tx_to_peer (tx )
342
+ conn .send_tx_to_peer (tx )
347
343
348
344
def disconnect_all_peers (self , * , force : bool = False ) -> None :
349
345
"""Disconnect all peers."""
@@ -408,10 +404,9 @@ def on_peer_ready(self, protocol: HathorProtocol) -> None:
408
404
def relay_peer_to_ready_connections (self , peer : PublicPeer ) -> None :
409
405
"""Relay peer to all ready connections."""
410
406
for conn in self .iter_ready_connections ():
411
- if conn .peer == peer :
407
+ if conn .get_peer () == peer :
412
408
continue
413
- assert isinstance (conn .state , ReadyState )
414
- conn .state .send_peers ([peer ])
409
+ conn .send_peers ([peer ])
415
410
416
411
def on_handshake_disconnect (self , * , addr : PeerAddress ) -> None :
417
412
"""Called when a peer disconnects from a handshaking state (HELLO or PEER-ID)."""
@@ -666,9 +661,9 @@ def _add_hostname_entrypoint(self, hostname: str, address: IPv4Address | IPv6Add
666
661
def drop_connection (self , protocol : HathorProtocol ) -> None :
667
662
""" Drop a connection
668
663
"""
669
- assert protocol .peer is not None
670
- self .log .debug ('dropping connection' , peer_id = protocol . peer .id , protocol = type (protocol ).__name__ )
671
- protocol .send_error_and_close_connection ('Connection dropped ' )
664
+ protocol_peer = protocol .get_peer ()
665
+ self .log .debug ('dropping connection' , peer_id = protocol_peer .id , protocol = type (protocol ).__name__ )
666
+ protocol .send_error_and_close_connection ('Connection droped ' )
672
667
673
668
def drop_connection_by_peer_id (self , peer_id : PeerId ) -> None :
674
669
""" Drop a connection by peer id
@@ -767,3 +762,17 @@ def reload_entrypoints_and_connections(self) -> None:
767
762
self .log .warn ('Killing all connections and resetting entrypoints...' )
768
763
self .disconnect_all_peers (force = True )
769
764
self .my_peer .reload_entrypoints_from_source_file ()
765
+
766
+ def get_peers_whitelist (self ) -> list [PeerId ]:
767
+ assert self .manager is not None
768
+ return self .manager .peers_whitelist
769
+
770
+ def get_verified_peers (self ) -> Iterable [PublicPeer ]:
771
+ return self .verified_peer_storage .values ()
772
+
773
+ def get_randbytes (self , n : int ) -> bytes :
774
+ return self .rng .randbytes (n )
775
+
776
+ def is_peer_whitelisted (self , peer_id : PeerId ) -> bool :
777
+ assert self .manager is not None
778
+ return peer_id in self .manager .peers_whitelist
0 commit comments