mirror of
https://github.com/sigp/lighthouse.git
synced 2026-04-28 02:03:32 +00:00
Fork aware max values in rpc (#6847)
N/A In https://github.com/sigp/lighthouse/pull/6329 we changed `max_blobs_per_block` from a preset to a config value. We weren't using the right value based on fork in that PR. This is a follow up PR to use the fork dependent values. In the proces, I also updated other places where we weren't using fork dependent values from the ChainSpec. Note to reviewer: easier to go through by commit
This commit is contained in:
@@ -217,7 +217,7 @@ pub struct ChainSpec {
|
||||
pub network_id: u8,
|
||||
pub target_aggregators_per_committee: u64,
|
||||
pub gossip_max_size: u64,
|
||||
pub max_request_blocks: u64,
|
||||
max_request_blocks: u64,
|
||||
pub min_epochs_for_block_requests: u64,
|
||||
pub max_chunk_size: u64,
|
||||
pub ttfb_timeout: u64,
|
||||
@@ -233,19 +233,19 @@ pub struct ChainSpec {
|
||||
/*
|
||||
* Networking Deneb
|
||||
*/
|
||||
pub max_request_blocks_deneb: u64,
|
||||
pub max_request_blob_sidecars: u64,
|
||||
max_request_blocks_deneb: u64,
|
||||
max_request_blob_sidecars: u64,
|
||||
pub max_request_data_column_sidecars: u64,
|
||||
pub min_epochs_for_blob_sidecars_requests: u64,
|
||||
pub blob_sidecar_subnet_count: u64,
|
||||
pub max_blobs_per_block: u64,
|
||||
blob_sidecar_subnet_count: u64,
|
||||
max_blobs_per_block: u64,
|
||||
|
||||
/*
|
||||
* Networking Electra
|
||||
*/
|
||||
max_blobs_per_block_electra: u64,
|
||||
pub blob_sidecar_subnet_count_electra: u64,
|
||||
pub max_request_blob_sidecars_electra: u64,
|
||||
blob_sidecar_subnet_count_electra: u64,
|
||||
max_request_blob_sidecars_electra: u64,
|
||||
|
||||
/*
|
||||
* Networking Derived
|
||||
@@ -625,6 +625,17 @@ impl ChainSpec {
|
||||
}
|
||||
}
|
||||
|
||||
/// Returns the highest possible value for max_request_blocks based on enabled forks.
|
||||
///
|
||||
/// This is useful for upper bounds in testing.
|
||||
pub fn max_request_blocks_upper_bound(&self) -> usize {
|
||||
if self.deneb_fork_epoch.is_some() {
|
||||
self.max_request_blocks_deneb as usize
|
||||
} else {
|
||||
self.max_request_blocks as usize
|
||||
}
|
||||
}
|
||||
|
||||
pub fn max_request_blob_sidecars(&self, fork_name: ForkName) -> usize {
|
||||
if fork_name.electra_enabled() {
|
||||
self.max_request_blob_sidecars_electra as usize
|
||||
@@ -633,6 +644,17 @@ impl ChainSpec {
|
||||
}
|
||||
}
|
||||
|
||||
/// Returns the highest possible value for max_request_blobs based on enabled forks.
|
||||
///
|
||||
/// This is useful for upper bounds in testing.
|
||||
pub fn max_request_blobs_upper_bound(&self) -> usize {
|
||||
if self.electra_fork_epoch.is_some() {
|
||||
self.max_request_blob_sidecars_electra as usize
|
||||
} else {
|
||||
self.max_request_blob_sidecars as usize
|
||||
}
|
||||
}
|
||||
|
||||
/// Return the value of `MAX_BLOBS_PER_BLOCK` appropriate for the fork at `epoch`.
|
||||
pub fn max_blobs_per_block(&self, epoch: Epoch) -> u64 {
|
||||
self.max_blobs_per_block_by_fork(self.fork_name_at_epoch(epoch))
|
||||
@@ -647,6 +669,26 @@ impl ChainSpec {
|
||||
}
|
||||
}
|
||||
|
||||
/// Returns the `BLOB_SIDECAR_SUBNET_COUNT` at the given fork_name.
|
||||
pub fn blob_sidecar_subnet_count(&self, fork_name: ForkName) -> u64 {
|
||||
if fork_name.electra_enabled() {
|
||||
self.blob_sidecar_subnet_count_electra
|
||||
} else {
|
||||
self.blob_sidecar_subnet_count
|
||||
}
|
||||
}
|
||||
|
||||
/// Returns the highest possible value of blob sidecar subnet count based on enabled forks.
|
||||
///
|
||||
/// This is useful for upper bounds for the subnet count during a given run of lighthouse.
|
||||
pub fn blob_sidecar_subnet_count_max(&self) -> u64 {
|
||||
if self.electra_fork_epoch.is_some() {
|
||||
self.blob_sidecar_subnet_count_electra
|
||||
} else {
|
||||
self.blob_sidecar_subnet_count
|
||||
}
|
||||
}
|
||||
|
||||
/// Returns the number of data columns per custody group.
|
||||
pub fn data_columns_per_group(&self) -> u64 {
|
||||
self.number_of_columns
|
||||
|
||||
Reference in New Issue
Block a user