mirror of
https://github.com/sigp/lighthouse.git
synced 2026-05-02 04:03:35 +00:00
Gloas publish data columns during local block building (#9182)
Make sure we are publishing columns during local block production Co-Authored-By: Eitan Seri-Levi <eserilev@ucsc.edu> Co-Authored-By: dapplion <35266934+dapplion@users.noreply.github.com>
This commit is contained in:
@@ -35,6 +35,7 @@ use types::{
|
||||
SignedVoluntaryExit, Slot, SyncAggregate, Withdrawal, Withdrawals,
|
||||
};
|
||||
|
||||
use crate::pending_payload_envelopes::PendingEnvelopeData;
|
||||
use crate::{
|
||||
BeaconChain, BeaconChainError, BeaconChainTypes, BlockProductionError,
|
||||
ProduceBlockVerification, block_production::BlockProductionState,
|
||||
@@ -74,6 +75,7 @@ pub struct ExecutionPayloadData<E: types::EthSpec> {
|
||||
pub execution_requests: ExecutionRequests<E>,
|
||||
pub builder_index: BuilderIndex,
|
||||
pub slot: Slot,
|
||||
pub blobs_and_proofs: (types::BlobsList<E>, types::KzgProofs<E>),
|
||||
}
|
||||
|
||||
impl<T: BeaconChainTypes> BeaconChain<T> {
|
||||
@@ -647,9 +649,14 @@ impl<T: BeaconChainTypes> BeaconChain<T> {
|
||||
let envelope_slot = payload_data.slot;
|
||||
// TODO(gloas) might be safer to cache by root instead of by slot.
|
||||
// We should revisit this once this code path + beacon api spec matures
|
||||
self.pending_payload_envelopes
|
||||
.write()
|
||||
.insert(envelope_slot, signed_envelope.message);
|
||||
let (blobs, _) = payload_data.blobs_and_proofs;
|
||||
self.pending_payload_envelopes.write().insert(
|
||||
envelope_slot,
|
||||
PendingEnvelopeData {
|
||||
envelope: signed_envelope.message,
|
||||
blobs: Some(blobs),
|
||||
},
|
||||
);
|
||||
|
||||
debug!(
|
||||
%beacon_block_root,
|
||||
@@ -769,7 +776,7 @@ impl<T: BeaconChainTypes> BeaconChain<T> {
|
||||
payload_value: _,
|
||||
execution_requests,
|
||||
blob_kzg_commitments,
|
||||
blobs_and_proofs: _,
|
||||
blobs_and_proofs,
|
||||
} = block_proposal_contents;
|
||||
|
||||
// TODO(gloas) since we are defaulting to local building, execution payment is 0
|
||||
@@ -795,6 +802,7 @@ impl<T: BeaconChainTypes> BeaconChain<T> {
|
||||
execution_requests,
|
||||
builder_index,
|
||||
slot: produce_at_slot,
|
||||
blobs_and_proofs,
|
||||
};
|
||||
|
||||
// TODO(gloas) this is only local building
|
||||
|
||||
Reference in New Issue
Block a user