mirror of
https://github.com/status-im/eth2.0-specs.git
synced 2025-02-12 02:27:28 +00:00
Prefix update period
variables
This commit is contained in:
parent
2ddb3833ff
commit
b7a0e532e4
@ -219,11 +219,11 @@ def validate_light_client_update(store: LightClientStore,
|
|||||||
# Verify update does not skip a sync committee period
|
# Verify update does not skip a sync committee period
|
||||||
assert current_slot >= update.signature_slot > update.attested_header.slot >= update.finalized_header.slot
|
assert current_slot >= update.signature_slot > update.attested_header.slot >= update.finalized_header.slot
|
||||||
store_period = compute_sync_committee_period_at_slot(store.finalized_header.slot)
|
store_period = compute_sync_committee_period_at_slot(store.finalized_header.slot)
|
||||||
signature_period = compute_sync_committee_period_at_slot(update.signature_slot)
|
update_signature_period = compute_sync_committee_period_at_slot(update.signature_slot)
|
||||||
assert signature_period in (store_period, store_period + 1)
|
assert update_signature_period in (store_period, store_period + 1)
|
||||||
|
|
||||||
# Verify update is relevant
|
# Verify update is relevant
|
||||||
attested_period = compute_sync_committee_period_at_slot(update.attested_header.slot)
|
update_attested_period = compute_sync_committee_period_at_slot(update.attested_header.slot)
|
||||||
assert update.attested_header.slot > store.finalized_header.slot
|
assert update.attested_header.slot > store.finalized_header.slot
|
||||||
|
|
||||||
# Verify that the `finality_branch`, if present, confirms `finalized_header`
|
# Verify that the `finality_branch`, if present, confirms `finalized_header`
|
||||||
@ -248,10 +248,10 @@ def validate_light_client_update(store: LightClientStore,
|
|||||||
# Verify that the `next_sync_committee`, if present, actually is the next sync committee saved in the
|
# Verify that the `next_sync_committee`, if present, actually is the next sync committee saved in the
|
||||||
# state of the `attested_header`
|
# state of the `attested_header`
|
||||||
if not is_sync_committee_update(update):
|
if not is_sync_committee_update(update):
|
||||||
assert attested_period == store_period
|
assert update_attested_period == store_period
|
||||||
assert update.next_sync_committee == SyncCommittee()
|
assert update.next_sync_committee == SyncCommittee()
|
||||||
else:
|
else:
|
||||||
if attested_period == store_period:
|
if update_attested_period == store_period:
|
||||||
assert update.next_sync_committee == store.next_sync_committee
|
assert update.next_sync_committee == store.next_sync_committee
|
||||||
assert is_valid_merkle_branch(
|
assert is_valid_merkle_branch(
|
||||||
leaf=hash_tree_root(update.next_sync_committee),
|
leaf=hash_tree_root(update.next_sync_committee),
|
||||||
@ -262,7 +262,7 @@ def validate_light_client_update(store: LightClientStore,
|
|||||||
)
|
)
|
||||||
|
|
||||||
# Verify sync committee aggregate signature
|
# Verify sync committee aggregate signature
|
||||||
if signature_period == store_period:
|
if update_signature_period == store_period:
|
||||||
sync_committee = store.current_sync_committee
|
sync_committee = store.current_sync_committee
|
||||||
else:
|
else:
|
||||||
sync_committee = store.next_sync_committee
|
sync_committee = store.next_sync_committee
|
||||||
@ -281,8 +281,8 @@ def validate_light_client_update(store: LightClientStore,
|
|||||||
```python
|
```python
|
||||||
def apply_light_client_update(store: LightClientStore, update: LightClientUpdate) -> None:
|
def apply_light_client_update(store: LightClientStore, update: LightClientUpdate) -> None:
|
||||||
store_period = compute_sync_committee_period_at_slot(store.finalized_header.slot)
|
store_period = compute_sync_committee_period_at_slot(store.finalized_header.slot)
|
||||||
finalized_period = compute_sync_committee_period_at_slot(update.finalized_header.slot)
|
update_finalized_period = compute_sync_committee_period_at_slot(update.finalized_header.slot)
|
||||||
if finalized_period == store_period + 1:
|
if update_finalized_period == store_period + 1:
|
||||||
store.current_sync_committee = store.next_sync_committee
|
store.current_sync_committee = store.next_sync_committee
|
||||||
store.next_sync_committee = update.next_sync_committee
|
store.next_sync_committee = update.next_sync_committee
|
||||||
store.finalized_header = update.finalized_header
|
store.finalized_header = update.finalized_header
|
||||||
|
Loading…
x
Reference in New Issue
Block a user