git.delta.rocks / unique-network / refs/commits / 026f1bb3e746

difftreelog

feat add frontier-mapping-sync

Yaroslav Bolyukin2021-07-27parent: #8ea0d1a.patch.diff
in: master

2 files changed

modifiednode/cli/Cargo.tomldiffbeforeafterboth

no syntactic changes

modifiednode/cli/src/service.rsdiffbeforeafterboth
10use std::sync::Mutex;10use std::sync::Mutex;
11use std::collections::BTreeMap;11use std::collections::BTreeMap;
12use std::collections::HashMap;12use std::collections::HashMap;
13use std::time::Duration;
14use futures::StreamExt;
1315
14// Local Runtime Types16// Local Runtime Types
15use nft_runtime::RuntimeApi;17use nft_runtime::RuntimeApi;
34use sp_keystore::SyncCryptoStorePtr;36use sp_keystore::SyncCryptoStorePtr;
35use sp_runtime::traits::BlakeTwo256;37use sp_runtime::traits::BlakeTwo256;
36use substrate_prometheus_endpoint::Registry;38use substrate_prometheus_endpoint::Registry;
39use sc_client_api::BlockchainEvents;
3740
38// Frontier Imports41// Frontier Imports
39use fc_rpc_core::types::FilterPool;42use fc_rpc_core::types::FilterPool;
40use fc_rpc_core::types::PendingTransactions;43use fc_rpc_core::types::PendingTransactions;
44use fc_mapping_sync::MappingSyncWorker;
4145
42// Runtime type overrides46// Runtime type overrides
43type BlockNumber = u32;47type BlockNumber = u32;
280 let is_authority = parachain_config.role.clone().is_authority();284 let is_authority = parachain_config.role.clone().is_authority();
281 let rpc_network = network.clone();285 let rpc_network = network.clone();
286
287 let rpc_frontier_backend = frontier_backend.clone();
282 let rpc_extensions_builder = Box::new(move |deny_unsafe, _| {288 let rpc_extensions_builder = Box::new(move |deny_unsafe, _| {
283 let full_deps = nft_rpc::FullDeps {289 let full_deps = nft_rpc::FullDeps {
284 backend: frontier_backend.clone(),290 backend: rpc_frontier_backend.clone(),
285 deny_unsafe,291 deny_unsafe,
286 client: rpc_client.clone(),292 client: rpc_client.clone(),
287 pool: rpc_pool.clone(),293 pool: rpc_pool.clone(),
299 nft_rpc::create_full::<_, _, _, RuntimeApi, _>(full_deps, subscription_executor.clone())305 nft_rpc::create_full::<_, _, _, RuntimeApi, _>(full_deps, subscription_executor.clone())
300 });306 });
307
308 task_manager.spawn_essential_handle().spawn(
309 "frontier-mapping-sync-worker",
310 MappingSyncWorker::new(
311 client.import_notification_stream(),
312 Duration::new(6, 0),
313 client.clone(),
314 backend.clone(),
315 frontier_backend.clone(),
316 ).for_each(|()| futures::future::ready(()))
317 );
301318
302 sc_service::spawn_tasks(sc_service::SpawnTasksParams {319 sc_service::spawn_tasks(sc_service::SpawnTasksParams {
303 on_demand: None,320 on_demand: None,