mirror of
https://github.com/status-im/eth2.0-specs.git
synced 2025-01-12 19:54:34 +00:00
fix underflows in generate_seed, get_randao_mix, and get_active_index_roots
This commit is contained in:
parent
715dc32334
commit
b169c42339
@ -48,10 +48,10 @@ def compute_committee(indices: List[ValidatorIndex], seed: Bytes32, index: int,
|
||||
param_hash = (hash_tree_root(indices), seed, index, count)
|
||||
|
||||
if param_hash in committee_cache:
|
||||
print("Cache hit, param_hash: ", param_hash)
|
||||
# print("Cache hit, param_hash: ", param_hash)
|
||||
return committee_cache[param_hash]
|
||||
else:
|
||||
print("Cache miss, param_hash: ", param_hash)
|
||||
# print("Cache miss, param_hash: ", param_hash)
|
||||
ret = _compute_committee(indices, seed, index, count)
|
||||
committee_cache[param_hash] = ret
|
||||
return ret
|
||||
|
@ -800,7 +800,8 @@ def get_randao_mix(state: BeaconState,
|
||||
"""
|
||||
Return the randao mix at a recent ``epoch``.
|
||||
"""
|
||||
assert get_current_epoch(state) - LATEST_RANDAO_MIXES_LENGTH < epoch <= get_current_epoch(state)
|
||||
min_epoch = epoch - LATEST_RANDAO_MIXES_LENGTH + 1 if epoch > LATEST_RANDAO_MIXES_LENGTH else GENESIS_EPOCH
|
||||
assert min_epoch <= epoch <= get_current_epoch(state)
|
||||
return state.latest_randao_mixes[epoch % LATEST_RANDAO_MIXES_LENGTH]
|
||||
```
|
||||
|
||||
@ -812,7 +813,8 @@ def get_active_index_root(state: BeaconState,
|
||||
"""
|
||||
Return the index root at a recent ``epoch``.
|
||||
"""
|
||||
assert get_current_epoch(state) - LATEST_ACTIVE_INDEX_ROOTS_LENGTH + ACTIVATION_EXIT_DELAY < epoch <= get_current_epoch(state) + ACTIVATION_EXIT_DELAY
|
||||
min_epoch = get_current_epoch(state) + ACTIVATION_EXIT_DELAY - LATEST_ACTIVE_INDEX_ROOTS_LENGTH + 1 if epoch > LATEST_ACTIVE_INDEX_ROOTS_LENGTH - ACTIVATION_EXIT_DELAY else GENESIS_EPOCH
|
||||
assert min_epoch <= epoch <= get_current_epoch(state) + ACTIVATION_EXIT_DELAY
|
||||
return state.latest_active_index_roots[epoch % LATEST_ACTIVE_INDEX_ROOTS_LENGTH]
|
||||
```
|
||||
|
||||
@ -825,7 +827,7 @@ def generate_seed(state: BeaconState,
|
||||
Generate a seed for the given ``epoch``.
|
||||
"""
|
||||
return hash(
|
||||
get_randao_mix(state, epoch - MIN_SEED_LOOKAHEAD) +
|
||||
get_randao_mix(state, epoch - MIN_SEED_LOOKAHEAD) if epoch >= MIN_SEED_LOOKAHEAD else ZERO_HASH +
|
||||
get_active_index_root(state, epoch) +
|
||||
int_to_bytes32(epoch)
|
||||
)
|
||||
|
Loading…
x
Reference in New Issue
Block a user