Clarify `get_randao_mix` accessor
We avoid a genesis underflow by taking the randao epoch in `generate_seed` to be `+ EPOCHS_PER_HISTORICAL_VECTOR`. This conflicts with the expected epoch bounds noted in `get_randao_mix` and this PR attempts to clarify the situation by leaving a note.
This commit is contained in:
parent
d587c4fe61
commit
10e257490f
|
@ -737,7 +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].
|
||||
``epoch`` expected to be between (current_epoch - EPOCHS_PER_HISTORICAL_VECTOR, current_epoch], unless otherwise noted at a call site.
|
||||
"""
|
||||
return state.randao_mixes[epoch % EPOCHS_PER_HISTORICAL_VECTOR]
|
||||
```
|
||||
|
@ -762,6 +762,8 @@ 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)) +
|
||||
|
|
Loading…
Reference in New Issue