mirror of
https://github.com/sigp/lighthouse.git
synced 2026-05-08 09:16:00 +00:00
Update builder api for electra
This commit is contained in:
@@ -121,8 +121,7 @@ impl<E: EthSpec> TryFrom<BuilderBid<E>> for ProvenancedPayload<BlockProposalCont
|
|||||||
block_value: builder_bid.value,
|
block_value: builder_bid.value,
|
||||||
kzg_commitments: builder_bid.blob_kzg_commitments,
|
kzg_commitments: builder_bid.blob_kzg_commitments,
|
||||||
blobs_and_proofs: None,
|
blobs_and_proofs: None,
|
||||||
// TODO(electra): update this with builder api returning the requests
|
requests: Some(builder_bid.execution_requests),
|
||||||
requests: None,
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
Ok(ProvenancedPayload::Builder(
|
Ok(ProvenancedPayload::Builder(
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
use crate::test_utils::{DEFAULT_BUILDER_PAYLOAD_VALUE_WEI, DEFAULT_JWT_SECRET};
|
use crate::test_utils::DEFAULT_JWT_SECRET;
|
||||||
use crate::{Config, ExecutionLayer, PayloadAttributes};
|
use crate::{Config, ExecutionLayer, PayloadAttributes};
|
||||||
use eth2::types::{BlobsBundle, BlockId, StateId, ValidatorId};
|
use eth2::types::{BlobsBundle, BlockId, StateId, ValidatorId};
|
||||||
use eth2::{BeaconNodeHttpClient, Timeouts, CONSENSUS_VERSION_HEADER};
|
use eth2::{BeaconNodeHttpClient, Timeouts, CONSENSUS_VERSION_HEADER};
|
||||||
@@ -543,7 +543,7 @@ pub fn serve<E: EthSpec>(
|
|||||||
let mut message = match payload_response_type {
|
let mut message = match payload_response_type {
|
||||||
crate::GetPayloadResponseType::Full(payload_response) => {
|
crate::GetPayloadResponseType::Full(payload_response) => {
|
||||||
#[allow(clippy::type_complexity)]
|
#[allow(clippy::type_complexity)]
|
||||||
let (payload, _block_value, maybe_blobs_bundle, _maybe_requests): (
|
let (payload, value, maybe_blobs_bundle, maybe_requests): (
|
||||||
ExecutionPayload<E>,
|
ExecutionPayload<E>,
|
||||||
Uint256,
|
Uint256,
|
||||||
Option<BlobsBundle<E>>,
|
Option<BlobsBundle<E>>,
|
||||||
@@ -559,8 +559,9 @@ pub fn serve<E: EthSpec>(
|
|||||||
blob_kzg_commitments: maybe_blobs_bundle
|
blob_kzg_commitments: maybe_blobs_bundle
|
||||||
.map(|b| b.commitments)
|
.map(|b| b.commitments)
|
||||||
.unwrap_or_default(),
|
.unwrap_or_default(),
|
||||||
value: Uint256::from(DEFAULT_BUILDER_PAYLOAD_VALUE_WEI),
|
value,
|
||||||
pubkey: builder.builder_sk.public_key().compress(),
|
pubkey: builder.builder_sk.public_key().compress(),
|
||||||
|
execution_requests: maybe_requests.unwrap_or_default(),
|
||||||
}),
|
}),
|
||||||
ForkName::Deneb => BuilderBid::Deneb(BuilderBidDeneb {
|
ForkName::Deneb => BuilderBid::Deneb(BuilderBidDeneb {
|
||||||
header: payload
|
header: payload
|
||||||
@@ -570,7 +571,7 @@ pub fn serve<E: EthSpec>(
|
|||||||
blob_kzg_commitments: maybe_blobs_bundle
|
blob_kzg_commitments: maybe_blobs_bundle
|
||||||
.map(|b| b.commitments)
|
.map(|b| b.commitments)
|
||||||
.unwrap_or_default(),
|
.unwrap_or_default(),
|
||||||
value: Uint256::from(DEFAULT_BUILDER_PAYLOAD_VALUE_WEI),
|
value,
|
||||||
pubkey: builder.builder_sk.public_key().compress(),
|
pubkey: builder.builder_sk.public_key().compress(),
|
||||||
}),
|
}),
|
||||||
ForkName::Capella => BuilderBid::Capella(BuilderBidCapella {
|
ForkName::Capella => BuilderBid::Capella(BuilderBidCapella {
|
||||||
@@ -578,7 +579,7 @@ pub fn serve<E: EthSpec>(
|
|||||||
.as_capella()
|
.as_capella()
|
||||||
.map_err(|_| reject("incorrect payload variant"))?
|
.map_err(|_| reject("incorrect payload variant"))?
|
||||||
.into(),
|
.into(),
|
||||||
value: Uint256::from(DEFAULT_BUILDER_PAYLOAD_VALUE_WEI),
|
value,
|
||||||
pubkey: builder.builder_sk.public_key().compress(),
|
pubkey: builder.builder_sk.public_key().compress(),
|
||||||
}),
|
}),
|
||||||
ForkName::Bellatrix => BuilderBid::Bellatrix(BuilderBidBellatrix {
|
ForkName::Bellatrix => BuilderBid::Bellatrix(BuilderBidBellatrix {
|
||||||
@@ -586,7 +587,7 @@ pub fn serve<E: EthSpec>(
|
|||||||
.as_bellatrix()
|
.as_bellatrix()
|
||||||
.map_err(|_| reject("incorrect payload variant"))?
|
.map_err(|_| reject("incorrect payload variant"))?
|
||||||
.into(),
|
.into(),
|
||||||
value: Uint256::from(DEFAULT_BUILDER_PAYLOAD_VALUE_WEI),
|
value,
|
||||||
pubkey: builder.builder_sk.public_key().compress(),
|
pubkey: builder.builder_sk.public_key().compress(),
|
||||||
}),
|
}),
|
||||||
ForkName::Base | ForkName::Altair => {
|
ForkName::Base | ForkName::Altair => {
|
||||||
@@ -596,7 +597,7 @@ pub fn serve<E: EthSpec>(
|
|||||||
}
|
}
|
||||||
crate::GetPayloadResponseType::Blinded(payload_response) => {
|
crate::GetPayloadResponseType::Blinded(payload_response) => {
|
||||||
#[allow(clippy::type_complexity)]
|
#[allow(clippy::type_complexity)]
|
||||||
let (payload, _block_value, maybe_blobs_bundle, _maybe_requests): (
|
let (payload, value, maybe_blobs_bundle, maybe_requests): (
|
||||||
ExecutionPayload<E>,
|
ExecutionPayload<E>,
|
||||||
Uint256,
|
Uint256,
|
||||||
Option<BlobsBundle<E>>,
|
Option<BlobsBundle<E>>,
|
||||||
@@ -611,8 +612,9 @@ pub fn serve<E: EthSpec>(
|
|||||||
blob_kzg_commitments: maybe_blobs_bundle
|
blob_kzg_commitments: maybe_blobs_bundle
|
||||||
.map(|b| b.commitments)
|
.map(|b| b.commitments)
|
||||||
.unwrap_or_default(),
|
.unwrap_or_default(),
|
||||||
value: Uint256::from(DEFAULT_BUILDER_PAYLOAD_VALUE_WEI),
|
value,
|
||||||
pubkey: builder.builder_sk.public_key().compress(),
|
pubkey: builder.builder_sk.public_key().compress(),
|
||||||
|
execution_requests: maybe_requests.unwrap_or_default(),
|
||||||
}),
|
}),
|
||||||
ForkName::Deneb => BuilderBid::Deneb(BuilderBidDeneb {
|
ForkName::Deneb => BuilderBid::Deneb(BuilderBidDeneb {
|
||||||
header: payload
|
header: payload
|
||||||
@@ -622,7 +624,7 @@ pub fn serve<E: EthSpec>(
|
|||||||
blob_kzg_commitments: maybe_blobs_bundle
|
blob_kzg_commitments: maybe_blobs_bundle
|
||||||
.map(|b| b.commitments)
|
.map(|b| b.commitments)
|
||||||
.unwrap_or_default(),
|
.unwrap_or_default(),
|
||||||
value: Uint256::from(DEFAULT_BUILDER_PAYLOAD_VALUE_WEI),
|
value,
|
||||||
pubkey: builder.builder_sk.public_key().compress(),
|
pubkey: builder.builder_sk.public_key().compress(),
|
||||||
}),
|
}),
|
||||||
ForkName::Capella => BuilderBid::Capella(BuilderBidCapella {
|
ForkName::Capella => BuilderBid::Capella(BuilderBidCapella {
|
||||||
@@ -630,7 +632,7 @@ pub fn serve<E: EthSpec>(
|
|||||||
.as_capella()
|
.as_capella()
|
||||||
.map_err(|_| reject("incorrect payload variant"))?
|
.map_err(|_| reject("incorrect payload variant"))?
|
||||||
.into(),
|
.into(),
|
||||||
value: Uint256::from(DEFAULT_BUILDER_PAYLOAD_VALUE_WEI),
|
value,
|
||||||
pubkey: builder.builder_sk.public_key().compress(),
|
pubkey: builder.builder_sk.public_key().compress(),
|
||||||
}),
|
}),
|
||||||
ForkName::Bellatrix => BuilderBid::Bellatrix(BuilderBidBellatrix {
|
ForkName::Bellatrix => BuilderBid::Bellatrix(BuilderBidBellatrix {
|
||||||
@@ -638,7 +640,7 @@ pub fn serve<E: EthSpec>(
|
|||||||
.as_bellatrix()
|
.as_bellatrix()
|
||||||
.map_err(|_| reject("incorrect payload variant"))?
|
.map_err(|_| reject("incorrect payload variant"))?
|
||||||
.into(),
|
.into(),
|
||||||
value: Uint256::from(DEFAULT_BUILDER_PAYLOAD_VALUE_WEI),
|
value,
|
||||||
pubkey: builder.builder_sk.public_key().compress(),
|
pubkey: builder.builder_sk.public_key().compress(),
|
||||||
}),
|
}),
|
||||||
ForkName::Base | ForkName::Altair => {
|
ForkName::Base | ForkName::Altair => {
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ pub use execution_block_generator::{
|
|||||||
static_valid_tx, Block, ExecutionBlockGenerator,
|
static_valid_tx, Block, ExecutionBlockGenerator,
|
||||||
};
|
};
|
||||||
pub use hook::Hook;
|
pub use hook::Hook;
|
||||||
pub use mock_builder::{MockBuilder, Operation};
|
pub use mock_builder::{MockBuilder, Operation, serve as serve_mock_builder};
|
||||||
pub use mock_execution_layer::MockExecutionLayer;
|
pub use mock_execution_layer::MockExecutionLayer;
|
||||||
|
|
||||||
pub const DEFAULT_TERMINAL_DIFFICULTY: u64 = 6400;
|
pub const DEFAULT_TERMINAL_DIFFICULTY: u64 = 6400;
|
||||||
|
|||||||
@@ -2,7 +2,8 @@ use crate::beacon_block_body::KzgCommitments;
|
|||||||
use crate::{
|
use crate::{
|
||||||
ChainSpec, EthSpec, ExecutionPayloadHeaderBellatrix, ExecutionPayloadHeaderCapella,
|
ChainSpec, EthSpec, ExecutionPayloadHeaderBellatrix, ExecutionPayloadHeaderCapella,
|
||||||
ExecutionPayloadHeaderDeneb, ExecutionPayloadHeaderElectra, ExecutionPayloadHeaderRef,
|
ExecutionPayloadHeaderDeneb, ExecutionPayloadHeaderElectra, ExecutionPayloadHeaderRef,
|
||||||
ExecutionPayloadHeaderRefMut, ForkName, ForkVersionDeserialize, SignedRoot, Uint256,
|
ExecutionPayloadHeaderRefMut, ExecutionRequests, ForkName, ForkVersionDeserialize, SignedRoot,
|
||||||
|
Uint256,
|
||||||
};
|
};
|
||||||
use bls::PublicKeyBytes;
|
use bls::PublicKeyBytes;
|
||||||
use bls::Signature;
|
use bls::Signature;
|
||||||
@@ -33,6 +34,8 @@ pub struct BuilderBid<E: EthSpec> {
|
|||||||
pub header: ExecutionPayloadHeaderElectra<E>,
|
pub header: ExecutionPayloadHeaderElectra<E>,
|
||||||
#[superstruct(only(Deneb, Electra))]
|
#[superstruct(only(Deneb, Electra))]
|
||||||
pub blob_kzg_commitments: KzgCommitments<E>,
|
pub blob_kzg_commitments: KzgCommitments<E>,
|
||||||
|
#[superstruct(only(Electra))]
|
||||||
|
pub execution_requests: ExecutionRequests<E>,
|
||||||
#[serde(with = "serde_utils::quoted_u256")]
|
#[serde(with = "serde_utils::quoted_u256")]
|
||||||
pub value: Uint256,
|
pub value: Uint256,
|
||||||
pub pubkey: PublicKeyBytes,
|
pub pubkey: PublicKeyBytes,
|
||||||
|
|||||||
Reference in New Issue
Block a user