def configure(cls, __name__=None, vm_configuration=None, **overrides): if 'vms_by_range' in overrides: raise ValueError("Cannot override vms_by_range") if vm_configuration is not None: overrides['vms_by_range'] = generate_vms_by_range(vm_configuration) return super().configure(__name__, **overrides)
def configure(cls, name=None, vm_configuration=None, **overrides): if 'vms_by_range' in overrides: raise ValueError("Cannot override vms_by_range") if vm_configuration is not None: overrides['vms_by_range'] = generate_vms_by_range(vm_configuration) return super().configure(name, **overrides)
def configure_forks(self, homestead_start_block=None, dao_start_block=None, eip150_start_block=None, spurious_dragon_block=None): """ TODO: add support for state_cleanup """ vm_configuration = _generate_vm_configuration( homestead_start_block=homestead_start_block, dao_start_block=dao_start_block, eip150_start_block=eip150_start_block, spurious_dragon_block=spurious_dragon_block, ) self.vms_by_range = generate_vms_by_range(vm_configuration)
def configure_forks(self, homestead_start_block=None, dao_start_block=None, tangerine_whistle_start_block=None, spurious_dragon_block=None): """ TODO: add support for state_cleanup """ vm_configuration = _generate_vm_configuration( homestead_start_block=homestead_start_block, dao_start_block=dao_start_block, tangerine_whistle_start_block=tangerine_whistle_start_block, spurious_dragon_block=spurious_dragon_block, ) self.vms_by_range = generate_vms_by_range(vm_configuration)
def configure(cls, name, vm_configuration, **overrides): if 'vms_by_range' in overrides: raise ValueError("Cannot override vms_by_range.") for key in overrides: if not hasattr(cls, key): raise TypeError( "The Chain.configure cannot set attributes that are not " "already present on the base class. The attribute `{0}` was " "not found on the base class `{1}`".format(key, cls) ) # Organize the Chain classes by their starting blocks. overrides['vms_by_range'] = generate_vms_by_range(vm_configuration) return type(name, (cls,), overrides)
def configure_forks(self, *fork_start_blocks: ForkStartBlocks, dao_start_block: Union[int, bool] = None) -> None: """ On demand configuration of fork rules. This is a foot gun that if used incorrectly could cause weird VM errors. It should generally only be used on a genesis chain (head block == 0). Modifying the fork rules, especially if the modification effects existing blocks could result in a broken chain. """ vm_configuration = _generate_vm_configuration( *fork_start_blocks, dao_start_block=dao_start_block, ) self.vms_by_range = generate_vms_by_range(vm_configuration)