Skip to content
This repository was archived by the owner on Nov 15, 2023. It is now read-only.

Commit 26d3f85

Browse files
authored
* Companion for paritytech/substrate#12828 * Pass sync service * Fix test * Fix tests again * update lockfile for {"substrate"} * cargo fmt --------- Co-authored-by: parity-processbot <>
1 parent 177ceca commit 26d3f85

File tree

7 files changed

+222
-196
lines changed

7 files changed

+222
-196
lines changed

Cargo.lock

Lines changed: 189 additions & 183 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

node/network/bridge/src/rx/mod.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -145,14 +145,13 @@ where
145145
loop {
146146
match network_stream.next().await {
147147
None => return Err(Error::EventStreamConcluded),
148-
Some(NetworkEvent::Dht(_)) |
149-
Some(NetworkEvent::SyncConnected { .. }) |
150-
Some(NetworkEvent::SyncDisconnected { .. }) => {},
148+
Some(NetworkEvent::Dht(_)) => {},
151149
Some(NetworkEvent::NotificationStreamOpened {
152150
remote: peer,
153151
protocol,
154152
role,
155153
negotiated_fallback,
154+
received_handshake: _,
156155
}) => {
157156
let role = ObservedRole::from(role);
158157
let (peer_set, version) = {

node/network/bridge/src/rx/tests.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,7 @@ impl TestNetworkHandle {
195195
protocol: self.protocol_names.get_main_name(peer_set),
196196
negotiated_fallback: None,
197197
role: role.into(),
198+
received_handshake: vec![],
198199
})
199200
.await;
200201
}

node/network/bridge/src/tx/tests.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,7 @@ impl TestNetworkHandle {
173173
protocol: self.peerset_protocol_names.get_main_name(peer_set),
174174
negotiated_fallback: None,
175175
role: role.into(),
176+
received_handshake: vec![],
176177
})
177178
.await;
178179
}

node/service/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ sc-consensus-slots = { git = "https://github.com/paritytech/substrate", branch =
2222
sc-executor = { git = "https://github.com/paritytech/substrate", branch = "master" }
2323
sc-network = { git = "https://github.com/paritytech/substrate", branch = "master" }
2424
sc-network-common = { git = "https://github.com/paritytech/substrate", branch = "master" }
25+
sc-network-sync = { git = "https://github.com/paritytech/substrate", branch = "master" }
2526
sc-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "master" }
2627
sc-sync-state-rpc = { git = "https://github.com/paritytech/substrate", branch = "master" }
2728
sc-keystore = { git = "https://github.com/paritytech/substrate", branch = "master" }

node/service/src/lib.rs

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,7 @@ pub fn open_database(db_source: &DatabaseSource) -> Result<Arc<dyn Database>, Er
296296
path.parent().ok_or(Error::DatabasePathRequired)?.into(),
297297
parachains_db::CacheSizes::default(),
298298
)?,
299-
DatabaseSource::Auto { paritydb_path, rocksdb_path, .. } =>
299+
DatabaseSource::Auto { paritydb_path, rocksdb_path, .. } => {
300300
if paritydb_path.is_dir() && paritydb_path.exists() {
301301
parachains_db::open_creating_paritydb(
302302
paritydb_path.parent().ok_or(Error::DatabasePathRequired)?.into(),
@@ -307,7 +307,8 @@ pub fn open_database(db_source: &DatabaseSource) -> Result<Arc<dyn Database>, Er
307307
rocksdb_path.clone(),
308308
parachains_db::CacheSizes::default(),
309309
)?
310-
},
310+
}
311+
},
311312
DatabaseSource::Custom { .. } => {
312313
unimplemented!("No polkadot subsystem db for custom source.");
313314
},
@@ -615,6 +616,7 @@ pub struct NewFull<C> {
615616
pub client: C,
616617
pub overseer_handle: Option<Handle>,
617618
pub network: Arc<sc_network::NetworkService<Block, <Block as BlockT>::Hash>>,
619+
pub sync_service: Arc<sc_network_sync::SyncingService<Block>>,
618620
pub rpc_handlers: RpcHandlers,
619621
pub backend: Arc<FullBackend>,
620622
}
@@ -628,6 +630,7 @@ impl<C> NewFull<C> {
628630
task_manager: self.task_manager,
629631
overseer_handle: self.overseer_handle,
630632
network: self.network,
633+
sync_service: self.sync_service,
631634
rpc_handlers: self.rpc_handlers,
632635
backend: self.backend,
633636
}
@@ -855,7 +858,7 @@ where
855858
grandpa_hard_forks,
856859
));
857860

858-
let (network, system_rpc_tx, tx_handler_controller, network_starter) =
861+
let (network, system_rpc_tx, tx_handler_controller, network_starter, sync_service) =
859862
service::build_network(service::BuildNetworkParams {
860863
config: &config,
861864
client: client.clone(),
@@ -923,6 +926,7 @@ where
923926
client: client.clone(),
924927
keystore: keystore_container.sync_keystore(),
925928
network: network.clone(),
929+
sync_service: sync_service.clone(),
926930
rpc_builder: Box::new(rpc_extensions_builder),
927931
transaction_pool: transaction_pool.clone(),
928932
task_manager: &mut task_manager,
@@ -1013,6 +1017,7 @@ where
10131017
runtime_client: overseer_client.clone(),
10141018
parachains_db,
10151019
network_service: network.clone(),
1020+
sync_service: sync_service.clone(),
10161021
authority_discovery_service,
10171022
pov_req_receiver,
10181023
chunk_req_receiver,
@@ -1092,8 +1097,8 @@ where
10921097
select_chain,
10931098
block_import,
10941099
env: proposer,
1095-
sync_oracle: network.clone(),
1096-
justification_sync_link: network.clone(),
1100+
sync_oracle: sync_service.clone(),
1101+
justification_sync_link: sync_service.clone(),
10971102
create_inherent_data_providers: move |parent, ()| {
10981103
let client_clone = client_clone.clone();
10991104
let overseer_handle = overseer_handle.clone();
@@ -1138,6 +1143,7 @@ where
11381143
let justifications_protocol_name = beefy_on_demand_justifications_handler.protocol_name();
11391144
let network_params = beefy::BeefyNetworkParams {
11401145
network: network.clone(),
1146+
sync: sync_service.clone(),
11411147
gossip_protocol_name: beefy_gossip_proto_name,
11421148
justifications_protocol_name,
11431149
_phantom: core::marker::PhantomData::<Block>,
@@ -1156,7 +1162,7 @@ where
11561162
on_demand_justifications_handler: beefy_on_demand_justifications_handler,
11571163
};
11581164

1159-
let gadget = beefy::start_beefy_gadget::<_, _, _, _, _, _>(beefy_params);
1165+
let gadget = beefy::start_beefy_gadget::<_, _, _, _, _, _, _>(beefy_params);
11601166

11611167
// Wococo's purpose is to be a testbed for BEEFY, so if it fails we'll
11621168
// bring the node down with it to make sure it is noticed.
@@ -1236,6 +1242,7 @@ where
12361242
config,
12371243
link: link_half,
12381244
network: network.clone(),
1245+
sync: sync_service.clone(),
12391246
voting_rule,
12401247
prometheus_registry: prometheus_registry.clone(),
12411248
shared_voter_state,
@@ -1251,7 +1258,15 @@ where
12511258

12521259
network_starter.start_network();
12531260

1254-
Ok(NewFull { task_manager, client, overseer_handle, network, rpc_handlers, backend })
1261+
Ok(NewFull {
1262+
task_manager,
1263+
client,
1264+
overseer_handle,
1265+
network,
1266+
sync_service,
1267+
rpc_handlers,
1268+
backend,
1269+
})
12551270
}
12561271

12571272
#[cfg(feature = "full-node")]

node/service/src/overseer.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,8 @@ where
8989
pub parachains_db: Arc<dyn polkadot_node_subsystem_util::database::Database>,
9090
/// Underlying network service implementation.
9191
pub network_service: Arc<sc_network::NetworkService<Block, Hash>>,
92+
/// Underlying syncing service implementation.
93+
pub sync_service: Arc<sc_network_sync::SyncingService<Block>>,
9294
/// Underlying authority discovery service.
9395
pub authority_discovery_service: AuthorityDiscoveryService,
9496
/// POV request receiver
@@ -133,6 +135,7 @@ pub fn prepared_overseer_builder<Spawner, RuntimeClient>(
133135
runtime_client,
134136
parachains_db,
135137
network_service,
138+
sync_service,
136139
authority_discovery_service,
137140
pov_req_receiver,
138141
chunk_req_receiver,
@@ -212,7 +215,7 @@ where
212215
.network_bridge_rx(NetworkBridgeRxSubsystem::new(
213216
network_service.clone(),
214217
authority_discovery_service.clone(),
215-
Box::new(network_service.clone()),
218+
Box::new(sync_service.clone()),
216219
network_bridge_metrics,
217220
peerset_protocol_names,
218221
))
@@ -228,7 +231,7 @@ where
228231
.availability_store(AvailabilityStoreSubsystem::new(
229232
parachains_db.clone(),
230233
availability_config,
231-
Box::new(network_service.clone()),
234+
Box::new(sync_service.clone()),
232235
Metrics::register(registry)?,
233236
))
234237
.bitfield_distribution(BitfieldDistributionSubsystem::new(Metrics::register(registry)?))
@@ -285,7 +288,7 @@ where
285288
approval_voting_config,
286289
parachains_db.clone(),
287290
keystore.clone(),
288-
Box::new(network_service.clone()),
291+
Box::new(sync_service.clone()),
289292
Metrics::register(registry)?,
290293
))
291294
.gossip_support(GossipSupportSubsystem::new(

0 commit comments

Comments
 (0)