Merge pull request #694 from ethereum/proposer-next-epoch
make get_beacon_proposer_index safe for next epoch
This commit is contained in:
commit
cc146475d9
|
@ -971,11 +971,19 @@ def generate_seed(state: BeaconState,
|
|||
|
||||
```python
|
||||
def get_beacon_proposer_index(state: BeaconState,
|
||||
slot: Slot) -> ValidatorIndex:
|
||||
slot: Slot,
|
||||
registry_change: bool=False) -> ValidatorIndex:
|
||||
"""
|
||||
Return the beacon proposer index for the ``slot``.
|
||||
"""
|
||||
first_committee, _ = get_crosslink_committees_at_slot(state, slot)[0]
|
||||
epoch = slot_to_epoch(slot)
|
||||
current_epoch = get_current_epoch(state)
|
||||
previous_epoch = get_previous_epoch(state)
|
||||
next_epoch = current_epoch + 1
|
||||
|
||||
assert previous_epoch <= epoch <= next_epoch
|
||||
|
||||
first_committee, _ = get_crosslink_committees_at_slot(state, slot, registry_change)[0]
|
||||
return first_committee[slot % len(first_committee)]
|
||||
```
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ __NOTICE__: This document is a work-in-progress for researchers and implementers
|
|||
- [Aggregation bitfield](#aggregation-bitfield)
|
||||
- [Custody bitfield](#custody-bitfield)
|
||||
- [Aggregate signature](#aggregate-signature)
|
||||
- [Validator assigments](#validator-assignments)
|
||||
- [Validator assignments](#validator-assignments)
|
||||
- [Lookahead](#lookahead)
|
||||
- [How to avoid slashing](#how-to-avoid-slashing)
|
||||
- [Proposer slashing](#proposer-slashing)
|
||||
|
@ -371,8 +371,7 @@ def get_committee_assignment(
|
|||
if len(selected_committees) > 0:
|
||||
validators = selected_committees[0][0]
|
||||
shard = selected_committees[0][1]
|
||||
first_committee_at_slot = crosslink_committees[0][0] # List[ValidatorIndex]
|
||||
is_proposer = first_committee_at_slot[slot % len(first_committee_at_slot)] == validator_index
|
||||
is_proposer = validator_index == get_beacon_proposer_index(state, slot, registry_change=registry_change)
|
||||
|
||||
assignment = (validators, shard, slot, is_proposer)
|
||||
return assignment
|
||||
|
|
Loading…
Reference in New Issue