code: def dao_fork_at(dao_fork_block_number: BlockNumber,
                  chain_class: Type[BaseChain]) -> Type[BaseChain]:
      
      homstead_vms_found = any(
          _is_homestead(vm_class) for _, vm_class in chain_class.vm_configuration
      )
      if not homstead_vms_found:
          raise ValidationError("No HomesteadVM found in vm_configuration.")
  
      vm_configuration = _set_vm_dao_fork_block_number(
          dao_fork_block_number,
          chain_class.vm_configuration,
      )
      return chain_class.configure(vm_configuration=vm_configuration)
docs: Set the block number on which the DAO fork will happen.  Requires that a
      version of the :class:`~eth.vm.forks.homestead.HomesteadVM` is present in
      the chain's ``vm_configuration``