def test_chain_builder_construct_chain_vm_configuration_multiple_forks(): chain = build( MiningChain, fork_at(FrontierVM, 0), fork_at(HomesteadVM, 5), ) assert issubclass(chain, MiningChain) assert len(chain.vm_configuration) == 2 assert chain.vm_configuration[0][0] == 0 assert chain.vm_configuration[0][1] == FrontierVM assert chain.vm_configuration[1][0] == 5 assert chain.vm_configuration[1][1] == HomesteadVM
def get_chain(vm: Type[BaseVM], genesis_state: GenesisState) -> MiningChain: chain = build(MiningChain, fork_at(vm, constants.GENESIS_BLOCK_NUMBER), disable_pow_check(), genesis(params=GENESIS_PARAMS, state=genesis_state)) return chain
def test_chain_builder_construct_chain_vm_configuration_single_fork(): chain = build( MiningChain, fork_at(FrontierVM, 0), ) assert issubclass(chain, MiningChain) assert len(chain.vm_configuration) == 1 assert chain.vm_configuration[0][0] == 0 assert chain.vm_configuration[0][1] == FrontierVM
def get_chain(vm: Type[VirtualMachineAPI], genesis_state: GenesisState) -> Iterable[MiningChain]: with tempfile.TemporaryDirectory() as temp_dir: level_db_obj = LevelDB(Path(temp_dir)) level_db_chain = build( MiningChain, fork_at(vm, constants.GENESIS_BLOCK_NUMBER), disable_pow_check(), genesis(db=level_db_obj, params=GENESIS_PARAMS, state=genesis_state)) yield level_db_chain