Expose build_system_rpc_future and TransactionPoolAdapator in sc-service (#14238)

* Make block sync service customizable

This change allows user to have their own network block logic, for example, we'd like to disable
the builtin block sync service when using another syncing approach.

* Remove unnecessary Box

* Revert network_block

* Expose build_system_rpc_future() and TransactionPoolAdaptor

* fmt
This commit is contained in:
Liu-Cheng Xu
2023-05-31 18:27:06 +04:00
committed by GitHub
parent c7c5fc709c
commit 968795db28
2 changed files with 9 additions and 1 deletions
+1
View File
@@ -749,6 +749,7 @@ pub struct BuildNetworkParams<'a, TBl: BlockT, TExPool, TImpQu, TCl> {
/// Optional warp sync params.
pub warp_sync_params: Option<WarpSyncParams<TBl>>,
}
/// Build the network service, the network status sinks and an RPC sender.
pub fn build_network<TBl, TExPool, TImpQu, TCl>(
params: BuildNetworkParams<TBl, TExPool, TImpQu, TCl>,
+8 -1
View File
@@ -211,7 +211,7 @@ async fn build_network_future<
}
/// Builds a future that processes system RPC requests.
async fn build_system_rpc_future<
pub async fn build_system_rpc_future<
B: BlockT,
C: BlockchainEvents<B>
+ HeaderBackend<B>
@@ -421,6 +421,13 @@ pub struct TransactionPoolAdapter<C, P> {
client: Arc<C>,
}
impl<C, P> TransactionPoolAdapter<C, P> {
/// Constructs a new instance of [`TransactionPoolAdapter`].
pub fn new(pool: Arc<P>, client: Arc<C>) -> Self {
Self { pool, client }
}
}
/// Get transactions for propagation.
///
/// Function extracted to simplify the test and prevent creating `ServiceFactory`.