34
34
from hathor .indexes import IndexesManager , MemoryIndexesManager , RocksDBIndexesManager
35
35
from hathor .manager import HathorManager
36
36
from hathor .mining .cpu_mining_service import CpuMiningService
37
+ from hathor .p2p import P2PDependencies
37
38
from hathor .p2p .manager import ConnectionsManager
38
39
from hathor .p2p .peer import PrivatePeer
39
40
from hathor .pubsub import PubSubManager
@@ -64,12 +65,10 @@ class SyncSupportLevel(IntEnum):
64
65
@classmethod
65
66
def add_factories (
66
67
cls ,
67
- settings : HathorSettingsType ,
68
68
p2p_manager : ConnectionsManager ,
69
+ dependencies : P2PDependencies ,
69
70
sync_v1_support : 'SyncSupportLevel' ,
70
71
sync_v2_support : 'SyncSupportLevel' ,
71
- vertex_parser : VertexParser ,
72
- vertex_handler : VertexHandler ,
73
72
) -> None :
74
73
"""Adds the sync factory to the manager according to the support level."""
75
74
from hathor .p2p .sync_v1 .factory import SyncV11Factory
@@ -78,18 +77,12 @@ def add_factories(
78
77
79
78
# sync-v1 support:
80
79
if sync_v1_support > cls .UNAVAILABLE :
81
- p2p_manager .add_sync_factory (SyncVersion .V1_1 , SyncV11Factory (p2p_manager , vertex_parser = vertex_parser ))
80
+ p2p_manager .add_sync_factory (SyncVersion .V1_1 , SyncV11Factory (dependencies ))
82
81
if sync_v1_support is cls .ENABLED :
83
82
p2p_manager .enable_sync_version (SyncVersion .V1_1 )
84
83
# sync-v2 support:
85
84
if sync_v2_support > cls .UNAVAILABLE :
86
- sync_v2_factory = SyncV2Factory (
87
- settings ,
88
- p2p_manager ,
89
- vertex_parser = vertex_parser ,
90
- vertex_handler = vertex_handler ,
91
- )
92
- p2p_manager .add_sync_factory (SyncVersion .V2 , sync_v2_factory )
85
+ p2p_manager .add_sync_factory (SyncVersion .V2 , SyncV2Factory (dependencies ))
93
86
if sync_v2_support is cls .ENABLED :
94
87
p2p_manager .enable_sync_version (SyncVersion .V2 )
95
88
@@ -415,25 +408,30 @@ def _get_or_create_p2p_manager(self) -> ConnectionsManager:
415
408
return self ._p2p_manager
416
409
417
410
enable_ssl = True
418
- reactor = self ._get_reactor ()
419
411
my_peer = self ._get_peer ()
420
412
421
- self ._p2p_manager = ConnectionsManager (
413
+ dependencies = P2PDependencies (
414
+ reactor = self ._get_reactor (),
422
415
settings = self ._get_or_create_settings (),
423
- reactor = reactor ,
416
+ vertex_parser = self ._get_or_create_vertex_parser (),
417
+ tx_storage = self ._get_or_create_tx_storage (),
418
+ vertex_handler = self ._get_or_create_vertex_handler (),
419
+ verification_service = self ._get_or_create_verification_service (),
420
+ )
421
+
422
+ self ._p2p_manager = ConnectionsManager (
423
+ dependencies = dependencies ,
424
424
my_peer = my_peer ,
425
425
pubsub = self ._get_or_create_pubsub (),
426
426
ssl = enable_ssl ,
427
427
whitelist_only = False ,
428
428
rng = self ._rng ,
429
429
)
430
430
SyncSupportLevel .add_factories (
431
- self ._get_or_create_settings (),
432
431
self ._p2p_manager ,
432
+ dependencies ,
433
433
self ._sync_v1_support ,
434
434
self ._sync_v2_support ,
435
- self ._get_or_create_vertex_parser (),
436
- self ._get_or_create_vertex_handler (),
437
435
)
438
436
return self ._p2p_manager
439
437
0 commit comments