relay-chain-interface: Do not depend on polkadot-service (#2287)

This commit is contained in:
Bastian Köcher
2023-03-07 15:17:05 +01:00
committed by GitHub
parent 4831e96de8
commit d17fbba4e4
8 changed files with 17 additions and 33 deletions
-1
View File
@@ -2250,7 +2250,6 @@ dependencies = [
"jsonrpsee-core", "jsonrpsee-core",
"parity-scale-codec", "parity-scale-codec",
"polkadot-overseer", "polkadot-overseer",
"polkadot-service",
"sc-client-api", "sc-client-api",
"sp-api", "sp-api",
"sp-blockchain", "sp-blockchain",
@@ -367,7 +367,8 @@ pub fn build_inprocess_relay_chain(
parachain_config, parachain_config,
telemetry_worker_handle, telemetry_worker_handle,
hwbench, hwbench,
)?; )
.map_err(|e| RelayChainError::Application(Box::new(e) as Box<_>))?;
let relay_chain_interface_builder = RelayChainInProcessInterfaceBuilder { let relay_chain_interface_builder = RelayChainInProcessInterfaceBuilder {
polkadot_client: full_node.client.clone(), polkadot_client: full_node.client.clone(),
@@ -6,7 +6,6 @@ edition = "2021"
[dependencies] [dependencies]
polkadot-overseer = { git = "https://github.com/paritytech/polkadot", branch = "master" } polkadot-overseer = { git = "https://github.com/paritytech/polkadot", branch = "master" }
polkadot-service = { git = "https://github.com/paritytech/polkadot", branch = "master" }
cumulus-primitives-core = { path = "../../primitives/core" } cumulus-primitives-core = { path = "../../primitives/core" }
@@ -17,7 +17,6 @@
use std::{collections::BTreeMap, pin::Pin, sync::Arc}; use std::{collections::BTreeMap, pin::Pin, sync::Arc};
use polkadot_overseer::prometheus::PrometheusError; use polkadot_overseer::prometheus::PrometheusError;
use polkadot_service::SubstrateServiceError;
use sc_client_api::StorageProof; use sc_client_api::StorageProof;
use futures::Stream; use futures::Stream;
@@ -61,10 +60,8 @@ pub enum RelayChainError {
WorkerCommunicationError(String), WorkerCommunicationError(String),
#[error("Scale codec deserialization error: {0}")] #[error("Scale codec deserialization error: {0}")]
DeserializationError(CodecError), DeserializationError(CodecError),
#[error("Polkadot service error: {0}")] #[error(transparent)]
ServiceError(#[from] polkadot_service::Error), Application(#[from] Box<dyn std::error::Error + Send + Sync + 'static>),
#[error("Substrate service error: {0}")]
SubServiceError(#[from] SubstrateServiceError),
#[error("Prometheus error: {0}")] #[error("Prometheus error: {0}")]
PrometheusError(#[from] PrometheusError), PrometheusError(#[from] PrometheusError),
#[error("Unspecified error occured: {0}")] #[error("Unspecified error occured: {0}")]
@@ -158,7 +158,8 @@ async fn new_minimal_relay_chain(
client: relay_chain_rpc_client.clone(), client: relay_chain_rpc_client.clone(),
spawn_handle: task_manager.spawn_handle(), spawn_handle: task_manager.spawn_handle(),
genesis_hash, genesis_hash,
})?; })
.map_err(|e| RelayChainError::Application(Box::new(e) as Box<_>))?;
let authority_discovery_service = build_authority_discovery_service( let authority_discovery_service = build_authority_discovery_service(
&task_manager, &task_manager,
@@ -186,7 +187,8 @@ async fn new_minimal_relay_chain(
overseer_args, overseer_args,
&task_manager, &task_manager,
relay_chain_rpc_client.clone(), relay_chain_rpc_client.clone(),
)?; )
.map_err(|e| RelayChainError::Application(Box::new(e) as Box<_>))?;
network_starter.start_network(); network_starter.start_network();
@@ -17,7 +17,7 @@ use cumulus_client_service::{
start_full_node, BuildNetworkParams, StartCollatorParams, StartFullNodeParams, start_full_node, BuildNetworkParams, StartCollatorParams, StartFullNodeParams,
}; };
use cumulus_primitives_core::ParaId; use cumulus_primitives_core::ParaId;
use cumulus_relay_chain_interface::{RelayChainError, RelayChainInterface}; use cumulus_relay_chain_interface::RelayChainInterface;
// Substrate Imports // Substrate Imports
use frame_benchmarking_cli::SUBSTRATE_REFERENCE_HARDWARE; use frame_benchmarking_cli::SUBSTRATE_REFERENCE_HARDWARE;
@@ -162,10 +162,7 @@ async fn start_node_impl(
hwbench.clone(), hwbench.clone(),
) )
.await .await
.map_err(|e| match e { .map_err(|e| sc_service::Error::Application(Box::new(e) as Box<_>))?;
RelayChainError::ServiceError(polkadot_service::Error::Sub(x)) => x,
s => s.to_string().into(),
})?;
let force_authoring = parachain_config.force_authoring; let force_authoring = parachain_config.force_authoring;
let validator = parachain_config.role.is_authority(); let validator = parachain_config.role.is_authority();
+4 -13
View File
@@ -28,7 +28,7 @@ use cumulus_primitives_core::{
relay_chain::{Hash as PHash, PersistedValidationData}, relay_chain::{Hash as PHash, PersistedValidationData},
ParaId, ParaId,
}; };
use cumulus_relay_chain_interface::{RelayChainError, RelayChainInterface}; use cumulus_relay_chain_interface::RelayChainInterface;
use sp_core::Pair; use sp_core::Pair;
use jsonrpsee::RpcModule; use jsonrpsee::RpcModule;
@@ -382,10 +382,7 @@ where
hwbench.clone(), hwbench.clone(),
) )
.await .await
.map_err(|e| match e { .map_err(|e| sc_service::Error::Application(Box::new(e) as Box<_>))?;
RelayChainError::ServiceError(polkadot_service::Error::Sub(x)) => x,
s => s.to_string().into(),
})?;
let force_authoring = parachain_config.force_authoring; let force_authoring = parachain_config.force_authoring;
let validator = parachain_config.role.is_authority(); let validator = parachain_config.role.is_authority();
@@ -572,10 +569,7 @@ where
hwbench.clone(), hwbench.clone(),
) )
.await .await
.map_err(|e| match e { .map_err(|e| sc_service::Error::Application(Box::new(e) as Box<_>))?;
RelayChainError::ServiceError(polkadot_service::Error::Sub(x)) => x,
s => s.to_string().into(),
})?;
let force_authoring = parachain_config.force_authoring; let force_authoring = parachain_config.force_authoring;
let validator = parachain_config.role.is_authority(); let validator = parachain_config.role.is_authority();
@@ -1345,10 +1339,7 @@ where
hwbench.clone(), hwbench.clone(),
) )
.await .await
.map_err(|e| match e { .map_err(|e| sc_service::Error::Application(Box::new(e) as Box<_>))?;
RelayChainError::ServiceError(polkadot_service::Error::Sub(x)) => x,
s => s.to_string().into(),
})?;
let force_authoring = parachain_config.force_authoring; let force_authoring = parachain_config.force_authoring;
let validator = parachain_config.role.is_authority(); let validator = parachain_config.role.is_authority();
+3 -5
View File
@@ -252,7 +252,8 @@ async fn build_relay_chain_interface(
polkadot_service::IsCollator::Yes(CollatorPair::generate().0) polkadot_service::IsCollator::Yes(CollatorPair::generate().0)
}, },
None, None,
)?; )
.map_err(|e| RelayChainError::Application(Box::new(e) as Box<_>))?;
task_manager.add_child(relay_chain_full_node.task_manager); task_manager.add_child(relay_chain_full_node.task_manager);
tracing::info!("Using inprocess node."); tracing::info!("Using inprocess node.");
@@ -309,10 +310,7 @@ where
&mut task_manager, &mut task_manager,
) )
.await .await
.map_err(|e| match e { .map_err(|e| sc_service::Error::Application(Box::new(e) as Box<_>))?;
RelayChainError::ServiceError(polkadot_service::Error::Sub(x)) => x,
s => s.to_string().into(),
})?;
let import_queue_service = params.import_queue.service(); let import_queue_service = params.import_queue.service();
let (network, system_rpc_tx, tx_handler_controller, start_network, sync_service) = let (network, system_rpc_tx, tx_handler_controller, start_network, sync_service) =