Merge pull request #2017 from ethereum/reveal_deadlines_setting

Add `disable_process_reveal_deadlines` decorator and `reveal_deadlines_setting` meta tag
This commit is contained in:
Diederik Loerakker 2020-09-07 18:15:43 +02:00 committed by GitHub
commit 62cd4e80d4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 114 additions and 46 deletions

View File

@ -264,6 +264,24 @@ def bls_switch(fn):
return entry return entry
def disable_process_reveal_deadlines(fn):
"""
Decorator to make a function execute with `process_reveal_deadlines` OFF.
This is for testing long-range epochs transition without considering the reveal-deadline slashing effect.
"""
def entry(*args, spec: Spec, **kw):
if hasattr(spec, 'process_reveal_deadlines'):
old_state = spec.process_reveal_deadlines
spec.process_reveal_deadlines = lambda state: None
yield from fn(*args, spec=spec, **kw)
if hasattr(spec, 'process_reveal_deadlines'):
spec.process_reveal_deadlines = old_state
return with_meta_tags({'reveal_deadlines_setting': 1})(entry)
def with_all_phases(fn): def with_all_phases(fn):
""" """
A decorator for running a test with every phase A decorator for running a test with every phase
@ -321,12 +339,15 @@ def with_phases(phases, other_phases=None):
return decorator return decorator
def with_configs(configs): def with_configs(configs, reason=None):
def decorator(fn): def decorator(fn):
def wrapper(*args, spec: Spec, **kw): def wrapper(*args, spec: Spec, **kw):
available_configs = set(configs) available_configs = set(configs)
if spec.CONFIG_NAME not in available_configs: if spec.CONFIG_NAME not in available_configs:
dump_skipping_message(f"doesn't support this config: {spec.CONFIG_NAME}") message = f"doesn't support this config: {spec.CONFIG_NAME}."
if reason is not None:
message = f"{message} Reason: {reason}"
dump_skipping_message(message)
return None return None
return fn(*args, spec=spec, **kw) return fn(*args, spec=spec, **kw)

View File

@ -23,6 +23,7 @@ from eth2spec.test.helpers.shard_transitions import get_shard_transition_of_comm
from eth2spec.test.context import ( from eth2spec.test.context import (
PHASE0, PHASE1, PHASE0, PHASE1,
spec_state_test, with_all_phases, expect_assertion_error, always_bls, with_phases, dump_skipping_message, spec_state_test, with_all_phases, expect_assertion_error, always_bls, with_phases, dump_skipping_message,
disable_process_reveal_deadlines,
) )
@ -758,8 +759,9 @@ def prepare_signed_exits(spec, state, indices):
# exceeding the minimal-config randao mixes memory size. # exceeding the minimal-config randao mixes memory size.
# Applies to all voluntary-exit sanity block tests. # Applies to all voluntary-exit sanity block tests.
@with_phases([PHASE0]) @with_all_phases
@spec_state_test @spec_state_test
@disable_process_reveal_deadlines
def test_voluntary_exit(spec, state): def test_voluntary_exit(spec, state):
validator_index = spec.get_active_validator_indices(state, spec.get_current_epoch(state))[-1] validator_index = spec.get_active_validator_indices(state, spec.get_current_epoch(state))[-1]
@ -807,8 +809,9 @@ def test_double_validator_exit_same_block(spec, state):
yield 'post', None yield 'post', None
@with_phases([PHASE0]) @with_all_phases
@spec_state_test @spec_state_test
@disable_process_reveal_deadlines
def test_multiple_different_validator_exits_same_block(spec, state): def test_multiple_different_validator_exits_same_block(spec, state):
validator_indices = [ validator_indices = [
spec.get_active_validator_indices(state, spec.get_current_epoch(state))[i] spec.get_active_validator_indices(state, spec.get_current_epoch(state))[i]

View File

@ -9,9 +9,12 @@ from eth2spec.test.helpers.attestations import (
from eth2spec.test.helpers.state import transition_to, transition_to_valid_shard_slot from eth2spec.test.helpers.state import transition_to, transition_to_valid_shard_slot
from eth2spec.test.context import ( from eth2spec.test.context import (
PHASE0, PHASE0,
MINIMAL,
expect_assertion_error, expect_assertion_error,
disable_process_reveal_deadlines,
spec_state_test, spec_state_test,
with_all_phases_except, with_all_phases_except,
with_configs,
) )
from eth2spec.test.phase0.block_processing.test_process_attestation import run_attestation_processing from eth2spec.test.phase0.block_processing.test_process_attestation import run_attestation_processing
@ -67,6 +70,8 @@ def run_custody_chunk_response_processing(spec, state, custody_response, valid=T
@with_all_phases_except([PHASE0]) @with_all_phases_except([PHASE0])
@spec_state_test @spec_state_test
@with_configs([MINIMAL], reason="too slow")
@disable_process_reveal_deadlines
def test_challenge_appended(spec, state): def test_challenge_appended(spec, state):
transition_to_valid_shard_slot(spec, state) transition_to_valid_shard_slot(spec, state)
transition_to(spec, state, state.slot + 1) # Make len(offset_slots) == 1 transition_to(spec, state, state.slot + 1) # Make len(offset_slots) == 1
@ -89,6 +94,8 @@ def test_challenge_appended(spec, state):
@with_all_phases_except([PHASE0]) @with_all_phases_except([PHASE0])
@spec_state_test @spec_state_test
@disable_process_reveal_deadlines
@with_configs([MINIMAL], reason="too slow")
def test_challenge_empty_element_replaced(spec, state): def test_challenge_empty_element_replaced(spec, state):
transition_to_valid_shard_slot(spec, state) transition_to_valid_shard_slot(spec, state)
transition_to(spec, state, state.slot + 1) # Make len(offset_slots) == 1 transition_to(spec, state, state.slot + 1) # Make len(offset_slots) == 1
@ -113,6 +120,8 @@ def test_challenge_empty_element_replaced(spec, state):
@with_all_phases_except([PHASE0]) @with_all_phases_except([PHASE0])
@spec_state_test @spec_state_test
@disable_process_reveal_deadlines
@with_configs([MINIMAL], reason="too slow")
def test_duplicate_challenge(spec, state): def test_duplicate_challenge(spec, state):
transition_to_valid_shard_slot(spec, state) transition_to_valid_shard_slot(spec, state)
transition_to(spec, state, state.slot + 1) # Make len(offset_slots) == 1 transition_to(spec, state, state.slot + 1) # Make len(offset_slots) == 1
@ -137,6 +146,8 @@ def test_duplicate_challenge(spec, state):
@with_all_phases_except([PHASE0]) @with_all_phases_except([PHASE0])
@spec_state_test @spec_state_test
@disable_process_reveal_deadlines
@with_configs([MINIMAL], reason="too slow")
def test_second_challenge(spec, state): def test_second_challenge(spec, state):
transition_to_valid_shard_slot(spec, state) transition_to_valid_shard_slot(spec, state)
transition_to(spec, state, state.slot + 1) # Make len(offset_slots) == 1 transition_to(spec, state, state.slot + 1) # Make len(offset_slots) == 1
@ -163,6 +174,8 @@ def test_second_challenge(spec, state):
@with_all_phases_except([PHASE0]) @with_all_phases_except([PHASE0])
@spec_state_test @spec_state_test
@disable_process_reveal_deadlines
@with_configs([MINIMAL], reason="too slow")
def test_multiple_epochs_custody(spec, state): def test_multiple_epochs_custody(spec, state):
transition_to_valid_shard_slot(spec, state) transition_to_valid_shard_slot(spec, state)
transition_to(spec, state, state.slot + spec.SLOTS_PER_EPOCH * 3) transition_to(spec, state, state.slot + spec.SLOTS_PER_EPOCH * 3)
@ -186,6 +199,8 @@ def test_multiple_epochs_custody(spec, state):
@with_all_phases_except([PHASE0]) @with_all_phases_except([PHASE0])
@spec_state_test @spec_state_test
@disable_process_reveal_deadlines
@with_configs([MINIMAL], reason="too slow")
def test_many_epochs_custody(spec, state): def test_many_epochs_custody(spec, state):
transition_to_valid_shard_slot(spec, state) transition_to_valid_shard_slot(spec, state)
transition_to(spec, state, state.slot + spec.SLOTS_PER_EPOCH * 20) transition_to(spec, state, state.slot + spec.SLOTS_PER_EPOCH * 20)
@ -209,6 +224,8 @@ def test_many_epochs_custody(spec, state):
@with_all_phases_except([PHASE0]) @with_all_phases_except([PHASE0])
@spec_state_test @spec_state_test
@disable_process_reveal_deadlines
@with_configs([MINIMAL], reason="too slow")
def test_off_chain_attestation(spec, state): def test_off_chain_attestation(spec, state):
transition_to_valid_shard_slot(spec, state) transition_to_valid_shard_slot(spec, state)
transition_to(spec, state, state.slot + spec.SLOTS_PER_EPOCH) transition_to(spec, state, state.slot + spec.SLOTS_PER_EPOCH)
@ -228,6 +245,8 @@ def test_off_chain_attestation(spec, state):
@with_all_phases_except([PHASE0]) @with_all_phases_except([PHASE0])
@spec_state_test @spec_state_test
@disable_process_reveal_deadlines
@with_configs([MINIMAL], reason="too slow")
def test_custody_response(spec, state): def test_custody_response(spec, state):
transition_to_valid_shard_slot(spec, state) transition_to_valid_shard_slot(spec, state)
transition_to(spec, state, state.slot + spec.SLOTS_PER_EPOCH) transition_to(spec, state, state.slot + spec.SLOTS_PER_EPOCH)
@ -258,6 +277,8 @@ def test_custody_response(spec, state):
@with_all_phases_except([PHASE0]) @with_all_phases_except([PHASE0])
@spec_state_test @spec_state_test
@disable_process_reveal_deadlines
@with_configs([MINIMAL], reason="too slow")
def test_custody_response_chunk_index_2(spec, state): def test_custody_response_chunk_index_2(spec, state):
transition_to(spec, state, state.slot + spec.SLOTS_PER_EPOCH) transition_to(spec, state, state.slot + spec.SLOTS_PER_EPOCH)
@ -287,6 +308,8 @@ def test_custody_response_chunk_index_2(spec, state):
@with_all_phases_except([PHASE0]) @with_all_phases_except([PHASE0])
@spec_state_test @spec_state_test
@disable_process_reveal_deadlines
@with_configs([MINIMAL], reason="too slow")
def test_custody_response_multiple_epochs(spec, state): def test_custody_response_multiple_epochs(spec, state):
transition_to_valid_shard_slot(spec, state) transition_to_valid_shard_slot(spec, state)
transition_to(spec, state, state.slot + spec.SLOTS_PER_EPOCH * 3) transition_to(spec, state, state.slot + spec.SLOTS_PER_EPOCH * 3)
@ -317,6 +340,8 @@ def test_custody_response_multiple_epochs(spec, state):
@with_all_phases_except([PHASE0]) @with_all_phases_except([PHASE0])
@spec_state_test @spec_state_test
@disable_process_reveal_deadlines
@with_configs([MINIMAL], reason="too slow")
def test_custody_response_many_epochs(spec, state): def test_custody_response_many_epochs(spec, state):
transition_to_valid_shard_slot(spec, state) transition_to_valid_shard_slot(spec, state)
transition_to(spec, state, state.slot + spec.SLOTS_PER_EPOCH * 20) transition_to(spec, state, state.slot + spec.SLOTS_PER_EPOCH * 20)

View File

@ -10,9 +10,12 @@ from eth2spec.utils.ssz.ssz_typing import ByteList
from eth2spec.test.helpers.state import get_balance, transition_to from eth2spec.test.helpers.state import get_balance, transition_to
from eth2spec.test.context import ( from eth2spec.test.context import (
PHASE0, PHASE0,
MINIMAL,
with_all_phases_except, with_all_phases_except,
spec_state_test, spec_state_test,
expect_assertion_error, expect_assertion_error,
disable_process_reveal_deadlines,
with_configs,
) )
from eth2spec.test.phase0.block_processing.test_process_attestation import run_attestation_processing from eth2spec.test.phase0.block_processing.test_process_attestation import run_attestation_processing
@ -111,30 +114,40 @@ def run_standard_custody_slashing_test(spec,
@with_all_phases_except([PHASE0]) @with_all_phases_except([PHASE0])
@spec_state_test @spec_state_test
@disable_process_reveal_deadlines
@with_configs([MINIMAL], reason="too slow")
def test_custody_slashing(spec, state): def test_custody_slashing(spec, state):
yield from run_standard_custody_slashing_test(spec, state) yield from run_standard_custody_slashing_test(spec, state)
@with_all_phases_except([PHASE0]) @with_all_phases_except([PHASE0])
@spec_state_test @spec_state_test
@disable_process_reveal_deadlines
@with_configs([MINIMAL], reason="too slow")
def test_incorrect_custody_slashing(spec, state): def test_incorrect_custody_slashing(spec, state):
yield from run_standard_custody_slashing_test(spec, state, correct=False) yield from run_standard_custody_slashing_test(spec, state, correct=False)
@with_all_phases_except([PHASE0]) @with_all_phases_except([PHASE0])
@spec_state_test @spec_state_test
@disable_process_reveal_deadlines
@with_configs([MINIMAL], reason="too slow")
def test_multiple_epochs_custody(spec, state): def test_multiple_epochs_custody(spec, state):
yield from run_standard_custody_slashing_test(spec, state, shard_lateness=spec.SLOTS_PER_EPOCH * 3) yield from run_standard_custody_slashing_test(spec, state, shard_lateness=spec.SLOTS_PER_EPOCH * 3)
@with_all_phases_except([PHASE0]) @with_all_phases_except([PHASE0])
@spec_state_test @spec_state_test
@disable_process_reveal_deadlines
@with_configs([MINIMAL], reason="too slow")
def test_many_epochs_custody(spec, state): def test_many_epochs_custody(spec, state):
yield from run_standard_custody_slashing_test(spec, state, shard_lateness=spec.SLOTS_PER_EPOCH * 5) yield from run_standard_custody_slashing_test(spec, state, shard_lateness=spec.SLOTS_PER_EPOCH * 5)
@with_all_phases_except([PHASE0]) @with_all_phases_except([PHASE0])
@spec_state_test @spec_state_test
@disable_process_reveal_deadlines
@with_configs([MINIMAL], reason="too slow")
def test_invalid_custody_slashing(spec, state): def test_invalid_custody_slashing(spec, state):
yield from run_standard_custody_slashing_test( yield from run_standard_custody_slashing_test(
spec, spec,

View File

@ -8,8 +8,10 @@ from eth2spec.test.helpers.attestations import (
from eth2spec.test.helpers.state import transition_to, transition_to_valid_shard_slot from eth2spec.test.helpers.state import transition_to, transition_to_valid_shard_slot
from eth2spec.test.context import ( from eth2spec.test.context import (
PHASE0, PHASE0,
with_all_phases_except, MINIMAL,
spec_state_test, spec_state_test,
with_all_phases_except,
with_configs,
) )
from eth2spec.test.phase0.block_processing.test_process_attestation import run_attestation_processing from eth2spec.test.phase0.block_processing.test_process_attestation import run_attestation_processing
from eth2spec.test.phase0.epoch_processing.run_epoch_process_base import run_epoch_processing_with from eth2spec.test.phase0.epoch_processing.run_epoch_process_base import run_epoch_processing_with
@ -25,6 +27,7 @@ def run_process_challenge_deadlines(spec, state):
@with_all_phases_except([PHASE0]) @with_all_phases_except([PHASE0])
@spec_state_test @spec_state_test
@with_configs([MINIMAL], reason="too slow")
def test_validator_slashed_after_chunk_challenge(spec, state): def test_validator_slashed_after_chunk_challenge(spec, state):
transition_to_valid_shard_slot(spec, state) transition_to_valid_shard_slot(spec, state)
transition_to(spec, state, state.slot + 1) # Make len(offset_slots) == 1 transition_to(spec, state, state.slot + 1) # Make len(offset_slots) == 1

View File

@ -4,7 +4,9 @@ from eth2spec.test.helpers.custody import (
from eth2spec.test.helpers.state import transition_to from eth2spec.test.helpers.state import transition_to
from eth2spec.test.context import ( from eth2spec.test.context import (
PHASE0, PHASE0,
MINIMAL,
with_all_phases_except, with_all_phases_except,
with_configs,
spec_state_test, spec_state_test,
) )
from eth2spec.test.phase0.epoch_processing.run_epoch_process_base import run_epoch_processing_with from eth2spec.test.phase0.epoch_processing.run_epoch_process_base import run_epoch_processing_with
@ -17,6 +19,7 @@ def run_process_challenge_deadlines(spec, state):
@with_all_phases_except([PHASE0]) @with_all_phases_except([PHASE0])
@spec_state_test @spec_state_test
@with_configs([MINIMAL], reason="too slow")
def test_validator_slashed_after_reveal_deadline(spec, state): def test_validator_slashed_after_reveal_deadline(spec, state):
assert state.validators[0].slashed == 0 assert state.validators[0].slashed == 0
transition_to(spec, state, spec.get_randao_epoch_for_custody_period(0, 0) * spec.SLOTS_PER_EPOCH) transition_to(spec, state, spec.get_randao_epoch_for_custody_period(0, 0) * spec.SLOTS_PER_EPOCH)
@ -36,6 +39,7 @@ def test_validator_slashed_after_reveal_deadline(spec, state):
@with_all_phases_except([PHASE0]) @with_all_phases_except([PHASE0])
@spec_state_test @spec_state_test
@with_configs([MINIMAL], reason="too slow")
def test_validator_not_slashed_after_reveal(spec, state): def test_validator_not_slashed_after_reveal(spec, state):
transition_to(spec, state, spec.EPOCHS_PER_CUSTODY_PERIOD * spec.SLOTS_PER_EPOCH) transition_to(spec, state, spec.EPOCHS_PER_CUSTODY_PERIOD * spec.SLOTS_PER_EPOCH)
custody_key_reveal = get_valid_custody_key_reveal(spec, state) custody_key_reveal = get_valid_custody_key_reveal(spec, state)

View File

@ -165,6 +165,9 @@ bls_setting: int -- optional, can have 3 different values:
but there is no change of outcome when running the test if BLS is ON or OFF. but there is no change of outcome when running the test if BLS is ON or OFF.
1: known as "BLS required" - if the test validity is strictly dependent on BLS being ON 1: known as "BLS required" - if the test validity is strictly dependent on BLS being ON
2: known as "BLS ignored" - if the test validity is strictly dependent on BLS being OFF 2: known as "BLS ignored" - if the test validity is strictly dependent on BLS being OFF
reveal_deadlines_setting: -- optional, can have 2 different values:
0: default, `process_reveal_deadlines` is ON.
1: `process_reveal_deadlines` is OFF.
``` ```

View File

@ -7,9 +7,10 @@ Sanity tests to cover a series of one or more blocks being processed, aiming to
### `meta.yaml` ### `meta.yaml`
```yaml ```yaml
description: string -- Optional. Description of test case, purely for debugging purposes. description: string -- Optional. Description of test case, purely for debugging purposes.
bls_setting: int -- see general test-format spec. bls_setting: int -- see general test-format spec.
blocks_count: int -- the number of blocks processed in this test. reveal_deadlines_setting: int -- see general test-format spec.
blocks_count: int -- the number of blocks processed in this test.
``` ```

View File

@ -47,14 +47,12 @@ if __name__ == "__main__":
gen_runner.run_generator(f"epoch_processing", [ gen_runner.run_generator(f"epoch_processing", [
create_provider(PHASE0, key, mod_name, 'minimal') for key, mod_name in phase_0_mods create_provider(PHASE0, key, mod_name, 'minimal') for key, mod_name in phase_0_mods
]) ])
# TODO: disabled for testing gen_runner.run_generator(f"epoch_processing", [
# gen_runner.run_generator(f"epoch_processing", [ create_provider(PHASE0, key, mod_name, 'mainnet') for key, mod_name in phase_0_mods
# create_provider(key, mod_name, 'mainnet') for key, mod_name in phase_0_mods ])
# ])
gen_runner.run_generator(f"epoch_processing", [ gen_runner.run_generator(f"epoch_processing", [
create_provider(PHASE1, key, mod_name, 'minimal') for key, mod_name in phase_1_mods create_provider(PHASE1, key, mod_name, 'minimal') for key, mod_name in phase_1_mods
]) ])
# Disabled for now gen_runner.run_generator(f"epoch_processing", [
# gen_runner.run_generator(f"epoch_processing", [ create_provider(PHASE1, key, mod_name, 'mainnet') for key, mod_name in phase_1_mods
# create_provider(PHASE1, key, mod_name, 'mainnet') for key, mod_name in phase_1_mods ])
# ])

View File

@ -4,7 +4,7 @@ from importlib import reload
from gen_base import gen_runner, gen_typing from gen_base import gen_runner, gen_typing
from gen_from_tests.gen import generate_from_tests from gen_from_tests.gen import generate_from_tests
from eth2spec.test.context import PHASE0 from eth2spec.test.context import PHASE0, PHASE1
from eth2spec.test.phase0.finality import test_finality from eth2spec.test.phase0.finality import test_finality
from eth2spec.config import config_util from eth2spec.config import config_util
from eth2spec.phase0 import spec as spec_phase0 from eth2spec.phase0 import spec as spec_phase0
@ -12,7 +12,7 @@ from eth2spec.phase1 import spec as spec_phase1
from eth2spec.utils import bls from eth2spec.utils import bls
def create_provider(handler_name: str, tests_src, config_name: str) -> gen_typing.TestProvider: def create_provider(fork_name: str, handler_name: str, tests_src, config_name: str) -> gen_typing.TestProvider:
def prepare_fn(configs_path: str) -> str: def prepare_fn(configs_path: str) -> str:
config_util.prepare_config(configs_path, config_name) config_util.prepare_config(configs_path, config_name)
@ -26,14 +26,18 @@ def create_provider(handler_name: str, tests_src, config_name: str) -> gen_typin
runner_name='finality', runner_name='finality',
handler_name=handler_name, handler_name=handler_name,
src=tests_src, src=tests_src,
fork_name=PHASE0, fork_name=fork_name,
) )
return gen_typing.TestProvider(prepare=prepare_fn, make_cases=cases_fn) return gen_typing.TestProvider(prepare=prepare_fn, make_cases=cases_fn)
if __name__ == "__main__": if __name__ == "__main__":
# No additional phase 1 specific rewards tests, yet.
key = 'finality'
gen_runner.run_generator("finality", [ gen_runner.run_generator("finality", [
create_provider('finality', test_finality, 'minimal'), create_provider(PHASE0, 'finality', test_finality, 'minimal'),
create_provider('finality', test_finality, 'mainnet'), create_provider(PHASE0, 'finality', test_finality, 'mainnet'),
create_provider(PHASE1, 'finality', test_finality, 'minimal'),
create_provider(PHASE1, 'finality', test_finality, 'mainnet'),
]) ])

View File

@ -51,14 +51,12 @@ if __name__ == "__main__":
gen_runner.run_generator(f"operations", [ gen_runner.run_generator(f"operations", [
create_provider(PHASE0, key, mod_name, 'minimal') for key, mod_name in phase_0_mods create_provider(PHASE0, key, mod_name, 'minimal') for key, mod_name in phase_0_mods
]) ])
# TODO: disabled for testing gen_runner.run_generator(f"operations", [
# gen_runner.run_generator(f"operations", [ create_provider(PHASE0, key, mod_name, 'mainnet') for key, mod_name in phase_0_mods
# create_provider(key, mod_name, 'mainnet') for key, mod_name in phase_0_mods ])
# ])
gen_runner.run_generator(f"operations", [ gen_runner.run_generator(f"operations", [
create_provider(PHASE1, key, mod_name, 'minimal') for key, mod_name in phase_1_mods create_provider(PHASE1, key, mod_name, 'minimal') for key, mod_name in phase_1_mods
]) ])
# Disabled for now gen_runner.run_generator(f"operations", [
# gen_runner.run_generator(f"operations", [ create_provider(PHASE1, key, mod_name, 'mainnet') for key, mod_name in phase_1_mods
# create_provider(PHASE1, key, mod_name, 'mainnet') for key, mod_name in phase_1_mods ])
# ])

View File

@ -45,15 +45,12 @@ if __name__ == "__main__":
gen_runner.run_generator(f"rewards", [ gen_runner.run_generator(f"rewards", [
create_provider(PHASE0, key, mod_name, 'minimal') for key, mod_name in phase_0_mods create_provider(PHASE0, key, mod_name, 'minimal') for key, mod_name in phase_0_mods
]) ])
# TODO: disabled for testing gen_runner.run_generator(f"rewards", [
# gen_runner.run_generator(f"rewards", [ create_provider(PHASE0, key, mod_name, 'mainnet') for key, mod_name in phase_0_mods
# create_provider(key, mod_name, 'mainnet') for key, mod_name in phase_0_mods ])
# ])
gen_runner.run_generator(f"rewards", [ gen_runner.run_generator(f"rewards", [
create_provider(PHASE1, key, mod_name, 'minimal') for key, mod_name in phase_1_mods create_provider(PHASE1, key, mod_name, 'minimal') for key, mod_name in phase_1_mods
]) ])
# Disabled for now gen_runner.run_generator(f"rewards", [
# gen_runner.run_generator(f"rewards", [ create_provider(PHASE1, key, mod_name, 'mainnet') for key, mod_name in phase_1_mods
# create_provider(PHASE1, key, mod_name, 'mainnet') for key, mod_name in phase_1_mods ])
# ])

View File

@ -43,14 +43,12 @@ if __name__ == "__main__":
gen_runner.run_generator(f"sanity", [ gen_runner.run_generator(f"sanity", [
create_provider(PHASE0, key, mod_name, 'minimal') for key, mod_name in phase_0_mods create_provider(PHASE0, key, mod_name, 'minimal') for key, mod_name in phase_0_mods
]) ])
# TODO: disabled for testing gen_runner.run_generator(f"sanity", [
# gen_runner.run_generator(f"sanity", [ create_provider(PHASE0, key, mod_name, 'mainnet') for key, mod_name in phase_0_mods
# create_provider(key, mod_name, 'mainnet') for key, mod_name in phase_0_mods ])
# ])
gen_runner.run_generator(f"sanity", [ gen_runner.run_generator(f"sanity", [
create_provider(PHASE1, key, mod_name, 'minimal') for key, mod_name in phase_1_mods create_provider(PHASE1, key, mod_name, 'minimal') for key, mod_name in phase_1_mods
]) ])
# Disabled for now gen_runner.run_generator(f"sanity", [
# gen_runner.run_generator(f"sanity", [ create_provider(PHASE1, key, mod_name, 'mainnet') for key, mod_name in phase_1_mods
# create_provider(PHASE1, key, mod_name, 'mainnet') for key, mod_name in phase_1_mods ])
# ])