mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-10 04:01:51 +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:
@@ -15,12 +15,12 @@ use strum::IntoStaticStr;
|
||||
use superstruct::superstruct;
|
||||
use types::blob_sidecar::BlobIdentifier;
|
||||
use types::light_client_update::MAX_REQUEST_LIGHT_CLIENT_UPDATES;
|
||||
use types::ForkName;
|
||||
use types::{
|
||||
blob_sidecar::BlobSidecar, ChainSpec, ColumnIndex, DataColumnIdentifier, DataColumnSidecar,
|
||||
Epoch, EthSpec, Hash256, LightClientBootstrap, LightClientFinalityUpdate,
|
||||
LightClientOptimisticUpdate, LightClientUpdate, RuntimeVariableList, SignedBeaconBlock, Slot,
|
||||
};
|
||||
use types::{ForkContext, ForkName};
|
||||
|
||||
/// Maximum length of error message.
|
||||
pub type MaxErrorLen = U256;
|
||||
@@ -420,15 +420,19 @@ pub struct BlocksByRootRequest {
|
||||
}
|
||||
|
||||
impl BlocksByRootRequest {
|
||||
pub fn new(block_roots: Vec<Hash256>, spec: &ChainSpec) -> Self {
|
||||
let block_roots =
|
||||
RuntimeVariableList::from_vec(block_roots, spec.max_request_blocks as usize);
|
||||
pub fn new(block_roots: Vec<Hash256>, fork_context: &ForkContext) -> Self {
|
||||
let max_request_blocks = fork_context
|
||||
.spec
|
||||
.max_request_blocks(fork_context.current_fork());
|
||||
let block_roots = RuntimeVariableList::from_vec(block_roots, max_request_blocks);
|
||||
Self::V2(BlocksByRootRequestV2 { block_roots })
|
||||
}
|
||||
|
||||
pub fn new_v1(block_roots: Vec<Hash256>, spec: &ChainSpec) -> Self {
|
||||
let block_roots =
|
||||
RuntimeVariableList::from_vec(block_roots, spec.max_request_blocks as usize);
|
||||
pub fn new_v1(block_roots: Vec<Hash256>, fork_context: &ForkContext) -> Self {
|
||||
let max_request_blocks = fork_context
|
||||
.spec
|
||||
.max_request_blocks(fork_context.current_fork());
|
||||
let block_roots = RuntimeVariableList::from_vec(block_roots, max_request_blocks);
|
||||
Self::V1(BlocksByRootRequestV1 { block_roots })
|
||||
}
|
||||
}
|
||||
@@ -441,9 +445,11 @@ pub struct BlobsByRootRequest {
|
||||
}
|
||||
|
||||
impl BlobsByRootRequest {
|
||||
pub fn new(blob_ids: Vec<BlobIdentifier>, spec: &ChainSpec) -> Self {
|
||||
let blob_ids =
|
||||
RuntimeVariableList::from_vec(blob_ids, spec.max_request_blob_sidecars as usize);
|
||||
pub fn new(blob_ids: Vec<BlobIdentifier>, fork_context: &ForkContext) -> Self {
|
||||
let max_request_blob_sidecars = fork_context
|
||||
.spec
|
||||
.max_request_blob_sidecars(fork_context.current_fork());
|
||||
let blob_ids = RuntimeVariableList::from_vec(blob_ids, max_request_blob_sidecars);
|
||||
Self { blob_ids }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user