def full_chain_class(self) -> Type['FullChain']: from trinity.chains.full import FullChain # noqa: F811 return FullChain.configure( __name__=self.chain_name, vm_configuration=self.vm_configuration, chain_id=self.chain_id, )
def make_pausing_beam_chain(vm_config: Tuple[Tuple[int, BaseVM], ...], chain_id: int, db: BaseAtomicDB, event_bus: TrinityEventBusEndpoint) -> FullChain: """ Patch the py-evm chain with a VMState that pauses when state data is missing, and emits an event which requests the missing data. """ pausing_vm_config = tuple( (starting_block, pausing_vm_decorator(vm, event_bus)) for starting_block, vm in vm_config) PausingBeamChain = FullChain.configure( vm_configuration=pausing_vm_config, chain_id=chain_id, ) return PausingBeamChain(db)