return b'' else: return keccak(to_bytes(text="{0}".format(block_number))) def get_prev_hashes_testing(self, last_block_hash, db): prev_hashes = [] return prev_hashes FrontierStateForTesting = FrontierState.configure( __name__='FrontierStateForTesting', get_ancestor_hash=get_block_hash_for_testing, ) HomesteadStateForTesting = HomesteadState.configure( __name__='HomesteadStateForTesting', get_ancestor_hash=get_block_hash_for_testing, ) TangerineWhistleStateForTesting = TangerineWhistleState.configure( __name__='TangerineWhistleStateForTesting', get_ancestor_hash=get_block_hash_for_testing, ) SpuriousDragonStateForTesting = SpuriousDragonState.configure( __name__='SpuriousDragonStateForTesting', get_ancestor_hash=get_block_hash_for_testing, ) ByzantiumStateForTesting = ByzantiumState.configure( __name__='ByzantiumStateForTesting', get_ancestor_hash=get_block_hash_for_testing, ) FrontierVMForTesting = FrontierVM.configure(
if block_number >= self.block_number: return b'' elif block_number < self.block_number - 256: return b'' else: return keccak(to_bytes(text=f"{block_number}")) HomesteadComputationForTesting = HomesteadComputation.configure( __name__='HomesteadComputationForTesting', apply_message=apply_message_for_testing, apply_create_message=apply_create_message_for_testing, ) HomesteadStateForTesting = HomesteadState.configure( __name__='HomesteadStateForTesting', get_ancestor_hash=get_block_hash_for_testing, computation_class=HomesteadComputationForTesting, ) HomesteadVMForTesting = HomesteadVM.configure( __name__='HomesteadVMForTesting', _state_class=HomesteadStateForTesting, ) @pytest.fixture(params=['Frontier', 'Homestead', 'EIP150', 'SpuriousDragon']) def vm_class(request): if request.param == 'Frontier': pytest.skip('Only the Homestead VM rules are currently supported') elif request.param == 'Homestead': return HomesteadVMForTesting elif request.param == 'EIP150':