Merge pull request #1171 from ethereum/input-checking
attestations: check shard, and check epoch earlier. Open question about another attestation check.
This commit is contained in:
commit
fea8fc64b9
|
@ -1722,6 +1722,10 @@ def process_attestation(state: BeaconState, attestation: Attestation) -> None:
|
|||
Process ``Attestation`` operation.
|
||||
"""
|
||||
data = attestation.data
|
||||
|
||||
assert data.crosslink.shard < SHARD_COUNT
|
||||
assert data.target_epoch in (get_previous_epoch(state), get_current_epoch(state))
|
||||
|
||||
attestation_slot = get_attestation_data_slot(state, data)
|
||||
assert attestation_slot + MIN_ATTESTATION_INCLUSION_DELAY <= state.slot <= attestation_slot + SLOTS_PER_EPOCH
|
||||
|
||||
|
@ -1732,7 +1736,6 @@ def process_attestation(state: BeaconState, attestation: Attestation) -> None:
|
|||
proposer_index=get_beacon_proposer_index(state),
|
||||
)
|
||||
|
||||
assert data.target_epoch in (get_previous_epoch(state), get_current_epoch(state))
|
||||
if data.target_epoch == get_current_epoch(state):
|
||||
ffg_data = (state.current_justified_epoch, state.current_justified_root, get_current_epoch(state))
|
||||
parent_crosslink = state.current_crosslinks[data.crosslink.shard]
|
||||
|
|
Loading…
Reference in New Issue