mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-06 18:21:45 +00:00
Add {fork_name}_enabled functions (#5951)
* add fork_name_enabled fn to Forkname impl * refactor codebase to use new fork_enabled fn * fmt * Merge branch 'unstable' of https://github.com/sigp/lighthouse into fork-ord-impl * small code cleanup * resolve merge conflicts * fix beacon chain test * merge conflicts * fix ef test issue * resolve merge conflicts
This commit is contained in:
@@ -440,28 +440,22 @@ pub fn gossipsub_config(
|
||||
fork_context: Arc<ForkContext>,
|
||||
) -> Vec<u8> {
|
||||
let topic_bytes = message.topic.as_str().as_bytes();
|
||||
match fork_context.current_fork() {
|
||||
ForkName::Altair
|
||||
| ForkName::Bellatrix
|
||||
| ForkName::Capella
|
||||
| ForkName::Deneb
|
||||
| ForkName::Electra => {
|
||||
let topic_len_bytes = topic_bytes.len().to_le_bytes();
|
||||
let mut vec = Vec::with_capacity(
|
||||
prefix.len() + topic_len_bytes.len() + topic_bytes.len() + message.data.len(),
|
||||
);
|
||||
vec.extend_from_slice(&prefix);
|
||||
vec.extend_from_slice(&topic_len_bytes);
|
||||
vec.extend_from_slice(topic_bytes);
|
||||
vec.extend_from_slice(&message.data);
|
||||
vec
|
||||
}
|
||||
ForkName::Base => {
|
||||
let mut vec = Vec::with_capacity(prefix.len() + message.data.len());
|
||||
vec.extend_from_slice(&prefix);
|
||||
vec.extend_from_slice(&message.data);
|
||||
vec
|
||||
}
|
||||
|
||||
if fork_context.current_fork().altair_enabled() {
|
||||
let topic_len_bytes = topic_bytes.len().to_le_bytes();
|
||||
let mut vec = Vec::with_capacity(
|
||||
prefix.len() + topic_len_bytes.len() + topic_bytes.len() + message.data.len(),
|
||||
);
|
||||
vec.extend_from_slice(&prefix);
|
||||
vec.extend_from_slice(&topic_len_bytes);
|
||||
vec.extend_from_slice(topic_bytes);
|
||||
vec.extend_from_slice(&message.data);
|
||||
vec
|
||||
} else {
|
||||
let mut vec = Vec::with_capacity(prefix.len() + message.data.len());
|
||||
vec.extend_from_slice(&prefix);
|
||||
vec.extend_from_slice(&message.data);
|
||||
vec
|
||||
}
|
||||
}
|
||||
let message_domain_valid_snappy = gossipsub_config_params.message_domain_valid_snappy;
|
||||
|
||||
@@ -151,12 +151,10 @@ const REQUEST_TIMEOUT: u64 = 15;
|
||||
|
||||
/// Returns the maximum bytes that can be sent across the RPC.
|
||||
pub fn max_rpc_size(fork_context: &ForkContext, max_chunk_size: usize) -> usize {
|
||||
match fork_context.current_fork() {
|
||||
ForkName::Altair | ForkName::Base => max_chunk_size / 10,
|
||||
ForkName::Bellatrix => max_chunk_size,
|
||||
ForkName::Capella => max_chunk_size,
|
||||
ForkName::Deneb => max_chunk_size,
|
||||
ForkName::Electra => max_chunk_size,
|
||||
if fork_context.current_fork().bellatrix_enabled() {
|
||||
max_chunk_size
|
||||
} else {
|
||||
max_chunk_size / 10
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -252,28 +252,25 @@ impl<E: EthSpec> PubsubMessage<E> {
|
||||
Ok(PubsubMessage::BeaconBlock(Arc::new(beacon_block)))
|
||||
}
|
||||
GossipKind::BlobSidecar(blob_index) => {
|
||||
match fork_context.from_context_bytes(gossip_topic.fork_digest) {
|
||||
Some(ForkName::Deneb | ForkName::Electra) => {
|
||||
if let Some(fork_name) =
|
||||
fork_context.from_context_bytes(gossip_topic.fork_digest)
|
||||
{
|
||||
if fork_name.deneb_enabled() {
|
||||
let blob_sidecar = Arc::new(
|
||||
BlobSidecar::from_ssz_bytes(data)
|
||||
.map_err(|e| format!("{:?}", e))?,
|
||||
);
|
||||
Ok(PubsubMessage::BlobSidecar(Box::new((
|
||||
return Ok(PubsubMessage::BlobSidecar(Box::new((
|
||||
*blob_index,
|
||||
blob_sidecar,
|
||||
))))
|
||||
))));
|
||||
}
|
||||
Some(
|
||||
ForkName::Base
|
||||
| ForkName::Altair
|
||||
| ForkName::Bellatrix
|
||||
| ForkName::Capella,
|
||||
)
|
||||
| None => Err(format!(
|
||||
"beacon_blobs_and_sidecar topic invalid for given fork digest {:?}",
|
||||
gossip_topic.fork_digest
|
||||
)),
|
||||
}
|
||||
|
||||
Err(format!(
|
||||
"beacon_blobs_and_sidecar topic invalid for given fork digest {:?}",
|
||||
gossip_topic.fork_digest
|
||||
))
|
||||
}
|
||||
GossipKind::DataColumnSidecar(subnet_id) => {
|
||||
match fork_context.from_context_bytes(gossip_topic.fork_digest) {
|
||||
|
||||
Reference in New Issue
Block a user