diff --git a/tests/core/pyspec/eth2spec/test/altair/sanity/test_blocks.py b/tests/core/pyspec/eth2spec/test/altair/sanity/test_blocks.py index 407455a0a..0c85bd1e2 100644 --- a/tests/core/pyspec/eth2spec/test/altair/sanity/test_blocks.py +++ b/tests/core/pyspec/eth2spec/test/altair/sanity/test_blocks.py @@ -98,4 +98,4 @@ def test_inactivity_scores(spec, state): yield 'post', state for pre, post in zip(previous_inactivity_scores, state.inactivity_scores): - assert post == pre + spec.INACTIVITY_SCORE_BIAS + assert post == pre + spec.config.INACTIVITY_SCORE_BIAS diff --git a/tests/core/pyspec/eth2spec/test/altair/transition/test_transition.py b/tests/core/pyspec/eth2spec/test/altair/transition/test_transition.py index c3b03d663..aa2f0694b 100644 --- a/tests/core/pyspec/eth2spec/test/altair/transition/test_transition.py +++ b/tests/core/pyspec/eth2spec/test/altair/transition/test_transition.py @@ -69,8 +69,8 @@ def _do_altair_fork(state, spec, post_spec, fork_epoch, with_block=True): state = post_spec.upgrade_to_altair(state) assert state.fork.epoch == fork_epoch - assert state.fork.previous_version == post_spec.GENESIS_FORK_VERSION - assert state.fork.current_version == post_spec.ALTAIR_FORK_VERSION + assert state.fork.previous_version == post_spec.config.GENESIS_FORK_VERSION + assert state.fork.current_version == post_spec.config.ALTAIR_FORK_VERSION if with_block: return state, _state_transition_and_sign_block_at_slot(post_spec, state) diff --git a/tests/core/pyspec/eth2spec/test/helpers/altair/fork.py b/tests/core/pyspec/eth2spec/test/helpers/altair/fork.py index b1074c881..78f37c50e 100644 --- a/tests/core/pyspec/eth2spec/test/helpers/altair/fork.py +++ b/tests/core/pyspec/eth2spec/test/helpers/altair/fork.py @@ -36,7 +36,7 @@ def run_fork_test(post_spec, pre_state): assert getattr(pre_state, field) != getattr(post_state, field) assert pre_state.fork.current_version == post_state.fork.previous_version - assert post_state.fork.current_version == post_spec.ALTAIR_FORK_VERSION + assert post_state.fork.current_version == post_spec.config.ALTAIR_FORK_VERSION assert post_state.fork.epoch == post_spec.get_current_epoch(post_state) yield 'post', post_state diff --git a/tests/core/pyspec/eth2spec/test/helpers/fork_choice.py b/tests/core/pyspec/eth2spec/test/helpers/fork_choice.py index f3b80b2ac..f6b007894 100644 --- a/tests/core/pyspec/eth2spec/test/helpers/fork_choice.py +++ b/tests/core/pyspec/eth2spec/test/helpers/fork_choice.py @@ -10,7 +10,7 @@ def get_anchor_root(spec, state): def add_block_to_store(spec, store, signed_block): pre_state = store.block_states[signed_block.message.parent_root] - block_time = pre_state.genesis_time + signed_block.message.slot * spec.SECONDS_PER_SLOT + block_time = pre_state.genesis_time + signed_block.message.slot * spec.config.SECONDS_PER_SLOT if store.time < block_time: spec.on_tick(store, block_time) @@ -23,7 +23,7 @@ def tick_and_run_on_block(spec, store, signed_block, test_steps=None): test_steps = [] pre_state = store.block_states[signed_block.message.parent_root] - block_time = pre_state.genesis_time + signed_block.message.slot * spec.SECONDS_PER_SLOT + block_time = pre_state.genesis_time + signed_block.message.slot * spec.config.SECONDS_PER_SLOT if store.time < block_time: on_tick_and_append_step(spec, store, block_time, test_steps) @@ -37,8 +37,8 @@ def tick_and_run_on_attestation(spec, store, attestation, test_steps=None): parent_block = store.blocks[attestation.data.beacon_block_root] pre_state = store.block_states[spec.hash_tree_root(parent_block)] - block_time = pre_state.genesis_time + parent_block.slot * spec.SECONDS_PER_SLOT - next_epoch_time = block_time + spec.SLOTS_PER_EPOCH * spec.SECONDS_PER_SLOT + block_time = pre_state.genesis_time + parent_block.slot * spec.config.SECONDS_PER_SLOT + next_epoch_time = block_time + spec.SLOTS_PER_EPOCH * spec.config.SECONDS_PER_SLOT if store.time < next_epoch_time: spec.on_tick(store, next_epoch_time) diff --git a/tests/core/pyspec/eth2spec/test/helpers/genesis.py b/tests/core/pyspec/eth2spec/test/helpers/genesis.py index c57442766..8617ce9f3 100644 --- a/tests/core/pyspec/eth2spec/test/helpers/genesis.py +++ b/tests/core/pyspec/eth2spec/test/helpers/genesis.py @@ -25,12 +25,12 @@ def create_genesis_state(spec, validator_balances, activation_threshold): deposit_root = b'\x42' * 32 eth1_block_hash = b'\xda' * 32 - current_version = spec.GENESIS_FORK_VERSION + current_version = spec.config.GENESIS_FORK_VERSION if spec.fork == ALTAIR: - current_version = spec.ALTAIR_FORK_VERSION + current_version = spec.config.ALTAIR_FORK_VERSION elif spec.fork == MERGE: - current_version = spec.MERGE_FORK_VERSION + current_version = spec.config.MERGE_FORK_VERSION state = spec.BeaconState( genesis_time=0, @@ -41,7 +41,7 @@ def create_genesis_state(spec, validator_balances, activation_threshold): block_hash=eth1_block_hash, ), fork=spec.Fork( - previous_version=spec.GENESIS_FORK_VERSION, + previous_version=spec.config.GENESIS_FORK_VERSION, current_version=current_version, epoch=spec.GENESIS_EPOCH, ), diff --git a/tests/core/pyspec/eth2spec/test/helpers/multi_operations.py b/tests/core/pyspec/eth2spec/test/helpers/multi_operations.py index 89ac95a3e..4b6c9b25d 100644 --- a/tests/core/pyspec/eth2spec/test/helpers/multi_operations.py +++ b/tests/core/pyspec/eth2spec/test/helpers/multi_operations.py @@ -19,7 +19,7 @@ def run_slash_and_exit(spec, state, slash_index, exit_index, valid=True): Helper function to run a test that slashes and exits two validators """ # move state forward SHARD_COMMITTEE_PERIOD epochs to allow for exit - state.slot += spec.SHARD_COMMITTEE_PERIOD * spec.SLOTS_PER_EPOCH + state.slot += spec.config.SHARD_COMMITTEE_PERIOD * spec.SLOTS_PER_EPOCH yield 'pre', state @@ -127,7 +127,7 @@ def get_random_voluntary_exits(spec, state, to_be_slashed_indices, rng): def run_test_full_random_operations(spec, state, rng=Random(2080)): # move state forward SHARD_COMMITTEE_PERIOD epochs to allow for exit - state.slot += spec.SHARD_COMMITTEE_PERIOD * spec.SLOTS_PER_EPOCH + state.slot += spec.config.SHARD_COMMITTEE_PERIOD * spec.SLOTS_PER_EPOCH # prepare state for deposits before building block deposits = prepare_state_and_get_random_deposits(spec, state, rng) diff --git a/tests/core/pyspec/eth2spec/test/helpers/rewards.py b/tests/core/pyspec/eth2spec/test/helpers/rewards.py index 86bb70133..fefa19886 100644 --- a/tests/core/pyspec/eth2spec/test/helpers/rewards.py +++ b/tests/core/pyspec/eth2spec/test/helpers/rewards.py @@ -45,7 +45,7 @@ def has_enough_for_leak_penalty(spec, state, index): if is_post_altair(spec): return ( state.validators[index].effective_balance * state.inactivity_scores[index] - > spec.INACTIVITY_SCORE_BIAS * spec.INACTIVITY_PENALTY_QUOTIENT_ALTAIR + > spec.config.INACTIVITY_SCORE_BIAS * spec.INACTIVITY_PENALTY_QUOTIENT_ALTAIR ) else: return ( diff --git a/tests/core/pyspec/eth2spec/test/helpers/state.py b/tests/core/pyspec/eth2spec/test/helpers/state.py index d61df7610..74521087d 100644 --- a/tests/core/pyspec/eth2spec/test/helpers/state.py +++ b/tests/core/pyspec/eth2spec/test/helpers/state.py @@ -42,10 +42,10 @@ def transition_to_slot_via_block(spec, state, slot): def transition_to_valid_shard_slot(spec, state): """ - Transition to slot `compute_epoch_at_slot(spec.SHARDING_FORK_EPOCH) + 1` - and fork at `compute_epoch_at_slot(spec.SHARDING_FORK_EPOCH)`. + Transition to slot `compute_epoch_at_slot(spec.config.SHARDING_FORK_EPOCH) + 1` + and fork at `compute_epoch_at_slot(spec.config.SHARDING_FORK_EPOCH)`. """ - transition_to(spec, state, spec.compute_epoch_at_slot(spec.SHARDING_FORK_EPOCH)) + transition_to(spec, state, spec.compute_epoch_at_slot(spec.config.SHARDING_FORK_EPOCH)) next_slot(spec, state) diff --git a/tests/core/pyspec/eth2spec/test/phase0/block_processing/test_process_voluntary_exit.py b/tests/core/pyspec/eth2spec/test/phase0/block_processing/test_process_voluntary_exit.py index 9464f80aa..f713d1792 100644 --- a/tests/core/pyspec/eth2spec/test/phase0/block_processing/test_process_voluntary_exit.py +++ b/tests/core/pyspec/eth2spec/test/phase0/block_processing/test_process_voluntary_exit.py @@ -35,7 +35,7 @@ def run_voluntary_exit_processing(spec, state, signed_voluntary_exit, valid=True @spec_state_test def test_success(spec, state): # move state forward SHARD_COMMITTEE_PERIOD epochs to allow for exit - state.slot += spec.SHARD_COMMITTEE_PERIOD * spec.SLOTS_PER_EPOCH + state.slot += spec.config.SHARD_COMMITTEE_PERIOD * spec.SLOTS_PER_EPOCH current_epoch = spec.get_current_epoch(state) validator_index = spec.get_active_validator_indices(state, current_epoch)[0] @@ -54,7 +54,7 @@ def test_success(spec, state): @always_bls def test_invalid_signature(spec, state): # move state forward SHARD_COMMITTEE_PERIOD epochs to allow for exit - state.slot += spec.SHARD_COMMITTEE_PERIOD * spec.SLOTS_PER_EPOCH + state.slot += spec.config.SHARD_COMMITTEE_PERIOD * spec.SLOTS_PER_EPOCH current_epoch = spec.get_current_epoch(state) validator_index = spec.get_active_validator_indices(state, current_epoch)[0] @@ -72,7 +72,7 @@ def test_invalid_signature(spec, state): @spec_state_test def test_success_exit_queue(spec, state): # move state forward SHARD_COMMITTEE_PERIOD epochs to allow for exit - state.slot += spec.SHARD_COMMITTEE_PERIOD * spec.SLOTS_PER_EPOCH + state.slot += spec.config.SHARD_COMMITTEE_PERIOD * spec.SLOTS_PER_EPOCH current_epoch = spec.get_current_epoch(state) @@ -116,7 +116,7 @@ def test_success_exit_queue(spec, state): @spec_state_test def test_default_exit_epoch_subsequent_exit(spec, state): # move state forward SHARD_COMMITTEE_PERIOD epochs to allow for exit - state.slot += spec.SHARD_COMMITTEE_PERIOD * spec.SLOTS_PER_EPOCH + state.slot += spec.config.SHARD_COMMITTEE_PERIOD * spec.SLOTS_PER_EPOCH current_epoch = spec.get_current_epoch(state) validator_index = spec.get_active_validator_indices(state, current_epoch)[0] @@ -138,7 +138,7 @@ def test_default_exit_epoch_subsequent_exit(spec, state): @spec_state_test def test_validator_exit_in_future(spec, state): # move state forward SHARD_COMMITTEE_PERIOD epochs to allow for exit - state.slot += spec.SHARD_COMMITTEE_PERIOD * spec.SLOTS_PER_EPOCH + state.slot += spec.config.SHARD_COMMITTEE_PERIOD * spec.SLOTS_PER_EPOCH current_epoch = spec.get_current_epoch(state) validator_index = spec.get_active_validator_indices(state, current_epoch)[0] @@ -157,7 +157,7 @@ def test_validator_exit_in_future(spec, state): @spec_state_test def test_validator_invalid_validator_index(spec, state): # move state forward SHARD_COMMITTEE_PERIOD epochs to allow for exit - state.slot += spec.SHARD_COMMITTEE_PERIOD * spec.SLOTS_PER_EPOCH + state.slot += spec.config.SHARD_COMMITTEE_PERIOD * spec.SLOTS_PER_EPOCH current_epoch = spec.get_current_epoch(state) validator_index = spec.get_active_validator_indices(state, current_epoch)[0] @@ -191,7 +191,7 @@ def test_validator_not_active(spec, state): @spec_state_test def test_validator_already_exited(spec, state): # move state forward SHARD_COMMITTEE_PERIOD epochs to allow validator able to exit - state.slot += spec.SHARD_COMMITTEE_PERIOD * spec.SLOTS_PER_EPOCH + state.slot += spec.config.SHARD_COMMITTEE_PERIOD * spec.SLOTS_PER_EPOCH current_epoch = spec.get_current_epoch(state) validator_index = spec.get_active_validator_indices(state, current_epoch)[0] @@ -218,7 +218,7 @@ def test_validator_not_active_long_enough(spec, state): assert ( current_epoch - state.validators[validator_index].activation_epoch < - spec.SHARD_COMMITTEE_PERIOD + spec.config.SHARD_COMMITTEE_PERIOD ) yield from run_voluntary_exit_processing(spec, state, signed_voluntary_exit, False) diff --git a/tests/core/pyspec/eth2spec/test/phase0/epoch_processing/test_process_rewards_and_penalties.py b/tests/core/pyspec/eth2spec/test/phase0/epoch_processing/test_process_rewards_and_penalties.py index 9abcff57e..7ff4e83d3 100644 --- a/tests/core/pyspec/eth2spec/test/phase0/epoch_processing/test_process_rewards_and_penalties.py +++ b/tests/core/pyspec/eth2spec/test/phase0/epoch_processing/test_process_rewards_and_penalties.py @@ -423,7 +423,7 @@ def test_attestations_some_slashed(spec, state): attesting_indices_before_slashings = list(spec.get_unslashed_attesting_indices(state, attestations)) # Slash maximum amount of validators allowed per epoch. - for i in range(spec.MIN_PER_EPOCH_CHURN_LIMIT): + for i in range(spec.config.MIN_PER_EPOCH_CHURN_LIMIT): spec.slash_validator(state, attesting_indices_before_slashings[i]) if not is_post_altair(spec): @@ -435,5 +435,5 @@ def test_attestations_some_slashed(spec, state): attesting_indices = spec.get_unslashed_attesting_indices(state, attestations) assert len(attesting_indices) > 0 - assert len(attesting_indices_before_slashings) - len(attesting_indices) == spec.MIN_PER_EPOCH_CHURN_LIMIT + assert len(attesting_indices_before_slashings) - len(attesting_indices) == spec.config.MIN_PER_EPOCH_CHURN_LIMIT validate_resulting_balances(spec, pre_state, state, attestations) diff --git a/tests/core/pyspec/eth2spec/test/phase0/fork_choice/test_get_head.py b/tests/core/pyspec/eth2spec/test/phase0/fork_choice/test_get_head.py index fae1c5ae2..bce886931 100644 --- a/tests/core/pyspec/eth2spec/test/phase0/fork_choice/test_get_head.py +++ b/tests/core/pyspec/eth2spec/test/phase0/fork_choice/test_get_head.py @@ -197,7 +197,7 @@ def test_filtered_block_tree(spec, state): assert state.current_justified_checkpoint.epoch > prev_state.current_justified_checkpoint.epoch # tick time forward and add blocks and attestations to store - current_time = state.slot * spec.SECONDS_PER_SLOT + store.genesis_time + current_time = state.slot * spec.config.SECONDS_PER_SLOT + store.genesis_time on_tick_and_append_step(spec, store, current_time, test_steps) for signed_block in signed_blocks: yield from run_on_block(spec, store, signed_block, test_steps) @@ -243,7 +243,7 @@ def test_filtered_block_tree(spec, state): attestations.append(attestation) # tick time forward to be able to include up to the latest attestation - current_time = (attestations[-1].data.slot + 1) * spec.SECONDS_PER_SLOT + store.genesis_time + current_time = (attestations[-1].data.slot + 1) * spec.config.SECONDS_PER_SLOT + store.genesis_time on_tick_and_append_step(spec, store, current_time, test_steps) # include rogue block and associated attestations in the store diff --git a/tests/core/pyspec/eth2spec/test/phase0/sanity/test_blocks.py b/tests/core/pyspec/eth2spec/test/phase0/sanity/test_blocks.py index 8aab1e9ee..117ce1947 100644 --- a/tests/core/pyspec/eth2spec/test/phase0/sanity/test_blocks.py +++ b/tests/core/pyspec/eth2spec/test/phase0/sanity/test_blocks.py @@ -814,7 +814,7 @@ def test_voluntary_exit(spec, state): validator_index = spec.get_active_validator_indices(state, spec.get_current_epoch(state))[-1] # move state forward SHARD_COMMITTEE_PERIOD epochs to allow for exit - state.slot += spec.SHARD_COMMITTEE_PERIOD * spec.SLOTS_PER_EPOCH + state.slot += spec.config.SHARD_COMMITTEE_PERIOD * spec.SLOTS_PER_EPOCH signed_exits = prepare_signed_exits(spec, state, [validator_index]) yield 'pre', state @@ -842,7 +842,7 @@ def test_double_validator_exit_same_block(spec, state): validator_index = spec.get_active_validator_indices(state, spec.get_current_epoch(state))[-1] # move state forward SHARD_COMMITTEE_PERIOD epochs to allow for exit - state.slot += spec.SHARD_COMMITTEE_PERIOD * spec.SLOTS_PER_EPOCH + state.slot += spec.config.SHARD_COMMITTEE_PERIOD * spec.SLOTS_PER_EPOCH # Same index tries to exit twice, but should only be able to do so once. signed_exits = prepare_signed_exits(spec, state, [validator_index, validator_index]) @@ -866,7 +866,7 @@ def test_multiple_different_validator_exits_same_block(spec, state): for i in range(3) ] # move state forward SHARD_COMMITTEE_PERIOD epochs to allow for exit - state.slot += spec.SHARD_COMMITTEE_PERIOD * spec.SLOTS_PER_EPOCH + state.slot += spec.config.SHARD_COMMITTEE_PERIOD * spec.SLOTS_PER_EPOCH signed_exits = prepare_signed_exits(spec, state, validator_indices) yield 'pre', state diff --git a/tests/core/pyspec/eth2spec/test/phase0/unittests/fork_choice/test_on_attestation.py b/tests/core/pyspec/eth2spec/test/phase0/unittests/fork_choice/test_on_attestation.py index 8ff6bbb38..9007a778f 100644 --- a/tests/core/pyspec/eth2spec/test/phase0/unittests/fork_choice/test_on_attestation.py +++ b/tests/core/pyspec/eth2spec/test/phase0/unittests/fork_choice/test_on_attestation.py @@ -35,7 +35,7 @@ def run_on_attestation(spec, state, store, attestation, valid=True): @spec_state_test def test_on_attestation_current_epoch(spec, state): store = get_genesis_forkchoice_store(spec, state) - spec.on_tick(store, store.time + spec.SECONDS_PER_SLOT * 2) + spec.on_tick(store, store.time + spec.config.SECONDS_PER_SLOT * 2) block = build_empty_block_for_next_slot(spec, state) signed_block = state_transition_and_sign_block(spec, state, block) @@ -54,7 +54,7 @@ def test_on_attestation_current_epoch(spec, state): @spec_state_test def test_on_attestation_previous_epoch(spec, state): store = get_genesis_forkchoice_store(spec, state) - spec.on_tick(store, store.time + spec.SECONDS_PER_SLOT * spec.SLOTS_PER_EPOCH) + spec.on_tick(store, store.time + spec.config.SECONDS_PER_SLOT * spec.SLOTS_PER_EPOCH) block = build_empty_block_for_next_slot(spec, state) signed_block = state_transition_and_sign_block(spec, state, block) @@ -75,7 +75,7 @@ def test_on_attestation_past_epoch(spec, state): store = get_genesis_forkchoice_store(spec, state) # move time forward 2 epochs - time = store.time + 2 * spec.SECONDS_PER_SLOT * spec.SLOTS_PER_EPOCH + time = store.time + 2 * spec.config.SECONDS_PER_SLOT * spec.SLOTS_PER_EPOCH spec.on_tick(store, time) # create and store block from 3 epochs ago @@ -95,7 +95,7 @@ def test_on_attestation_past_epoch(spec, state): @spec_state_test def test_on_attestation_mismatched_target_and_slot(spec, state): store = get_genesis_forkchoice_store(spec, state) - spec.on_tick(store, store.time + spec.SECONDS_PER_SLOT * spec.SLOTS_PER_EPOCH) + spec.on_tick(store, store.time + spec.config.SECONDS_PER_SLOT * spec.SLOTS_PER_EPOCH) block = build_empty_block_for_next_slot(spec, state) signed_block = state_transition_and_sign_block(spec, state, block) @@ -118,7 +118,7 @@ def test_on_attestation_mismatched_target_and_slot(spec, state): @spec_state_test def test_on_attestation_inconsistent_target_and_head(spec, state): store = get_genesis_forkchoice_store(spec, state) - spec.on_tick(store, store.time + 2 * spec.SECONDS_PER_SLOT * spec.SLOTS_PER_EPOCH) + spec.on_tick(store, store.time + 2 * spec.config.SECONDS_PER_SLOT * spec.SLOTS_PER_EPOCH) # Create chain 1 as empty chain between genesis and start of 1st epoch target_state_1 = state.copy() @@ -156,7 +156,7 @@ def test_on_attestation_inconsistent_target_and_head(spec, state): @spec_state_test def test_on_attestation_target_block_not_in_store(spec, state): store = get_genesis_forkchoice_store(spec, state) - time = store.time + spec.SECONDS_PER_SLOT * (spec.SLOTS_PER_EPOCH + 1) + time = store.time + spec.config.SECONDS_PER_SLOT * (spec.SLOTS_PER_EPOCH + 1) spec.on_tick(store, time) # move to immediately before next epoch to make block new target @@ -178,7 +178,7 @@ def test_on_attestation_target_block_not_in_store(spec, state): @spec_state_test def test_on_attestation_target_checkpoint_not_in_store(spec, state): store = get_genesis_forkchoice_store(spec, state) - time = store.time + spec.SECONDS_PER_SLOT * (spec.SLOTS_PER_EPOCH + 1) + time = store.time + spec.config.SECONDS_PER_SLOT * (spec.SLOTS_PER_EPOCH + 1) spec.on_tick(store, time) # move to immediately before next epoch to make block new target @@ -203,7 +203,7 @@ def test_on_attestation_target_checkpoint_not_in_store(spec, state): @spec_state_test def test_on_attestation_target_checkpoint_not_in_store_diff_slot(spec, state): store = get_genesis_forkchoice_store(spec, state) - time = store.time + spec.SECONDS_PER_SLOT * (spec.SLOTS_PER_EPOCH + 1) + time = store.time + spec.config.SECONDS_PER_SLOT * (spec.SLOTS_PER_EPOCH + 1) spec.on_tick(store, time) # move to two slots before next epoch to make target block one before an empty slot @@ -230,7 +230,7 @@ def test_on_attestation_target_checkpoint_not_in_store_diff_slot(spec, state): @spec_state_test def test_on_attestation_beacon_block_not_in_store(spec, state): store = get_genesis_forkchoice_store(spec, state) - time = store.time + spec.SECONDS_PER_SLOT * (spec.SLOTS_PER_EPOCH + 1) + time = store.time + spec.config.SECONDS_PER_SLOT * (spec.SLOTS_PER_EPOCH + 1) spec.on_tick(store, time) # move to immediately before next epoch to make block new target @@ -259,7 +259,7 @@ def test_on_attestation_beacon_block_not_in_store(spec, state): @spec_state_test def test_on_attestation_future_epoch(spec, state): store = get_genesis_forkchoice_store(spec, state) - time = store.time + 3 * spec.SECONDS_PER_SLOT + time = store.time + 3 * spec.config.SECONDS_PER_SLOT spec.on_tick(store, time) block = build_empty_block_for_next_slot(spec, state) @@ -279,7 +279,7 @@ def test_on_attestation_future_epoch(spec, state): @spec_state_test def test_on_attestation_future_block(spec, state): store = get_genesis_forkchoice_store(spec, state) - time = store.time + spec.SECONDS_PER_SLOT * 5 + time = store.time + spec.config.SECONDS_PER_SLOT * 5 spec.on_tick(store, time) block = build_empty_block_for_next_slot(spec, state) @@ -299,7 +299,7 @@ def test_on_attestation_future_block(spec, state): @spec_state_test def test_on_attestation_same_slot(spec, state): store = get_genesis_forkchoice_store(spec, state) - time = store.time + spec.SECONDS_PER_SLOT + time = store.time + spec.config.SECONDS_PER_SLOT spec.on_tick(store, time) block = build_empty_block_for_next_slot(spec, state) @@ -315,7 +315,7 @@ def test_on_attestation_same_slot(spec, state): @spec_state_test def test_on_attestation_invalid_attestation(spec, state): store = get_genesis_forkchoice_store(spec, state) - time = store.time + 3 * spec.SECONDS_PER_SLOT + time = store.time + 3 * spec.config.SECONDS_PER_SLOT spec.on_tick(store, time) block = build_empty_block_for_next_slot(spec, state) diff --git a/tests/core/pyspec/eth2spec/test/phase0/unittests/fork_choice/test_on_block.py b/tests/core/pyspec/eth2spec/test/phase0/unittests/fork_choice/test_on_block.py index 48ea78e39..b1862d093 100644 --- a/tests/core/pyspec/eth2spec/test/phase0/unittests/fork_choice/test_on_block.py +++ b/tests/core/pyspec/eth2spec/test/phase0/unittests/fork_choice/test_on_block.py @@ -30,7 +30,7 @@ def apply_next_epoch_with_attestations(spec, state, store): store.blocks[block_root] = block store.block_states[block_root] = post_state last_signed_block = signed_block - spec.on_tick(store, store.time + state.slot * spec.SECONDS_PER_SLOT) + spec.on_tick(store, store.time + state.slot * spec.config.SECONDS_PER_SLOT) return post_state, store, last_signed_block @@ -49,7 +49,7 @@ def test_basic(spec, state): run_on_block(spec, store, signed_block) # On receiving a block of next epoch - store.time = time + spec.SECONDS_PER_SLOT * spec.SLOTS_PER_EPOCH + store.time = time + spec.config.SECONDS_PER_SLOT * spec.SLOTS_PER_EPOCH block = build_empty_block(spec, state, state.slot + spec.SLOTS_PER_EPOCH) signed_block = state_transition_and_sign_block(spec, state, block) @@ -67,10 +67,10 @@ def test_on_block_checkpoints(spec, state): spec.on_tick(store, time) next_epoch(spec, state) - spec.on_tick(store, store.time + state.slot * spec.SECONDS_PER_SLOT) + spec.on_tick(store, store.time + state.slot * spec.config.SECONDS_PER_SLOT) state, store, last_signed_block = apply_next_epoch_with_attestations(spec, state, store) next_epoch(spec, state) - spec.on_tick(store, store.time + state.slot * spec.SECONDS_PER_SLOT) + spec.on_tick(store, store.time + state.slot * spec.config.SECONDS_PER_SLOT) last_block_root = hash_tree_root(last_signed_block.message) # Mock the finalized_checkpoint @@ -153,7 +153,7 @@ def test_on_block_finalized_skip_slots(spec, state): # Build block that includes the skipped slots up to finality in chain block = build_empty_block(spec, state, spec.compute_start_slot_at_epoch(store.finalized_checkpoint.epoch) + 2) signed_block = state_transition_and_sign_block(spec, state, block) - spec.on_tick(store, store.time + state.slot * spec.SECONDS_PER_SLOT) + spec.on_tick(store, store.time + state.slot * spec.config.SECONDS_PER_SLOT) run_on_block(spec, store, signed_block) @@ -178,7 +178,7 @@ def test_on_block_finalized_skip_slots_not_in_skip_chain(spec, state): # Includes finalized block in chain, but not at appropriate skip slot block = build_empty_block(spec, state, spec.compute_start_slot_at_epoch(store.finalized_checkpoint.epoch) + 2) signed_block = state_transition_and_sign_block(spec, state, block) - spec.on_tick(store, store.time + state.slot * spec.SECONDS_PER_SLOT) + spec.on_tick(store, store.time + state.slot * spec.config.SECONDS_PER_SLOT) run_on_block(spec, store, signed_block, False) @@ -191,10 +191,10 @@ def test_on_block_update_justified_checkpoint_within_safe_slots(spec, state): spec.on_tick(store, time) next_epoch(spec, state) - spec.on_tick(store, store.time + state.slot * spec.SECONDS_PER_SLOT) + spec.on_tick(store, store.time + state.slot * spec.config.SECONDS_PER_SLOT) state, store, last_signed_block = apply_next_epoch_with_attestations(spec, state, store) next_epoch(spec, state) - spec.on_tick(store, store.time + state.slot * spec.SECONDS_PER_SLOT) + spec.on_tick(store, store.time + state.slot * spec.config.SECONDS_PER_SLOT) last_block_root = hash_tree_root(last_signed_block.message) # Mock the justified checkpoint @@ -222,7 +222,7 @@ def test_on_block_outside_safe_slots_and_multiple_better_justified(spec, state): spec.on_tick(store, time) next_epoch(spec, state) - spec.on_tick(store, store.time + state.slot * spec.SECONDS_PER_SLOT) + spec.on_tick(store, store.time + state.slot * spec.config.SECONDS_PER_SLOT) state, store, last_signed_block = apply_next_epoch_with_attestations(spec, state, store) last_block_root = hash_tree_root(last_signed_block.message) @@ -233,14 +233,14 @@ def test_on_block_outside_safe_slots_and_multiple_better_justified(spec, state): ) next_epoch(spec, state) - spec.on_tick(store, store.time + state.slot * spec.SECONDS_PER_SLOT) + spec.on_tick(store, store.time + state.slot * spec.config.SECONDS_PER_SLOT) # Create new higher justified checkpoint not in branch of store's justified checkpoint just_block = build_empty_block_for_next_slot(spec, state) store.blocks[just_block.hash_tree_root()] = just_block # Step time past safe slots - spec.on_tick(store, store.time + spec.SAFE_SLOTS_TO_UPDATE_JUSTIFIED * spec.SECONDS_PER_SLOT) + spec.on_tick(store, store.time + spec.SAFE_SLOTS_TO_UPDATE_JUSTIFIED * spec.config.SECONDS_PER_SLOT) assert spec.get_current_slot(store) % spec.SLOTS_PER_EPOCH >= spec.SAFE_SLOTS_TO_UPDATE_JUSTIFIED previously_justified = store.justified_checkpoint @@ -277,7 +277,7 @@ def test_on_block_outside_safe_slots_but_finality(spec, state): spec.on_tick(store, time) next_epoch(spec, state) - spec.on_tick(store, store.time + state.slot * spec.SECONDS_PER_SLOT) + spec.on_tick(store, store.time + state.slot * spec.config.SECONDS_PER_SLOT) state, store, last_signed_block = apply_next_epoch_with_attestations(spec, state, store) last_block_root = hash_tree_root(last_signed_block.message) @@ -288,14 +288,14 @@ def test_on_block_outside_safe_slots_but_finality(spec, state): ) next_epoch(spec, state) - spec.on_tick(store, store.time + state.slot * spec.SECONDS_PER_SLOT) + spec.on_tick(store, store.time + state.slot * spec.config.SECONDS_PER_SLOT) # Create new higher justified checkpoint not in branch of store's justified checkpoint just_block = build_empty_block_for_next_slot(spec, state) store.blocks[just_block.hash_tree_root()] = just_block # Step time past safe slots - spec.on_tick(store, store.time + spec.SAFE_SLOTS_TO_UPDATE_JUSTIFIED * spec.SECONDS_PER_SLOT) + spec.on_tick(store, store.time + spec.SAFE_SLOTS_TO_UPDATE_JUSTIFIED * spec.config.SECONDS_PER_SLOT) assert spec.get_current_slot(store) % spec.SLOTS_PER_EPOCH >= spec.SAFE_SLOTS_TO_UPDATE_JUSTIFIED # Mock justified and finalized update in state diff --git a/tests/core/pyspec/eth2spec/test/phase0/unittests/fork_choice/test_on_tick.py b/tests/core/pyspec/eth2spec/test/phase0/unittests/fork_choice/test_on_tick.py index 9cf0e9e26..ef643fd6b 100644 --- a/tests/core/pyspec/eth2spec/test/phase0/unittests/fork_choice/test_on_tick.py +++ b/tests/core/pyspec/eth2spec/test/phase0/unittests/fork_choice/test_on_tick.py @@ -30,7 +30,7 @@ def test_update_justified_single(spec, state): store = get_genesis_forkchoice_store(spec, state) next_epoch = spec.get_current_epoch(state) + 1 next_epoch_start_slot = spec.compute_start_slot_at_epoch(next_epoch) - seconds_until_next_epoch = next_epoch_start_slot * spec.SECONDS_PER_SLOT - store.time + seconds_until_next_epoch = next_epoch_start_slot * spec.config.SECONDS_PER_SLOT - store.time store.best_justified_checkpoint = spec.Checkpoint( epoch=store.justified_checkpoint.epoch + 1, @@ -44,7 +44,7 @@ def test_update_justified_single(spec, state): @spec_state_test def test_no_update_same_slot_at_epoch_boundary(spec, state): store = get_genesis_forkchoice_store(spec, state) - seconds_per_epoch = spec.SECONDS_PER_SLOT * spec.SLOTS_PER_EPOCH + seconds_per_epoch = spec.config.SECONDS_PER_SLOT * spec.SLOTS_PER_EPOCH store.best_justified_checkpoint = spec.Checkpoint( epoch=store.justified_checkpoint.epoch + 1, @@ -67,14 +67,14 @@ def test_no_update_not_epoch_boundary(spec, state): root=b'\x55' * 32, ) - run_on_tick(spec, store, store.time + spec.SECONDS_PER_SLOT) + run_on_tick(spec, store, store.time + spec.config.SECONDS_PER_SLOT) @with_all_phases @spec_state_test def test_no_update_new_justified_equal_epoch(spec, state): store = get_genesis_forkchoice_store(spec, state) - seconds_per_epoch = spec.SECONDS_PER_SLOT * spec.SLOTS_PER_EPOCH + seconds_per_epoch = spec.config.SECONDS_PER_SLOT * spec.SLOTS_PER_EPOCH store.best_justified_checkpoint = spec.Checkpoint( epoch=store.justified_checkpoint.epoch + 1, @@ -93,7 +93,7 @@ def test_no_update_new_justified_equal_epoch(spec, state): @spec_state_test def test_no_update_new_justified_later_epoch(spec, state): store = get_genesis_forkchoice_store(spec, state) - seconds_per_epoch = spec.SECONDS_PER_SLOT * spec.SLOTS_PER_EPOCH + seconds_per_epoch = spec.config.SECONDS_PER_SLOT * spec.SLOTS_PER_EPOCH store.best_justified_checkpoint = spec.Checkpoint( epoch=store.justified_checkpoint.epoch + 1, diff --git a/tests/core/pyspec/eth2spec/test/phase0/unittests/validator/test_validator_unittest.py b/tests/core/pyspec/eth2spec/test/phase0/unittests/validator/test_validator_unittest.py index fb63839d6..23d6d78ee 100644 --- a/tests/core/pyspec/eth2spec/test/phase0/unittests/validator/test_validator_unittest.py +++ b/tests/core/pyspec/eth2spec/test/phase0/unittests/validator/test_validator_unittest.py @@ -41,8 +41,8 @@ def run_is_candidate_block(spec, eth1_block, period_start, success=True): def get_min_new_period_epochs(spec): return ( - (spec.SECONDS_PER_ETH1_BLOCK * spec.ETH1_FOLLOW_DISTANCE * 2) # to seconds - // spec.SECONDS_PER_SLOT // spec.SLOTS_PER_EPOCH + (spec.config.SECONDS_PER_ETH1_BLOCK * spec.config.ETH1_FOLLOW_DISTANCE * 2) # to seconds + // spec.config.SECONDS_PER_SLOT // spec.SLOTS_PER_EPOCH ) @@ -140,28 +140,28 @@ def test_get_epoch_signature(spec, state): @with_all_phases @spec_state_test def test_is_candidate_block(spec, state): - period_start = spec.SECONDS_PER_ETH1_BLOCK * spec.ETH1_FOLLOW_DISTANCE * 2 + 1000 + period_start = spec.config.SECONDS_PER_ETH1_BLOCK * spec.config.ETH1_FOLLOW_DISTANCE * 2 + 1000 run_is_candidate_block( spec, - spec.Eth1Block(timestamp=period_start - spec.SECONDS_PER_ETH1_BLOCK * spec.ETH1_FOLLOW_DISTANCE), + spec.Eth1Block(timestamp=period_start - spec.config.SECONDS_PER_ETH1_BLOCK * spec.config.ETH1_FOLLOW_DISTANCE), period_start, success=True, ) run_is_candidate_block( spec, - spec.Eth1Block(timestamp=period_start - spec.SECONDS_PER_ETH1_BLOCK * spec.ETH1_FOLLOW_DISTANCE + 1), + spec.Eth1Block(timestamp=period_start - spec.config.SECONDS_PER_ETH1_BLOCK * spec.config.ETH1_FOLLOW_DISTANCE + 1), period_start, success=False, ) run_is_candidate_block( spec, - spec.Eth1Block(timestamp=period_start - spec.SECONDS_PER_ETH1_BLOCK * spec.ETH1_FOLLOW_DISTANCE * 2), + spec.Eth1Block(timestamp=period_start - spec.config.SECONDS_PER_ETH1_BLOCK * spec.config.ETH1_FOLLOW_DISTANCE * 2), period_start, success=True, ) run_is_candidate_block( spec, - spec.Eth1Block(timestamp=period_start - spec.SECONDS_PER_ETH1_BLOCK * spec.ETH1_FOLLOW_DISTANCE * 2 - 1), + spec.Eth1Block(timestamp=period_start - spec.config.SECONDS_PER_ETH1_BLOCK * spec.config.ETH1_FOLLOW_DISTANCE * 2 - 1), period_start, success=False, ) @@ -193,12 +193,12 @@ def test_get_eth1_vote_consensus_vote(spec, state): state.eth1_data_votes = () block_1 = spec.Eth1Block( - timestamp=period_start - spec.SECONDS_PER_ETH1_BLOCK * spec.ETH1_FOLLOW_DISTANCE - 1, + timestamp=period_start - spec.config.SECONDS_PER_ETH1_BLOCK * spec.config.ETH1_FOLLOW_DISTANCE - 1, deposit_count=state.eth1_data.deposit_count, deposit_root=b'\x04' * 32, ) block_2 = spec.Eth1Block( - timestamp=period_start - spec.SECONDS_PER_ETH1_BLOCK * spec.ETH1_FOLLOW_DISTANCE, + timestamp=period_start - spec.config.SECONDS_PER_ETH1_BLOCK * spec.config.ETH1_FOLLOW_DISTANCE, deposit_count=state.eth1_data.deposit_count + 1, deposit_root=b'\x05' * 32, ) @@ -229,12 +229,12 @@ def test_get_eth1_vote_tie(spec, state): state.eth1_data_votes = () block_1 = spec.Eth1Block( - timestamp=period_start - spec.SECONDS_PER_ETH1_BLOCK * spec.ETH1_FOLLOW_DISTANCE - 1, + timestamp=period_start - spec.config.SECONDS_PER_ETH1_BLOCK * spec.config.ETH1_FOLLOW_DISTANCE - 1, deposit_count=state.eth1_data.deposit_count, deposit_root=b'\x04' * 32, ) block_2 = spec.Eth1Block( - timestamp=period_start - spec.SECONDS_PER_ETH1_BLOCK * spec.ETH1_FOLLOW_DISTANCE, + timestamp=period_start - spec.config.SECONDS_PER_ETH1_BLOCK * spec.config.ETH1_FOLLOW_DISTANCE, deposit_count=state.eth1_data.deposit_count + 1, deposit_root=b'\x05' * 32, ) @@ -268,7 +268,7 @@ def test_get_eth1_vote_chain_in_past(spec, state): state.eth1_data_votes = () block_1 = spec.Eth1Block( - timestamp=period_start - spec.SECONDS_PER_ETH1_BLOCK * spec.ETH1_FOLLOW_DISTANCE, + timestamp=period_start - spec.config.SECONDS_PER_ETH1_BLOCK * spec.config.ETH1_FOLLOW_DISTANCE, deposit_count=state.eth1_data.deposit_count - 1, # Chain prior to current eth1data deposit_root=b'\x42' * 32, )