,
/// Executor to drive the subscription manager in the BEEFY RPC handler.
pub subscription_executor: sc_rpc::SubscriptionTaskExecutor,
}
/// Full client dependencies.
pub struct FullDeps
where
Runtime: StorageEnableRuntime,
{
/// The client instance to use.
pub client: Arc>,
/// Transaction pool instance.
pub pool: Arc,
/// BEEFY dependencies.
pub beefy: BeefyDeps,
/// Graph pool instance.
pub graph: Arc>,
/// Backend used by the node.
pub backend: Arc,
/// Network service
pub network: Arc,
/// Chain syncing service
pub sync: Arc>,
/// EthFilterApi pool.
pub filter_pool: Option,
/// Frontier Backend.
pub frontier_backend: Arc>,
/// Maximum number of logs in a query.
pub max_past_logs: u32,
/// Maximum fee history cache size.
pub fee_history_limit: u64,
/// Fee history cache.
pub fee_history_cache: FeeHistoryCache,
/// Ethereum data access overrides.
pub overrides: Arc>,
/// Cache for Ethereum block data.
pub block_data_cache: Arc>,
/// The Node authority flag
pub is_authority: bool,
/// Manual seal command sink
pub command_sink: Option>>,
/// Mandated parent hashes for a given block hash.
pub forced_parent_hashes: Option>,
/// Storage Hub RPC config
pub maybe_storage_hub_client_config: Option>,
}
/// Instantiate all full RPC extensions.
pub fn create_full(
deps: FullDeps
,
subscription_task_executor: sc_rpc::SubscriptionTaskExecutor,
pubsub_notification_sinks: Arc<
fc_mapping_sync::EthereumBlockNotificationSinks<
fc_mapping_sync::EthereumBlockNotification,
>,
>,
) -> Result, Box>
where
P: TransactionPool + 'static,
BE: Backend + Send + Sync + 'static,
BE::State: StateBackend,
AuthorityId: AuthorityIdBound,
A: ChainApi + 'static,
Runtime: StorageEnableRuntime,
Runtime::RuntimeApi: StorageEnableRuntimeApi<
RuntimeApi: mmr_rpc::MmrRuntimeApi<
Block,
::Hash,
BlockNumber,
> + EthereumRuntimeRPCApi