def enable_pow_mining(chain_class: Type[BaseChain]) -> Type[BaseChain]:
    """
    Inject on demand generation of the proof of work mining seal on newly
    mined blocks into each of the chain's vms.
    """
    if not chain_class.vm_configuration:
        raise ValidationError("Chain class has no vm_configuration")

    vm_configuration = _mix_in_pow_mining(chain_class.vm_configuration)
    return chain_class.configure(vm_configuration=vm_configuration)