mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 10:31:03 +00:00
* Companion PR for Substrate #5375 * fix compilation * Update rpc/Cargo.toml * update substrate Co-authored-by: André Silva <andre.beat@gmail.com> Co-authored-by: Benjamin Kampmann <ben@gnunicorn.org>
This commit is contained in:
@@ -26,7 +26,7 @@ use polkadot_primitives::{parachain, Hash, BlockId, AccountId, Nonce, Balance};
|
||||
#[cfg(feature = "full-node")]
|
||||
use polkadot_network::{legacy::gossip::Known, protocol as network_protocol};
|
||||
use service::{error::Error as ServiceError, ServiceBuilder};
|
||||
use grandpa::{self, FinalityProofProvider as GrandpaFinalityProofProvider};
|
||||
use grandpa::{self, FinalityProofProvider as GrandpaFinalityProofProvider, SharedVoterState};
|
||||
use sc_executor::native_executor_instance;
|
||||
use log::info;
|
||||
pub use service::{
|
||||
@@ -151,6 +151,7 @@ macro_rules! new_full_start {
|
||||
set_prometheus_registry(&mut $config)?;
|
||||
|
||||
let mut import_setup = None;
|
||||
let mut rpc_setup = None;
|
||||
let inherent_data_providers = inherents::InherentDataProviders::new();
|
||||
let builder = service::ServiceBuilder::new_full::<
|
||||
Block, $runtime, $executor
|
||||
@@ -203,10 +204,19 @@ macro_rules! new_full_start {
|
||||
Ok(import_queue)
|
||||
})?
|
||||
.with_rpc_extensions(|builder| -> Result<polkadot_rpc::RpcExtension, _> {
|
||||
Ok(polkadot_rpc::create_full(builder.client().clone(), builder.pool()))
|
||||
let grandpa_link = import_setup.as_ref().map(|s| &s.1)
|
||||
.expect("GRANDPA LinkHalf is present for full services or set up failed; qed.");
|
||||
let shared_authority_set = grandpa_link.shared_authority_set();
|
||||
let shared_voter_state = SharedVoterState::empty();
|
||||
let grandpa_deps = polkadot_rpc::GrandpaDeps {
|
||||
shared_voter_state: shared_voter_state.clone(),
|
||||
shared_authority_set: shared_authority_set.clone(),
|
||||
};
|
||||
rpc_setup = Some((shared_voter_state));
|
||||
Ok(polkadot_rpc::create_full(builder.client().clone(), builder.pool(), grandpa_deps))
|
||||
})?;
|
||||
|
||||
(builder, import_setup, inherent_data_providers)
|
||||
(builder, import_setup, inherent_data_providers, rpc_setup)
|
||||
}}
|
||||
}
|
||||
|
||||
@@ -241,7 +251,8 @@ macro_rules! new_full {
|
||||
let authority_discovery_enabled = $authority_discovery_enabled;
|
||||
let slot_duration = $slot_duration;
|
||||
|
||||
let (builder, mut import_setup, inherent_data_providers) = new_full_start!($config, $runtime, $dispatch);
|
||||
let (builder, mut import_setup, inherent_data_providers, mut rpc_setup) =
|
||||
new_full_start!($config, $runtime, $dispatch);
|
||||
|
||||
let backend = builder.backend().clone();
|
||||
|
||||
@@ -255,6 +266,9 @@ macro_rules! new_full {
|
||||
let (block_import, link_half, babe_link) = import_setup.take()
|
||||
.expect("Link Half and Block Import are present for Full Services or setup failed before. qed");
|
||||
|
||||
let shared_voter_state = rpc_setup.take()
|
||||
.expect("The SharedVoterState is present for Full Services or setup failed before. qed");
|
||||
|
||||
let client = service.client();
|
||||
let known_oracle = client.clone();
|
||||
|
||||
@@ -470,6 +484,7 @@ macro_rules! new_full {
|
||||
telemetry_on_connect: Some(service.telemetry_on_connect_stream()),
|
||||
voting_rule,
|
||||
prometheus_registry: service.prometheus_registry(),
|
||||
shared_voter_state,
|
||||
};
|
||||
|
||||
service.spawn_essential_task(
|
||||
|
||||
Reference in New Issue
Block a user