diff --git a/specs/core/0_beacon-chain.md b/specs/core/0_beacon-chain.md index 6f7a7a059..007079555 100644 --- a/specs/core/0_beacon-chain.md +++ b/specs/core/0_beacon-chain.md @@ -737,8 +737,7 @@ def get_randao_mix(state: BeaconState, epoch: Epoch) -> Hash: """ Return the randao mix at a recent ``epoch``. - ``epoch`` expected to be between (current_epoch - EPOCHS_PER_HISTORICAL_VECTOR, current_epoch], unless - otherwise noted at a call site. + ``epoch`` expected to be between (current_epoch - EPOCHS_PER_HISTORICAL_VECTOR, current_epoch]. """ return state.randao_mixes[epoch % EPOCHS_PER_HISTORICAL_VECTOR] ``` @@ -763,12 +762,9 @@ def generate_seed(state: BeaconState, epoch: Epoch) -> Hash: """ Generate a seed for the given ``epoch``. - - Note that avoiding the underflow on ``get_randao_mix`` here violates - the epoch validity condition given in that function's comment. """ return hash( - get_randao_mix(state, Epoch(epoch + EPOCHS_PER_HISTORICAL_VECTOR - MIN_SEED_LOOKAHEAD)) + + get_randao_mix(state, Epoch(epoch + EPOCHS_PER_HISTORICAL_VECTOR - MIN_SEED_LOOKAHEAD)) + #avoid underflow get_active_index_root(state, epoch) + int_to_bytes(epoch, length=32) )