Merge conflicts

This commit is contained in:
Eitan Seri-Levi
2026-04-30 09:48:04 +02:00
86 changed files with 2835 additions and 1038 deletions

View File

@@ -924,12 +924,12 @@ impl HttpJsonRpc {
Ok(response.into())
}
// TODO(EIP7805) fix new payload if needed
pub async fn new_payload_v4_eip7805<E: EthSpec>(
// TODO(HEZE) fix new payload if needed
pub async fn new_payload_v4_heze<E: EthSpec>(
&self,
new_payload_request_eip7805: NewPayloadRequestEip7805<'_, E>,
new_payload_request_heze: NewPayloadRequestHeze<'_, E>,
) -> Result<PayloadStatusV1, Error> {
let il_transactions: Vec<String> = new_payload_request_eip7805
let il_transactions: Vec<String> = new_payload_request_heze
.il_transactions
.into_iter()
.map(|tx| {
@@ -939,21 +939,21 @@ impl HttpJsonRpc {
.collect();
let params = json!([
JsonExecutionPayload::Eip7805(
new_payload_request_eip7805
JsonExecutionPayload::Heze(
new_payload_request_heze
.execution_payload
.clone()
.try_into()?
),
new_payload_request_eip7805.versioned_hashes,
new_payload_request_eip7805.parent_beacon_block_root,
new_payload_request_eip7805
new_payload_request_heze.versioned_hashes,
new_payload_request_heze.parent_beacon_block_root,
new_payload_request_heze
.execution_requests
.get_execution_requests_list(),
il_transactions
]);
// TODO(eip7805) should be v5 i think
// TODO(heze) should be v5 i think
let response: JsonPayloadStatusV1 = self
.rpc_request(
ENGINE_NEW_PAYLOAD_V4,
@@ -994,6 +994,35 @@ impl HttpJsonRpc {
Ok(response.into())
}
pub async fn new_payload_v5_heze<E: EthSpec>(
&self,
new_payload_request_heze: NewPayloadRequestHeze<'_, E>,
) -> Result<PayloadStatusV1, Error> {
let params = json!([
JsonExecutionPayload::Heze(
new_payload_request_heze
.execution_payload
.clone()
.try_into()?
),
new_payload_request_heze.versioned_hashes,
new_payload_request_heze.parent_beacon_block_root,
new_payload_request_heze
.execution_requests
.get_execution_requests_list(),
]);
let response: JsonPayloadStatusV1 = self
.rpc_request(
ENGINE_NEW_PAYLOAD_V5,
params,
ENGINE_NEW_PAYLOAD_TIMEOUT * self.execution_timeout_multiplier,
)
.await?;
Ok(response.into())
}
pub async fn get_payload_v1<E: EthSpec>(
&self,
payload_id: PayloadId,
@@ -1103,8 +1132,8 @@ impl HttpJsonRpc {
.try_into()
.map_err(Error::BadResponse)
}
ForkName::Eip7805 => {
let response: JsonGetPayloadResponseEip7805<E> = self
ForkName::Heze => {
let response: JsonGetPayloadResponseHeze<E> = self
.rpc_request(
ENGINE_GET_PAYLOAD_V4,
params,
@@ -1112,7 +1141,7 @@ impl HttpJsonRpc {
)
.await?;
JsonGetPayloadResponse::Eip7805(response)
JsonGetPayloadResponse::Heze(response)
.try_into()
.map_err(Error::BadResponse)
}
@@ -1143,15 +1172,15 @@ impl HttpJsonRpc {
.try_into()
.map_err(Error::BadResponse)
}
ForkName::Eip7805 => {
let response: JsonGetPayloadResponseEip7805<E> = self
ForkName::Heze => {
let response: JsonGetPayloadResponseHeze<E> = self
.rpc_request(
ENGINE_GET_PAYLOAD_V5,
params,
ENGINE_GET_PAYLOAD_TIMEOUT * self.execution_timeout_multiplier,
)
.await?;
JsonGetPayloadResponse::Eip7805(response)
JsonGetPayloadResponse::Heze(response)
.try_into()
.map_err(Error::BadResponse)
}
@@ -1182,6 +1211,18 @@ impl HttpJsonRpc {
.try_into()
.map_err(Error::BadResponse)
}
ForkName::Heze => {
let response: JsonGetPayloadResponseHeze<E> = self
.rpc_request(
ENGINE_GET_PAYLOAD_V6,
params,
ENGINE_GET_PAYLOAD_TIMEOUT * self.execution_timeout_multiplier,
)
.await?;
JsonGetPayloadResponse::Heze(response)
.try_into()
.map_err(Error::BadResponse)
}
_ => Err(Error::UnsupportedForkVariant(format!(
"called get_payload_v6 with {}",
fork_name
@@ -1500,10 +1541,10 @@ impl HttpJsonRpc {
Err(Error::RequiredMethodUnsupported("engine_newPayloadV4"))
}
}
// TODO(EIP7805) engine capabilties should be v5?
NewPayloadRequest::Eip7805(new_payload_request_eip7805) => {
// TODO(HEZE) engine capabilties should be v5?
NewPayloadRequest::Heze(new_payload_request_heze) => {
if engine_capabilities.new_payload_v4 {
self.new_payload_v4_eip7805(new_payload_request_eip7805)
self.new_payload_v4_heze(new_payload_request_heze)
.await
} else {
Err(Error::RequiredMethodUnsupported("engine_newPayloadV4"))
@@ -1516,6 +1557,13 @@ impl HttpJsonRpc {
Err(Error::RequiredMethodUnsupported("engine_newPayloadV5"))
}
}
NewPayloadRequest::Heze(new_payload_request_heze) => {
if engine_capabilities.new_payload_v5 {
self.new_payload_v5_heze(new_payload_request_heze).await
} else {
Err(Error::RequiredMethodUnsupported("engine_newPayloadV5"))
}
}
}
}
@@ -1551,7 +1599,7 @@ impl HttpJsonRpc {
Err(Error::RequiredMethodUnsupported("engine_getPayloadv4"))
}
}
ForkName::Eip7805 => {
ForkName::Heze => {
if engine_capabilities.get_payload_v4 {
self.get_payload_v4(fork_name, payload_id).await
} else {
@@ -1572,6 +1620,13 @@ impl HttpJsonRpc {
Err(Error::RequiredMethodUnsupported("engine_getPayloadV6"))
}
}
ForkName::Heze => {
if engine_capabilities.get_payload_v6 {
self.get_payload_v6(fork_name, payload_id).await
} else {
Err(Error::RequiredMethodUnsupported("engine_getPayloadV6"))
}
}
ForkName::Base | ForkName::Altair => Err(Error::UnsupportedForkVariant(format!(
"called get_payload with {}",
fork_name