17
17
../ database/ content_db,
18
18
./ network_metadata,
19
19
./ wire/ [portal_stream, portal_protocol_config],
20
+ ./ finalized_history/ finalized_history_network,
20
21
./ beacon/ [beacon_init_loader, beacon_light_client],
21
22
./ legacy_history/ [history_network, history_content]
22
23
39
40
discovery: protocol.Protocol
40
41
contentDB: ContentDB
41
42
streamManager: StreamManager
43
+ finalizedHistoryNetwork* : Opt [FinalizedHistoryNetwork ]
42
44
beaconNetwork* : Opt [BeaconNetwork ]
43
45
legacyHistoryNetwork* : Opt [LegacyHistoryNetwork ]
44
46
beaconLightClient* : Opt [LightClient ]
@@ -103,6 +105,24 @@ proc new*(
103
105
# Get it from binary file containing SSZ encoded accumulator
104
106
loadAccumulator ()
105
107
108
+ finalizedHistoryNetwork =
109
+ if PortalSubnetwork .finalizedHistory in subnetworks:
110
+ Opt .some (
111
+ FinalizedHistoryNetwork .new (
112
+ network,
113
+ discovery,
114
+ contentDB,
115
+ streamManager,
116
+ bootstrapRecords = bootstrapRecords,
117
+ portalConfig = config.portalConfig,
118
+ contentRequestRetries = config.contentRequestRetries,
119
+ contentQueueWorkers = config.contentQueueWorkers,
120
+ contentQueueSize = config.contentQueueSize,
121
+ )
122
+ )
123
+ else :
124
+ Opt .none (FinalizedHistoryNetwork )
125
+
106
126
beaconNetwork =
107
127
if PortalSubnetwork .beacon in subnetworks:
108
128
let
@@ -172,6 +192,7 @@ proc new*(
172
192
discovery: discovery,
173
193
contentDB: contentDB,
174
194
streamManager: streamManager,
195
+ finalizedHistoryNetwork: finalizedHistoryNetwork,
175
196
beaconNetwork: beaconNetwork,
176
197
legacyHistoryNetwork: legacyHistoryNetwork,
177
198
beaconLightClient: beaconLightClient,
@@ -204,6 +225,8 @@ proc start*(n: PortalNode) =
204
225
205
226
n.discovery.start ()
206
227
228
+ if n.finalizedHistoryNetwork.isSome ():
229
+ n.finalizedHistoryNetwork.value.start ()
207
230
if n.beaconNetwork.isSome ():
208
231
n.beaconNetwork.value.start ()
209
232
if n.legacyHistoryNetwork.isSome ():
@@ -218,6 +241,8 @@ proc stop*(n: PortalNode) {.async: (raises: []).} =
218
241
219
242
var futures: seq [Future [void ]]
220
243
244
+ if n.finalizedHistoryNetwork.isSome ():
245
+ futures.add (n.finalizedHistoryNetwork.value.stop ())
221
246
if n.beaconNetwork.isSome ():
222
247
futures.add (n.beaconNetwork.value.stop ())
223
248
if n.legacyHistoryNetwork.isSome ():
0 commit comments