From 2bd73199c25e7eca0c1c0fbbc97f9f92d00de05d Mon Sep 17 00:00:00 2001 From: chirag-bgh <76247491+chirag-bgh@users.noreply.github.com> Date: Mon, 13 Mar 2023 19:07:39 +0530 Subject: [PATCH] chore(docs): add method name to RPC handler implementation (#1737) --- crates/rpc/rpc/src/admin.rs | 6 ++++++ crates/rpc/rpc/src/debug.rs | 5 +++++ crates/rpc/rpc/src/engine/mod.rs | 10 ++++++++++ crates/rpc/rpc/src/eth/filter.rs | 7 +++++++ crates/rpc/rpc/src/eth/pubsub.rs | 1 + crates/rpc/rpc/src/net.rs | 3 +++ crates/rpc/rpc/src/web3.rs | 2 ++ 7 files changed, 34 insertions(+) diff --git a/crates/rpc/rpc/src/admin.rs b/crates/rpc/rpc/src/admin.rs index eb0bbe8dfa..7921ecad8d 100644 --- a/crates/rpc/rpc/src/admin.rs +++ b/crates/rpc/rpc/src/admin.rs @@ -26,26 +26,31 @@ impl AdminApiServer for AdminApi where N: NetworkInfo + Peers + 'static, { + /// Handler for `admin_addPeer` fn add_peer(&self, record: NodeRecord) -> RpcResult { self.network.add_peer(record.id, record.tcp_addr()); Ok(true) } + /// Handler for `admin_removePeer` fn remove_peer(&self, record: NodeRecord) -> RpcResult { self.network.remove_peer(record.id, PeerKind::Basic); Ok(true) } + /// Handler for `admin_addTrustedPeer` fn add_trusted_peer(&self, record: NodeRecord) -> RpcResult { self.network.add_trusted_peer(record.id, record.tcp_addr()); Ok(true) } + /// Handler for `admin_removeTrustedPeer` fn remove_trusted_peer(&self, record: NodeRecord) -> RpcResult { self.network.remove_peer(record.id, PeerKind::Trusted); Ok(true) } + /// Handler for `admin_peerEvents` fn subscribe_peer_events( &self, _subscription_sink: jsonrpsee::SubscriptionSink, @@ -53,6 +58,7 @@ where todo!() } + /// Handler for `admin_nodeInfo` async fn node_info(&self) -> RpcResult { let enr = self.network.local_node_record(); let status = self.network.network_status().await.to_rpc_result()?; diff --git a/crates/rpc/rpc/src/debug.rs b/crates/rpc/rpc/src/debug.rs index 3fc9c23c46..8554072a1e 100644 --- a/crates/rpc/rpc/src/debug.rs +++ b/crates/rpc/rpc/src/debug.rs @@ -31,23 +31,28 @@ impl DebugApiServer for DebugApi where Eth: EthApiSpec + 'static, { + /// Handler for `debug_getRawHeader` async fn raw_header(&self, _block_id: BlockId) -> RpcResult { Err(internal_rpc_err("unimplemented")) } + /// Handler for `debug_getRawBlock` async fn raw_block(&self, _block_id: BlockId) -> RpcResult { Err(internal_rpc_err("unimplemented")) } + /// Handler for `debug_getRawTransaction` /// Returns the bytes of the transaction for the given hash. async fn raw_transaction(&self, _hash: H256) -> RpcResult { Err(internal_rpc_err("unimplemented")) } + /// Handler for `debug_getRawReceipts` async fn raw_receipts(&self, _block_id: BlockId) -> RpcResult> { Err(internal_rpc_err("unimplemented")) } + /// Handler for `debug_getBadBlocks` async fn bad_blocks(&self) -> RpcResult> { Err(internal_rpc_err("unimplemented")) } diff --git a/crates/rpc/rpc/src/engine/mod.rs b/crates/rpc/rpc/src/engine/mod.rs index 2b917d394b..1b943fd07f 100644 --- a/crates/rpc/rpc/src/engine/mod.rs +++ b/crates/rpc/rpc/src/engine/mod.rs @@ -58,6 +58,7 @@ impl EngineApi { #[async_trait] impl EngineApiServer for EngineApi { + /// Handler for `engine_getPayloadV1` /// See also /// Caution: This should not accept the `withdrawals` field async fn new_payload_v1(&self, payload: ExecutionPayload) -> Result { @@ -69,6 +70,7 @@ impl EngineApiServer for EngineApi { .await } + /// Handler for `engine_getPayloadV2` /// See also async fn new_payload_v2(&self, payload: ExecutionPayload) -> Result { let (tx, rx) = oneshot::channel(); @@ -79,6 +81,7 @@ impl EngineApiServer for EngineApi { .await } + /// Handler for `engine_forkchoiceUpdatedV1` /// See also /// /// Caution: This should not accept the `withdrawals` field @@ -100,6 +103,7 @@ impl EngineApiServer for EngineApi { .await } + /// Handler for `engine_forkchoiceUpdatedV2` /// See also async fn fork_choice_updated_v2( &self, @@ -119,6 +123,7 @@ impl EngineApiServer for EngineApi { .await } + /// Handler for `engine_getPayloadV1` /// See also /// /// Caution: This should not return the `withdrawals` field @@ -127,12 +132,14 @@ impl EngineApiServer for EngineApi { self.delegate_request(EngineApiMessage::GetPayload(payload_id, tx), rx).await } + /// Handler for `engine_getPayloadV2` /// See also async fn get_payload_v2(&self, payload_id: H64) -> Result { let (tx, rx) = oneshot::channel(); self.delegate_request(EngineApiMessage::GetPayload(payload_id, tx), rx).await } + /// Handler for `engine_getPayloadBodiesByHashV1` /// See also async fn get_payload_bodies_by_hash_v1( &self, @@ -142,6 +149,7 @@ impl EngineApiServer for EngineApi { self.delegate_request(EngineApiMessage::GetPayloadBodiesByHash(block_hashes, tx), rx).await } + /// Handler for `engine_getPayloadBodiesByRangeV1` /// See also async fn get_payload_bodies_by_range_v1( &self, @@ -152,6 +160,7 @@ impl EngineApiServer for EngineApi { self.delegate_request(EngineApiMessage::GetPayloadBodiesByRange(start, count, tx), rx).await } + /// Handler for `engine_exchangeTransitionConfigurationV1` /// See also async fn exchange_transition_configuration( &self, @@ -162,6 +171,7 @@ impl EngineApiServer for EngineApi { .await } + /// Handler for `engine_exchangeCapabilitiesV1` /// See also async fn exchange_capabilities(&self, _capabilities: Vec) -> Result> { Ok(CAPABILITIES.into_iter().map(str::to_owned).collect()) diff --git a/crates/rpc/rpc/src/eth/filter.rs b/crates/rpc/rpc/src/eth/filter.rs index edaf73c97d..a835d28f25 100644 --- a/crates/rpc/rpc/src/eth/filter.rs +++ b/crates/rpc/rpc/src/eth/filter.rs @@ -54,18 +54,22 @@ where Client: BlockProvider + EvmEnvProvider + 'static, Pool: TransactionPool + 'static, { + /// Handler for `eth_newFilter` async fn new_filter(&self, filter: Filter) -> RpcResult { self.inner.install_filter(FilterKind::Log(Box::new(filter))).await } + /// Handler for `eth_newBlockFilter` async fn new_block_filter(&self) -> RpcResult { self.inner.install_filter(FilterKind::Block).await } + /// Handler for `eth_newPendingTransactionFilter` async fn new_pending_transaction_filter(&self) -> RpcResult { self.inner.install_filter(FilterKind::PendingTransaction).await } + /// Handler for `eth_getFilterChanges` async fn filter_changes(&self, id: FilterId) -> RpcResult { let info = self.inner.client.chain_info().to_rpc_result()?; let best_number = info.best_number; @@ -136,10 +140,12 @@ where } } + /// Handler for `eth_getFilterLogs` async fn filter_logs(&self, _id: FilterId) -> RpcResult> { todo!() } + /// Handler for `eth_uninstallFilter` async fn uninstall_filter(&self, id: FilterId) -> RpcResult { let mut filters = self.inner.active_filters.inner.lock().await; if filters.remove(&id).is_some() { @@ -150,6 +156,7 @@ where } } + /// Handler for `eth_getLogs` async fn logs(&self, _filter: Filter) -> RpcResult> { todo!() } diff --git a/crates/rpc/rpc/src/eth/pubsub.rs b/crates/rpc/rpc/src/eth/pubsub.rs index 01064fdb21..fa08bf95ef 100644 --- a/crates/rpc/rpc/src/eth/pubsub.rs +++ b/crates/rpc/rpc/src/eth/pubsub.rs @@ -60,6 +60,7 @@ where Events: ChainEventSubscriptions + Clone + 'static, Network: SyncStateProvider + Clone + 'static, { + /// Handler for `eth_subscribe` fn subscribe( &self, mut sink: SubscriptionSink, diff --git a/crates/rpc/rpc/src/net.rs b/crates/rpc/rpc/src/net.rs index c0e9e03861..6f6ec7d38b 100644 --- a/crates/rpc/rpc/src/net.rs +++ b/crates/rpc/rpc/src/net.rs @@ -29,14 +29,17 @@ where Net: PeersInfo + 'static, Eth: EthApiSpec + 'static, { + /// Handler for `net_version` fn version(&self) -> Result { Ok(self.eth.chain_id().to_string()) } + /// Handler for `net_peerCount` fn peer_count(&self) -> Result { Ok(PeerCount::Hex(self.network.num_connected_peers().into())) } + /// Handler for `net_listening` fn is_listening(&self) -> Result { Ok(true) } diff --git a/crates/rpc/rpc/src/web3.rs b/crates/rpc/rpc/src/web3.rs index e5476f5bcd..e3b600f945 100644 --- a/crates/rpc/rpc/src/web3.rs +++ b/crates/rpc/rpc/src/web3.rs @@ -25,11 +25,13 @@ impl Web3ApiServer for Web3Api where N: NetworkInfo + 'static, { + /// Handler for `web3_clientVersion` async fn client_version(&self) -> RpcResult { let status = self.network.network_status().await.to_rpc_result()?; Ok(status.client_version) } + /// Handler for `web3_sha3` fn sha3(&self, input: Bytes) -> RpcResult { Ok(keccak256(input)) }