Constants

This commit is contained in:
Eitan Seri-Levi
2026-04-30 13:49:26 +02:00
parent 12d31dbfbf
commit 7918dc2a0d
3 changed files with 13 additions and 6 deletions

View File

@@ -49,14 +49,13 @@ impl<T: BeaconChainTypes> GossipVerifiedInclusionList<T> {
.now() .now()
.ok_or(BeaconChainError::UnableToReadSlot)?; .ok_or(BeaconChainError::UnableToReadSlot)?;
// TODO(focil) move 8192 to config
if signed_il if signed_il
.message .message
.transactions .transactions
.iter() .iter()
.map(|v| v.len()) .map(|v| v.len())
.sum::<usize>() .sum::<usize>()
> 8192 > chain.spec.max_bytes_per_inclusion_list as usize
{ {
return Err(GossipInclusionListError::TooManyTransactions); return Err(GossipInclusionListError::TooManyTransactions);
} }
@@ -124,10 +123,9 @@ impl<T: BeaconChainTypes> GossipVerifiedInclusionList<T> {
return Err(GossipInclusionListError::PriorInclusionListKnown); return Err(GossipInclusionListError::PriorInclusionListKnown);
} }
// Compute timeliness: timely if received before INCLUSION_LIST_DUE_BPS into the slot
// INCLUSION_LIST_DUE_BPS = 6667 basis points = 66.67% of slot duration
let slot_duration_ms = chain.spec.get_slot_duration().as_millis() as u64; let slot_duration_ms = chain.spec.get_slot_duration().as_millis() as u64;
let inclusion_list_due_ms = slot_duration_ms * 6667 / 10000; let inclusion_list_due_ms =
slot_duration_ms * chain.spec.inclusion_list_due_bps / 10000;
let il_delay_ms = let il_delay_ms =
get_slot_delay_ms(timestamp_now(), message_slot, &chain.slot_clock).as_millis() as u64; get_slot_delay_ms(timestamp_now(), message_slot, &chain.slot_clock).as_millis() as u64;
let is_timely = il_delay_ms <= inclusion_list_due_ms; let is_timely = il_delay_ms <= inclusion_list_due_ms;

View File

@@ -235,6 +235,9 @@ pub struct ChainSpec {
*/ */
pub domain_inclusion_list_committee: u32, pub domain_inclusion_list_committee: u32,
pub inclusion_list_committee_size: u64, pub inclusion_list_committee_size: u64,
pub max_bytes_per_inclusion_list: u64,
pub max_request_inclusion_list: u64,
pub inclusion_list_due_bps: u64,
/* /*
* Fulu hard fork params * Fulu hard fork params
@@ -1292,6 +1295,9 @@ impl ChainSpec {
*/ */
domain_inclusion_list_committee: 12, domain_inclusion_list_committee: 12,
inclusion_list_committee_size: 16, inclusion_list_committee_size: 16,
max_bytes_per_inclusion_list: 8192,
max_request_inclusion_list: 16,
inclusion_list_due_bps: 6667,
/* /*
* Fulu hard fork params * Fulu hard fork params
@@ -1730,6 +1736,9 @@ impl ChainSpec {
*/ */
domain_inclusion_list_committee: 12, domain_inclusion_list_committee: 12,
inclusion_list_committee_size: 16, inclusion_list_committee_size: 16,
max_bytes_per_inclusion_list: 8192,
max_request_inclusion_list: 16,
inclusion_list_due_bps: 6667,
/* /*
* Fulu hard fork params * Fulu hard fork params

View File

@@ -274,7 +274,7 @@ impl<S: ValidatorStore + 'static, T: SlotClock + 'static> InclusionListService<S
for transaction in inclusion_list_transactions.into_iter() { for transaction in inclusion_list_transactions.into_iter() {
total_bytes += transaction.len(); total_bytes += transaction.len();
if total_bytes <= 8192 { if total_bytes <= self.chain_spec.max_bytes_per_inclusion_list as usize {
trimmed_il.push(transaction); trimmed_il.push(transaction);
} }
} }