mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-15 10:52:43 +00:00
Merge remote-tracking branch 'upstream/unstable' into gloas-containers
This commit is contained in:
@@ -43,7 +43,7 @@ use tokio::{
|
||||
time::sleep,
|
||||
};
|
||||
use tokio_stream::wrappers::WatchStream;
|
||||
use tracing::{debug, error, info, warn};
|
||||
use tracing::{Instrument, debug, debug_span, error, info, instrument, warn};
|
||||
use tree_hash::TreeHash;
|
||||
use types::beacon_block_body::KzgCommitments;
|
||||
use types::builder_bid::BuilderBid;
|
||||
@@ -844,6 +844,7 @@ impl<E: EthSpec> ExecutionLayer<E> {
|
||||
}
|
||||
|
||||
/// Returns the fee-recipient address that should be used to build a block
|
||||
#[instrument(level = "debug", skip_all)]
|
||||
pub async fn get_suggested_fee_recipient(&self, proposer_index: u64) -> Address {
|
||||
if let Some(preparation_data_entry) =
|
||||
self.proposer_preparation_data().await.get(&proposer_index)
|
||||
@@ -868,6 +869,7 @@ impl<E: EthSpec> ExecutionLayer<E> {
|
||||
}
|
||||
}
|
||||
|
||||
#[instrument(level = "debug", skip_all)]
|
||||
pub async fn get_proposer_gas_limit(&self, proposer_index: u64) -> Option<u64> {
|
||||
self.proposer_preparation_data()
|
||||
.await
|
||||
@@ -884,6 +886,7 @@ impl<E: EthSpec> ExecutionLayer<E> {
|
||||
///
|
||||
/// The result will be returned from the first node that returns successfully. No more nodes
|
||||
/// will be contacted.
|
||||
#[instrument(level = "debug", skip_all)]
|
||||
pub async fn get_payload(
|
||||
&self,
|
||||
payload_parameters: PayloadParameters<'_>,
|
||||
@@ -989,6 +992,7 @@ impl<E: EthSpec> ExecutionLayer<E> {
|
||||
timed_future(metrics::GET_BLINDED_PAYLOAD_BUILDER, async {
|
||||
builder
|
||||
.get_builder_header::<E>(slot, parent_hash, pubkey)
|
||||
.instrument(debug_span!("get_builder_header"))
|
||||
.await
|
||||
}),
|
||||
timed_future(metrics::GET_BLINDED_PAYLOAD_LOCAL, async {
|
||||
@@ -1230,6 +1234,7 @@ impl<E: EthSpec> ExecutionLayer<E> {
|
||||
.await
|
||||
}
|
||||
|
||||
#[instrument(level = "debug", skip_all)]
|
||||
async fn get_full_payload_with(
|
||||
&self,
|
||||
payload_parameters: PayloadParameters<'_>,
|
||||
@@ -1905,9 +1910,19 @@ impl<E: EthSpec> ExecutionLayer<E> {
|
||||
) -> Result<SubmitBlindedBlockResponse<E>, Error> {
|
||||
debug!(?block_root, "Sending block to builder");
|
||||
if spec.is_fulu_scheduled() {
|
||||
self.post_builder_blinded_blocks_v2(block_root, block)
|
||||
let resp = self
|
||||
.post_builder_blinded_blocks_v2(block_root, block)
|
||||
.await
|
||||
.map(|()| SubmitBlindedBlockResponse::V2)
|
||||
.map(|()| SubmitBlindedBlockResponse::V2);
|
||||
// Fallback to v1 if v2 fails because the relay doesn't support it.
|
||||
// Note: we should remove the fallback post fulu when all relays have support for v2.
|
||||
if resp.is_err() {
|
||||
self.post_builder_blinded_blocks_v1(block_root, block)
|
||||
.await
|
||||
.map(|full_payload| SubmitBlindedBlockResponse::V1(Box::new(full_payload)))
|
||||
} else {
|
||||
resp
|
||||
}
|
||||
} else {
|
||||
self.post_builder_blinded_blocks_v1(block_root, block)
|
||||
.await
|
||||
@@ -2023,7 +2038,9 @@ impl<E: EthSpec> ExecutionLayer<E> {
|
||||
relay_response_ms = duration.as_millis(),
|
||||
?block_root,
|
||||
"Successfully submitted blinded block to the builder"
|
||||
)
|
||||
);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
Err(e) => {
|
||||
metrics::inc_counter_vec(
|
||||
@@ -2036,11 +2053,10 @@ impl<E: EthSpec> ExecutionLayer<E> {
|
||||
relay_response_ms = duration.as_millis(),
|
||||
?block_root,
|
||||
"Failed to submit blinded block to the builder"
|
||||
)
|
||||
);
|
||||
Err(e)
|
||||
}
|
||||
}
|
||||
|
||||
Ok(())
|
||||
} else {
|
||||
Err(Error::NoPayloadBuilder)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user