mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 10:59:55 +00:00
[refactor] move new_payload_v4 into EngineAPI (#12445)
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
This commit is contained in:
@ -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`
|
||||||
|
|||||||
Reference in New Issue
Block a user