Beispiel #1
0
    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,
        )
Beispiel #2
0
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)