pub fn create<C, BE, P, A, CT, B, CIDP>(
io: RpcModule<()>,
deps: EvmDeps<C, P, A, CT, B, CIDP>,
subscription_task_executor: SubscriptionTaskExecutor,
pubsub_notification_sinks: Arc<EthereumBlockNotificationSinks<EthereumBlockNotification<B>>>
) -> Result<RpcModule<()>, Box<dyn Error + Send + Sync>>where
B: BlockT<Hash = H256>,
C: ProvideRuntimeApi<B> + BlockchainEvents<B> + 'static + HeaderBackend<B> + HeaderMetadata<B, Error = Error> + StorageProvider<B, BE> + CallApiAt<B> + AuxStore + UsageProvider<B>,
C::Api: BlockBuilderApi<B> + EthereumRuntimeRPCApi<B> + ConvertTransactionRuntimeApi<B> + AuraApi<B, AuthorityId>,
BE: Backend<B> + 'static,
BE::State: StateBackend<BlakeTwo256>,
P: TransactionPool<Block = B> + 'static,
A: ChainApi<Block = B> + 'static,
CT: ConvertTransaction<<B as BlockT>::Extrinsic> +
Send +
Sync + 'static,
CIDP: CreateInherentDataProviders<B,
()> +
Send + 'static,