Merge pull request #957 from ethereum/finality-bug

fix finalization bug
This commit is contained in:
Hsiao-Wei Wang 2019-04-18 08:49:08 +08:00 committed by GitHub
commit 02cbb35c8a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 4 deletions

View File

@ -1709,12 +1709,12 @@ def update_justification_and_finalization(state: BeaconState) -> None:
state.finalized_epoch = antepenultimate_justified_epoch
state.finalized_root = get_block_root(state, get_epoch_start_slot(state.finalized_epoch))
# The 1st/2nd/3rd most recent epochs are justified, the 1st using the 3rd as source
if (bitfield >> 0) % 8 == 0b111 and state.previous_justified_root == current_epoch - 2:
state.finalized_epoch = state.previous_justified_root
if (bitfield >> 0) % 8 == 0b111 and state.previous_justified_epoch == current_epoch - 2:
state.finalized_epoch = state.previous_justified_epoch
state.finalized_root = get_block_root(state, get_epoch_start_slot(state.finalized_epoch))
# The 1st/2nd most recent epochs are justified, the 1st using the 2nd as source
if (bitfield >> 0) % 4 == 0b11 and state.previous_justified_root == current_epoch - 1:
state.finalized_epoch = state.previous_justified_root
if (bitfield >> 0) % 4 == 0b11 and state.previous_justified_epoch == current_epoch - 1:
state.finalized_epoch = state.previous_justified_epoch
state.finalized_root = get_block_root(state, get_epoch_start_slot(state.finalized_epoch))
```