32 lines
1.1 KiB
Python

from eth2spec.test.context import with_phases, spectest_with_bls_switch
from eth2spec.test.helpers.deposits import (
prepare_genesis_deposits,
)
@with_phases(['phase0'])
@spectest_with_bls_switch
def test_genesis(spec):
deposit_count = spec.GENESIS_ACTIVE_VALIDATOR_COUNT
genesis_deposits, deposit_root = prepare_genesis_deposits(spec, deposit_count, spec.MAX_EFFECTIVE_BALANCE)
genesis_time = 1546300800
genesis_eth1_block_hash = b'\x12' * 32
yield "deposits", genesis_deposits
yield "genesis_time", genesis_time
yield "genesis_eth1_block_hash", genesis_eth1_block_hash
genesis_state = spec.get_genesis_beacon_state(
genesis_deposits,
genesis_time,
genesis_eth1_block_hash,
)
assert genesis_state.genesis_time == genesis_time
assert len(genesis_state.validators) == deposit_count
assert genesis_state.eth1_data.deposit_root == deposit_root
assert genesis_state.eth1_data.deposit_count == deposit_count
assert genesis_state.eth1_data.block_hash == genesis_eth1_block_hash
yield "state", genesis_state