def test_generate_custom_genesis_parameters(self): # Establish parameter overrides, for example a custom genesis gas limit param_overrides = {"gas_limit": 4750000} # Test the underlying default parameter merging functionality genesis_params = get_default_genesis_params(overrides=param_overrides) assert genesis_params["gas_limit"] == param_overrides["gas_limit"] # Use the the staticmethod to generate custom genesis parameters genesis_params = PyEVMBackend.generate_genesis_params(param_overrides) assert genesis_params["gas_limit"] == param_overrides["gas_limit"] # Only existing default genesis parameter keys can be overridden invalid_overrides = {"gato": "con botas"} with pytest.raises(ValueError): _invalid_genesis_params = PyEVMBackend.generate_genesis_params( overrides=invalid_overrides)
def test_override_genesis_parameters(self): # Establish a custom gas limit param_overrides = {"gas_limit": 4750000} block_one_gas_limit = param_overrides['gas_limit'] # Initialize PyEVM backend with custom genesis parameters genesis_params = PyEVMBackend.generate_genesis_params( overrides=param_overrides) pyevm_backend = PyEVMBackend(genesis_parameters=genesis_params) genesis_block = pyevm_backend.get_block_by_number(0) assert genesis_block["gas_limit"] == param_overrides["gas_limit"] genesis_block = pyevm_backend.get_block_by_number(1) assert genesis_block["gas_limit"] == block_one_gas_limit # Integrate with EthereumTester tester = EthereumTester(backend=pyevm_backend) genesis_block = tester.get_block_by_number(0) assert genesis_block["gas_limit"] == param_overrides["gas_limit"] genesis_block = tester.get_block_by_number(1) assert genesis_block["gas_limit"] == block_one_gas_limit