Merge pull request #1896 from lsankar4033/helper_tests
Add unit tests for `compute_fork_digest` and `compute_subnet_for_attestation`
This commit is contained in:
commit
7117d2e75a
|
@ -318,6 +318,19 @@ def test_get_block_signature(spec, state):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@with_all_phases
|
||||||
|
@spec_state_test
|
||||||
|
def test_compute_fork_digest(spec, state):
|
||||||
|
actual_fork_digest = spec.compute_fork_digest(state.fork.current_version, state.genesis_validators_root)
|
||||||
|
|
||||||
|
expected_fork_data_root = spec.hash_tree_root(
|
||||||
|
spec.ForkData(current_version=state.fork.current_version,
|
||||||
|
genesis_validators_root=state.genesis_validators_root))
|
||||||
|
expected_fork_digest = spec.ForkDigest(expected_fork_data_root[:4])
|
||||||
|
|
||||||
|
assert actual_fork_digest == expected_fork_digest
|
||||||
|
|
||||||
|
|
||||||
# Attesting
|
# Attesting
|
||||||
|
|
||||||
|
|
||||||
|
@ -341,6 +354,22 @@ def test_get_attestation_signature_phase0(spec, state):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@with_all_phases
|
||||||
|
@spec_state_test
|
||||||
|
def test_compute_subnet_for_attestation(spec, state):
|
||||||
|
for committee_idx in range(spec.MAX_COMMITTEES_PER_SLOT):
|
||||||
|
for slot in range(state.slot, state.slot + spec.SLOTS_PER_EPOCH):
|
||||||
|
actual_subnet_id = spec.compute_subnet_for_attestation(state, slot, committee_idx)
|
||||||
|
|
||||||
|
slots_since_epoch_start = slot % spec.SLOTS_PER_EPOCH
|
||||||
|
committees_since_epoch_start = spec.get_committee_count_at_slot(
|
||||||
|
state, slot) * slots_since_epoch_start
|
||||||
|
expected_subnet_id = (committees_since_epoch_start +
|
||||||
|
committee_idx) % spec.ATTESTATION_SUBNET_COUNT
|
||||||
|
|
||||||
|
assert actual_subnet_id == expected_subnet_id
|
||||||
|
|
||||||
|
|
||||||
# Attestation aggregation
|
# Attestation aggregation
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue