Skip to content
This repository was archived by the owner on Nov 15, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
5178a3f
WIP
expenses Jun 12, 2020
9bb0129
Making progress
expenses Jun 15, 2020
91767ac
Almost ready
expenses Jun 15, 2020
3de5fce
Get service tests compiling
expenses Jun 16, 2020
937ad16
Fix node screenshot
expenses Jun 16, 2020
8d84167
Merge remote-tracking branch 'parity/master' into ashley-service-mult…
expenses Jun 16, 2020
30b8c65
Line widths
expenses Jun 18, 2020
a09301e
Merge remote-tracking branch 'parity/master' into ashley-service-mult…
expenses Jun 18, 2020
5bcf9f6
Fix node cli tests
expenses Jun 18, 2020
01e3ea0
Fix node cli warning
expenses Jun 18, 2020
1290452
ChainComponents -> ServiceComponents, fix tests
expenses Jun 18, 2020
11e3203
make spawn_handle public
expenses Jun 19, 2020
04d82e1
Merge remote-tracking branch 'parity/master' into ashley-service-mult…
expenses Jun 22, 2020
55df8af
Remove spawnnamed impl for taskmanager
expenses Jun 22, 2020
4e11e59
Move the keep alive stuff to the task manager
expenses Jun 23, 2020
22048cf
Move the telemetry, base path, rpc keep_alive to the service builder
expenses Jun 23, 2020
b5b335a
Merge remote-tracking branch 'parity/master' into ashley-service-mult…
expenses Jun 23, 2020
8ae7a04
Make the task manager keep alive an internal detail
expenses Jun 24, 2020
3319c11
Merge remote-tracking branch 'parity/master' into ashley-service-mult…
expenses Jun 24, 2020
f0a8f35
Rewrite the browser start_client future
expenses Jun 24, 2020
4546435
Remove run_node etc
expenses Jun 24, 2020
f42df6c
Revert my personal changes to browser-demo/build.sh
expenses Jun 24, 2020
0ad4e40
use |config|
expenses Jun 24, 2020
d066c02
Add a runtime_version function to SubstrateCli
expenses Jun 24, 2020
1305100
Reexport role and runtime version from sc cli
expenses Jun 24, 2020
1326a02
Update Cargo.lock
expenses Jun 24, 2020
772b757
runtime_version -> native_runtime_version
expenses Jun 25, 2020
efae0da
Merge remote-tracking branch 'parity/master' into ashley-service-mult…
expenses Jun 25, 2020
fe9d37a
Pass chain spec to native_runtime_version for polkadot
expenses Jun 25, 2020
97112f2
Merge remote-tracking branch 'parity/master' into ashley-service-mult…
expenses Jun 29, 2020
9c2e782
Fix line widths
expenses Jun 29, 2020
1f71076
Traitify ServiceComponents Client
expenses Jun 30, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fix line widths
  • Loading branch information
expenses committed Jun 29, 2020
commit 9c2e7823c6a4745aa6438212713d80466959bb60
40 changes: 23 additions & 17 deletions bin/node/cli/src/service.rs
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ use node_executor;
use node_primitives::Block;
use node_runtime::RuntimeApi;
use sc_service::{
ServiceBuilder, config::Configuration, error::{Error as ServiceError},
ServiceBuilder, config::{Role, Configuration}, error::{Error as ServiceError},
RpcHandlers, ServiceComponents, TaskManager,
};
use sp_inherents::InherentDataProviders;
Expand Down Expand Up @@ -235,7 +235,7 @@ pub fn new_full_base(
}

// Spawn authority discovery module.
if matches!(role, sc_service::config::Role::Authority{..} | sc_service::config::Role::Sentry {..}) {
if matches!(role, Role::Authority{..} | Role::Sentry {..}) {
let (sentries, authority_discovery_role) = match role {
sc_service::config::Role::Authority { ref sentry_nodes } => (
sentry_nodes.clone(),
Expand All @@ -250,10 +250,11 @@ pub fn new_full_base(
_ => unreachable!("Due to outer matches! constraint; qed.")
};

let dht_event_stream = network.event_stream("authority-discovery").filter_map(|e| async move { match e {
Event::Dht(e) => Some(e),
_ => None,
}}).boxed();
let dht_event_stream = network.event_stream("authority-discovery")
.filter_map(|e| async move { match e {
Event::Dht(e) => Some(e),
_ => None,
}}).boxed();
let authority_discovery = sc_authority_discovery::AuthorityDiscovery::new(
client.clone(),
network.clone(),
Expand Down Expand Up @@ -334,7 +335,9 @@ type LightFetcher = sc_network::config::OnDemand<Block>;
pub fn new_light_base(config: Configuration) -> Result<(
TaskManager, Arc<RpcHandlers>, Arc<LightClient>,
Arc<NetworkService<Block, <Block as BlockT>::Hash>>,
Arc<sc_transaction_pool::BasicPool<sc_transaction_pool::LightChainApi<LightClient, LightFetcher, Block>, Block>>
Arc<sc_transaction_pool::BasicPool<
sc_transaction_pool::LightChainApi<LightClient, LightFetcher, Block>, Block
>>
), ServiceError> {
let inherent_data_providers = InherentDataProviders::new();

Expand Down Expand Up @@ -437,9 +440,7 @@ pub fn new_light(config: Configuration) -> Result<TaskManager, ServiceError> {
#[cfg(test)]
mod tests {
use std::{sync::Arc, borrow::Cow, any::Any};
use sc_consensus_babe::{
CompatibleDigestItem, BabeIntermediate, INTERMEDIATE_KEY
};
use sc_consensus_babe::{CompatibleDigestItem, BabeIntermediate, INTERMEDIATE_KEY};
use sc_consensus_epochs::descendent_query;
use sp_consensus::{
Environment, Proposer, BlockImportParams, BlockOrigin, ForkChoiceStrategy, BlockImport,
Expand Down Expand Up @@ -490,14 +491,19 @@ mod tests {
chain_spec,
|config| {
let mut setup_handles = None;
let (keep_alive, inherent_data_providers, client, network, transaction_pool) = new_full_base(config, |
block_import: &sc_consensus_babe::BabeBlockImport<Block, _, _>,
babe_link: &sc_consensus_babe::BabeLink<Block>,
| {
setup_handles = Some((block_import.clone(), babe_link.clone()));
})?;
let (keep_alive, inherent_data_providers, client, network, transaction_pool) =
new_full_base(config,
|
block_import: &sc_consensus_babe::BabeBlockImport<Block, _, _>,
babe_link: &sc_consensus_babe::BabeLink<Block>,
| {
setup_handles = Some((block_import.clone(), babe_link.clone()));
}
)?;

let node = sc_service_test::TestNetComponents::new(keep_alive, client, network, transaction_pool);
let node = sc_service_test::TestNetComponents::new(
keep_alive, client, network, transaction_pool
);
Ok((node, (inherent_data_providers, setup_handles.unwrap())))
},
|config| {
Expand Down
12 changes: 9 additions & 3 deletions client/service/src/builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -917,7 +917,9 @@ ServiceBuilder<
Ok(self)
}

fn build_common(self) -> Result<ServiceComponents<TBl, TBackend, TExec, TRtApi, TSc, TExPool>, Error>
fn build_common(self) -> Result<
ServiceComponents<TBl, TBackend, TExec, TRtApi, TSc, TExPool>, Error
>
where TExec: CallExecutor<TBl, Backend = TBackend>,
{
let ServiceBuilder {
Expand Down Expand Up @@ -1115,7 +1117,9 @@ ServiceBuilder<
}

/// Builds the light service.
pub fn build_light(self) -> Result<ServiceComponents<TBl, TBackend, TExec, TRtApi, TSc, TExPool>, Error>
pub fn build_light(self) -> Result<
ServiceComponents<TBl, TBackend, TExec, TRtApi, TSc, TExPool>, Error
>
where TExec: CallExecutor<TBl, Backend = TBackend>,
{
self.build_common()
Expand Down Expand Up @@ -1158,7 +1162,9 @@ ServiceBuilder<
{

/// Builds the full service.
pub fn build_full(self) -> Result<ServiceComponents<TBl, TBackend, TExec, TRtApi, TSc, TExPool>, Error>
pub fn build_full(self) -> Result<
ServiceComponents<TBl, TBackend, TExec, TRtApi, TSc, TExPool>, Error
>
where TExec: CallExecutor<TBl, Backend = TBackend>,
{
// make transaction pool available for off-chain runtime calls.
Expand Down
25 changes: 17 additions & 8 deletions client/service/test/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,9 @@ TestNetComponents<TBl, TBackend, TExec, TRtApi, TExPool> {
}
}

impl<TBl: BlockT, TBackend, TExec, TRtApi, TExPool> Future for TestNetComponents<TBl, TBackend, TExec, TRtApi, TExPool> {
impl<TBl: BlockT, TBackend, TExec, TRtApi, TExPool> Future for
TestNetComponents<TBl, TBackend, TExec, TRtApi, TExPool>
{
type Item = ();
type Error = sc_service::Error;

Expand Down Expand Up @@ -540,10 +542,12 @@ pub fn sync<G, E, Fb, F, Lb, L, B, ExF, U>(

info!("Running sync");
for (_, service, _, _) in network.full_nodes.iter().skip(1) {
service.network().add_reserved_peer(first_address.to_string()).expect("Error adding reserved peer");
service.network().add_reserved_peer(first_address.to_string())
.expect("Error adding reserved peer");
}
for (_, service, _) in network.light_nodes.iter() {
service.network().add_reserved_peer(first_address.to_string()).expect("Error adding reserved peer");
service.network().add_reserved_peer(first_address.to_string())
.expect("Error adding reserved peer");
}
network.run_until_all_full(
|_index, service|
Expand Down Expand Up @@ -598,13 +602,16 @@ pub fn consensus<G, E, Fb, F, Lb, L>(
info!("Checking consensus");
let first_address = network.authority_nodes[0].3.clone();
for (_, service, _, _) in network.full_nodes.iter() {
service.network().add_reserved_peer(first_address.to_string()).expect("Error adding reserved peer");
service.network().add_reserved_peer(first_address.to_string())
.expect("Error adding reserved peer");
}
for (_, service, _) in network.light_nodes.iter() {
service.network().add_reserved_peer(first_address.to_string()).expect("Error adding reserved peer");
service.network().add_reserved_peer(first_address.to_string())
.expect("Error adding reserved peer");
}
for (_, service, _, _) in network.authority_nodes.iter().skip(1) {
service.network().add_reserved_peer(first_address.to_string()).expect("Error adding reserved peer");
service.network().add_reserved_peer(first_address.to_string())
.expect("Error adding reserved peer");
}
network.run_until_all_full(
|_index, service|
Expand All @@ -623,10 +630,12 @@ pub fn consensus<G, E, Fb, F, Lb, L>(
(0..0).map(|_| (String::new(), { |cfg| full_builder(cfg).map(|s| (s, ())) })),
);
for (_, service, _, _) in network.full_nodes.iter() {
service.network().add_reserved_peer(first_address.to_string()).expect("Error adding reserved peer");
service.network().add_reserved_peer(first_address.to_string())
.expect("Error adding reserved peer");
}
for (_, service, _) in network.light_nodes.iter() {
service.network().add_reserved_peer(first_address.to_string()).expect("Error adding reserved peer");
service.network().add_reserved_peer(first_address.to_string())
.expect("Error adding reserved peer");
}
network.run_until_all_full(
|_index, service|
Expand Down