From ba850169b4e17d313c1567ca1a2b4f981977c2fe Mon Sep 17 00:00:00 2001 From: Dan Cline <6798349+Rjected@users.noreply.github.com> Date: Tue, 5 Sep 2023 17:57:48 -0400 Subject: [PATCH] feat(engine): enable v3 endpoints (#4490) --- crates/rpc/rpc-engine-api/src/engine_api.rs | 25 +++++++++++---------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/crates/rpc/rpc-engine-api/src/engine_api.rs b/crates/rpc/rpc-engine-api/src/engine_api.rs index 136e589cd1..30fb4826c7 100644 --- a/crates/rpc/rpc-engine-api/src/engine_api.rs +++ b/crates/rpc/rpc-engine-api/src/engine_api.rs @@ -472,11 +472,13 @@ where /// See also async fn new_payload_v3( &self, - _payload: ExecutionPayloadV3, - _versioned_hashes: Vec, - _parent_beacon_block_root: H256, + payload: ExecutionPayloadV3, + versioned_hashes: Vec, + parent_beacon_block_root: H256, ) -> RpcResult { - Err(jsonrpsee_types::error::ErrorCode::MethodNotFound.into()) + trace!(target: "rpc::engine", "Serving engine_newPayloadV3"); + Ok(EngineApi::new_payload_v3(self, payload, versioned_hashes, parent_beacon_block_root) + .await?) } /// Handler for `engine_forkchoiceUpdatedV1` @@ -508,10 +510,11 @@ where /// See also async fn fork_choice_updated_v3( &self, - _fork_choice_state: ForkchoiceState, - _payload_attributes: Option, + fork_choice_state: ForkchoiceState, + payload_attributes: Option, ) -> RpcResult { - Err(jsonrpsee_types::error::ErrorCode::MethodNotFound.into()) + trace!(target: "rpc::engine", "Serving engine_forkchoiceUpdatedV3"); + Ok(EngineApi::fork_choice_updated_v3(self, fork_choice_state, payload_attributes).await?) } /// Handler for `engine_getPayloadV1` @@ -553,11 +556,9 @@ where /// /// Note: /// > Provider software MAY stop the corresponding build process after serving this call. - async fn get_payload_v3( - &self, - _payload_id: PayloadId, - ) -> RpcResult { - Err(jsonrpsee_types::error::ErrorCode::MethodNotFound.into()) + async fn get_payload_v3(&self, payload_id: PayloadId) -> RpcResult { + trace!(target: "rpc::engine", "Serving engine_getPayloadV3"); + Ok(EngineApi::get_payload_v3(self, payload_id).await?) } /// Handler for `engine_getPayloadBodiesByHashV1`