Merge pull request #890 from ethereum/proto-fix-justification-bitfield
limit bit-length of justification bitfield to strict 64
This commit is contained in:
commit
ce0f52b52d
|
@ -1812,8 +1812,8 @@ def update_justification_and_finalization(state: BeaconState) -> None:
|
||||||
new_justified_epoch = state.current_justified_epoch
|
new_justified_epoch = state.current_justified_epoch
|
||||||
new_finalized_epoch = state.finalized_epoch
|
new_finalized_epoch = state.finalized_epoch
|
||||||
|
|
||||||
# Rotate the justification bitfield up one epoch to make room for the current epoch
|
# Rotate the justification bitfield up one epoch to make room for the current epoch (and limit to 64 bits)
|
||||||
state.justification_bitfield <<= 1
|
state.justification_bitfield = (state.justification_bitfield << 1) % 2**64
|
||||||
# If the previous epoch gets justified, fill the second last bit
|
# If the previous epoch gets justified, fill the second last bit
|
||||||
previous_boundary_attesting_balance = get_attesting_balance(state, get_previous_epoch_boundary_attestations(state))
|
previous_boundary_attesting_balance = get_attesting_balance(state, get_previous_epoch_boundary_attestations(state))
|
||||||
if previous_boundary_attesting_balance * 3 >= get_previous_total_balance(state) * 2:
|
if previous_boundary_attesting_balance * 3 >= get_previous_total_balance(state) * 2:
|
||||||
|
|
Loading…
Reference in New Issue