mirror of
https://github.com/sigp/lighthouse.git
synced 2026-05-30 12:47:05 +00:00
Constants
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user