[refactor] move new_payload_v4 into EngineAPI (#12445)

Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
This commit is contained in:
Kien Trinh
2024-11-11 19:57:02 +07:00
committed by GitHub
parent b0329ee4d7
commit 0014248cd0

View File

@ -282,6 +282,30 @@ where
.inspect(|_| self.inner.on_new_payload_response())?) .inspect(|_| self.inner.on_new_payload_response())?)
} }
/// Metrics version of `new_payload_v4`
async fn new_payload_v4_metered(
&self,
payload: ExecutionPayloadV3,
versioned_hashes: Vec<B256>,
parent_beacon_block_root: B256,
execution_requests: Requests,
) -> RpcResult<PayloadStatus> {
let start = Instant::now();
let gas_used = payload.payload_inner.payload_inner.gas_used;
let res = Self::new_payload_v4(
self,
payload,
versioned_hashes,
parent_beacon_block_root,
execution_requests,
)
.await;
let elapsed = start.elapsed();
self.inner.metrics.latency.new_payload_v4.record(elapsed);
self.inner.metrics.new_payload_response.update_response_metrics(&res, gas_used, elapsed);
Ok(res?)
}
/// Sends a message to the beacon consensus engine to update the fork choice _without_ /// Sends a message to the beacon consensus engine to update the fork choice _without_
/// withdrawals. /// withdrawals.
/// ///
@ -754,20 +778,14 @@ where
execution_requests: Requests, execution_requests: Requests,
) -> RpcResult<PayloadStatus> { ) -> RpcResult<PayloadStatus> {
trace!(target: "rpc::engine", "Serving engine_newPayloadV4"); trace!(target: "rpc::engine", "Serving engine_newPayloadV4");
let start = Instant::now(); Ok(self
let gas_used = payload.payload_inner.payload_inner.gas_used; .new_payload_v4_metered(
let res = Self::new_payload_v4( payload,
self, versioned_hashes,
payload, parent_beacon_block_root,
versioned_hashes, execution_requests,
parent_beacon_block_root, )
execution_requests, .await?)
)
.await;
let elapsed = start.elapsed();
self.inner.metrics.latency.new_payload_v4.record(elapsed);
self.inner.metrics.new_payload_response.update_response_metrics(&res, gas_used, elapsed);
Ok(res?)
} }
/// Handler for `engine_forkchoiceUpdatedV1` /// Handler for `engine_forkchoiceUpdatedV1`