Merge pull request #2505 from ethereum/test_get_sync_subcommittee_pubkeys
Add Altair networking helper tests
This commit is contained in:
commit
8ad73d75a6
|
@ -0,0 +1,47 @@
|
||||||
|
from eth2spec.test.context import (
|
||||||
|
with_altair_and_later,
|
||||||
|
spec_state_test,
|
||||||
|
)
|
||||||
|
from eth2spec.test.helpers.state import (
|
||||||
|
transition_to,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@with_altair_and_later
|
||||||
|
@spec_state_test
|
||||||
|
def test_get_sync_subcommittee_pubkeys_current_sync_committee(state, spec):
|
||||||
|
# Transition to the head of the next period
|
||||||
|
transition_to(spec, state, spec.SLOTS_PER_EPOCH * spec.EPOCHS_PER_SYNC_COMMITTEE_PERIOD)
|
||||||
|
|
||||||
|
next_slot_epoch = spec.compute_epoch_at_slot(state.slot + 1)
|
||||||
|
assert (
|
||||||
|
spec.compute_sync_committee_period(spec.get_current_epoch(state))
|
||||||
|
== spec.compute_sync_committee_period(next_slot_epoch)
|
||||||
|
)
|
||||||
|
sync_committee = state.current_sync_committee
|
||||||
|
sync_subcommittee_size = spec.SYNC_COMMITTEE_SIZE // spec.SYNC_COMMITTEE_SUBNET_COUNT
|
||||||
|
subcommittee_index = 1
|
||||||
|
i = subcommittee_index * sync_subcommittee_size
|
||||||
|
|
||||||
|
expect = sync_committee.pubkeys[i:i + sync_subcommittee_size]
|
||||||
|
assert spec.get_sync_subcommittee_pubkeys(state, subcommittee_index) == expect
|
||||||
|
|
||||||
|
|
||||||
|
@with_altair_and_later
|
||||||
|
@spec_state_test
|
||||||
|
def test_get_sync_subcommittee_pubkeys_next_sync_committee(state, spec):
|
||||||
|
# Transition to the end of the current period
|
||||||
|
transition_to(spec, state, spec.SLOTS_PER_EPOCH * spec.EPOCHS_PER_SYNC_COMMITTEE_PERIOD - 1)
|
||||||
|
|
||||||
|
next_slot_epoch = spec.compute_epoch_at_slot(state.slot + 1)
|
||||||
|
assert (
|
||||||
|
spec.compute_sync_committee_period(spec.get_current_epoch(state))
|
||||||
|
!= spec.compute_sync_committee_period(next_slot_epoch)
|
||||||
|
)
|
||||||
|
sync_committee = state.next_sync_committee
|
||||||
|
sync_subcommittee_size = spec.SYNC_COMMITTEE_SIZE // spec.SYNC_COMMITTEE_SUBNET_COUNT
|
||||||
|
subcommittee_index = 1
|
||||||
|
i = subcommittee_index * sync_subcommittee_size
|
||||||
|
|
||||||
|
expect = sync_committee.pubkeys[i:i + sync_subcommittee_size]
|
||||||
|
assert spec.get_sync_subcommittee_pubkeys(state, subcommittee_index) == expect
|
Loading…
Reference in New Issue