mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 22:11:02 +00:00
Expose GRANDPA RPC API from Millau node (#408)
* expose GRANDPA RPC API from Millau node * fmt
This commit is contained in:
committed by
Bastian Köcher
parent
f52c839d6e
commit
6167e50238
@@ -28,6 +28,7 @@ sc-consensus = "0.8"
|
||||
sc-consensus-aura = "0.8"
|
||||
sc-executor = "0.8"
|
||||
sc-finality-grandpa = "0.8"
|
||||
sc-finality-grandpa-rpc = "0.8"
|
||||
sc-service = "0.8"
|
||||
sc-rpc = "2.0"
|
||||
sc-transaction-pool = "2.0"
|
||||
|
||||
@@ -33,6 +33,7 @@ use sc_client_api::{ExecutorProvider, RemoteBackend};
|
||||
use sc_executor::native_executor_instance;
|
||||
pub use sc_executor::NativeExecutor;
|
||||
use sc_finality_grandpa::{FinalityProofProvider as GrandpaFinalityProofProvider, SharedVoterState};
|
||||
use sc_finality_grandpa_rpc::GrandpaRpcHandler;
|
||||
use sc_service::{error::Error as ServiceError, Configuration, TaskManager};
|
||||
use sp_consensus_aura::sr25519::AuthorityPair as AuraPair;
|
||||
use sp_inherents::InherentDataProviders;
|
||||
@@ -160,19 +161,33 @@ pub fn new_full(config: Configuration) -> Result<TaskManager, ServiceError> {
|
||||
let telemetry_connection_sinks = sc_service::TelemetryConnectionSinks::default();
|
||||
|
||||
let rpc_extensions_builder = {
|
||||
use sc_finality_grandpa_rpc::GrandpaApi;
|
||||
use sc_rpc::DenyUnsafe;
|
||||
use substrate_frame_rpc_system::{FullSystem, SystemApi};
|
||||
|
||||
let client = client.clone();
|
||||
let pool = transaction_pool.clone();
|
||||
|
||||
Box::new(move |_, _| {
|
||||
let justification_stream = grandpa_link.justification_stream();
|
||||
let shared_authority_set = grandpa_link.shared_authority_set().clone();
|
||||
let finality_proof_provider = GrandpaFinalityProofProvider::new_for_service(backend.clone(), client.clone());
|
||||
|
||||
Box::new(move |_, subscription_executor| {
|
||||
let shared_voter_state = SharedVoterState::empty();
|
||||
|
||||
let mut io = jsonrpc_core::IoHandler::default();
|
||||
io.extend_with(SystemApi::to_delegate(FullSystem::new(
|
||||
client.clone(),
|
||||
pool.clone(),
|
||||
DenyUnsafe::No,
|
||||
)));
|
||||
io.extend_with(GrandpaApi::to_delegate(GrandpaRpcHandler::new(
|
||||
shared_authority_set.clone(),
|
||||
shared_voter_state,
|
||||
justification_stream.clone(),
|
||||
subscription_executor,
|
||||
finality_proof_provider.clone(),
|
||||
)));
|
||||
|
||||
io
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user