Skip to content

Commit

Permalink
simplify calculate_committee_fraction (sigp#4213)
Browse files Browse the repository at this point in the history
## Issue Addressed

[sigp#4211](sigp#4211)

## Proposed Changes

This PR conforms the helper function `calculate_committee_fraction` to the [v1.3.0 spec](https://github.com/ethereum/consensus-specs/blob/v1.3.0/specs/phase0/fork-choice.md#get_weight)

## Additional Info

the old definition of `calculate_committee_fraction` is almost identical, but the new definition is simpler.
  • Loading branch information
eserilev authored and Woodpile37 committed Jan 6, 2024
1 parent 9203c75 commit 7b99588
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -987,11 +987,11 @@ pub fn get_execution_status_test_definition_03() -> ForkChoiceTestDefinition {

ops.push(Operation::AssertWeight {
block_root: get_root(0),
weight: 33_000,
weight: 33_250,
});
ops.push(Operation::AssertWeight {
block_root: get_root(1),
weight: 33_000,
weight: 33_250,
});
ops.push(Operation::AssertWeight {
block_root: get_root(2),
Expand All @@ -1000,7 +1000,7 @@ pub fn get_execution_status_test_definition_03() -> ForkChoiceTestDefinition {
ops.push(Operation::AssertWeight {
block_root: get_root(3),
// This is a "magic number" generated from `calculate_committee_fraction`.
weight: 31_000,
weight: 31_250,
});

// Invalidate the payload of 3.
Expand Down
6 changes: 1 addition & 5 deletions consensus/proto_array/src/proto_array.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1055,13 +1055,9 @@ pub fn calculate_committee_fraction<E: EthSpec>(
justified_balances: &JustifiedBalances,
proposer_score_boost: u64,
) -> Option<u64> {
let average_balance = justified_balances
let committee_weight = justified_balances
.total_effective_balance
.checked_div(justified_balances.num_active_validators)?;
let committee_size = justified_balances
.num_active_validators
.checked_div(E::slots_per_epoch())?;
let committee_weight = committee_size.checked_mul(average_balance)?;
committee_weight
.checked_mul(proposer_score_boost)?
.checked_div(100)
Expand Down

0 comments on commit 7b99588

Please sign in to comment.