mirror of
https://github.com/sigp/lighthouse.git
synced 2026-04-17 21:08:32 +00:00
Make max_blobs_per_block a config parameter (#6329)
* First pass
* Add restrictions to RuntimeVariableList api
* Use empty_uninitialized and fix warnings
* Fix some todos
* Merge branch 'unstable' into max-blobs-preset
* Fix take impl on RuntimeFixedList
* cleanup
* Fix test compilations
* Fix some more tests
* Fix test from unstable
* Merge branch 'unstable' into max-blobs-preset
* Merge remote-tracking branch 'origin/unstable' into max-blobs-preset
* Remove footgun function
* Minor simplifications
* Move from preset to config
* Fix typo
* Revert "Remove footgun function"
This reverts commit de01f923c7.
* Try fixing tests
* Thread through ChainSpec
* Fix release tests
* Move RuntimeFixedVector into module and rename
* Add test
* Remove empty RuntimeVarList awefullness
* Fix tests
* Simplify BlobSidecarListFromRoot
* Merge remote-tracking branch 'origin/unstable' into max-blobs-preset
* Bump quota to account for new target (6)
* Remove clone
* Fix issue from review
* Try to remove ugliness
* Merge branch 'unstable' into max-blobs-preset
* Fix max value
* Fix doctest
* Fix formatting
* Fix max check
* Delete hardcoded max_blobs_per_block in RPC limits
* Merge remote-tracking branch 'origin/unstable' into max-blobs-preset
This commit is contained in:
@@ -194,9 +194,11 @@ fn build_data_column_sidecars<E: EthSpec>(
|
||||
spec: &ChainSpec,
|
||||
) -> Result<DataColumnSidecarList<E>, String> {
|
||||
let number_of_columns = spec.number_of_columns;
|
||||
let mut columns = vec![Vec::with_capacity(E::max_blobs_per_block()); number_of_columns];
|
||||
let mut column_kzg_proofs =
|
||||
vec![Vec::with_capacity(E::max_blobs_per_block()); number_of_columns];
|
||||
let max_blobs_per_block = spec
|
||||
.max_blobs_per_block(signed_block_header.message.slot.epoch(E::slots_per_epoch()))
|
||||
as usize;
|
||||
let mut columns = vec![Vec::with_capacity(max_blobs_per_block); number_of_columns];
|
||||
let mut column_kzg_proofs = vec![Vec::with_capacity(max_blobs_per_block); number_of_columns];
|
||||
|
||||
for (blob_cells, blob_cell_proofs) in blob_cells_and_proofs_vec {
|
||||
// we iterate over each column, and we construct the column from "top to bottom",
|
||||
@@ -253,6 +255,7 @@ pub fn reconstruct_blobs<E: EthSpec>(
|
||||
data_columns: &[Arc<DataColumnSidecar<E>>],
|
||||
blob_indices_opt: Option<Vec<u64>>,
|
||||
signed_block: &SignedBlindedBeaconBlock<E>,
|
||||
spec: &ChainSpec,
|
||||
) -> Result<BlobSidecarList<E>, String> {
|
||||
// The data columns are from the database, so we assume their correctness.
|
||||
let first_data_column = data_columns
|
||||
@@ -315,10 +318,11 @@ pub fn reconstruct_blobs<E: EthSpec>(
|
||||
.map(Arc::new)
|
||||
.map_err(|e| format!("{e:?}"))
|
||||
})
|
||||
.collect::<Result<Vec<_>, _>>()?
|
||||
.into();
|
||||
.collect::<Result<Vec<_>, _>>()?;
|
||||
|
||||
Ok(blob_sidecars)
|
||||
let max_blobs = spec.max_blobs_per_block(signed_block.epoch()) as usize;
|
||||
|
||||
BlobSidecarList::new(blob_sidecars, max_blobs).map_err(|e| format!("{e:?}"))
|
||||
}
|
||||
|
||||
/// Reconstruct all data columns from a subset of data column sidecars (requires at least 50%).
|
||||
@@ -478,6 +482,7 @@ mod test {
|
||||
&column_sidecars.iter().as_slice()[0..column_sidecars.len() / 2],
|
||||
Some(blob_indices.clone()),
|
||||
&signed_blinded_block,
|
||||
spec,
|
||||
)
|
||||
.unwrap();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user