code: def validate_block(self, block: BaseBlock) -> None:
          
          if block.is_genesis:
              raise ValidationError("Cannot validate genesis block this way")
          VM_class = self.get_vm_class_for_block_number(BlockNumber(block.number))
          parent_block = self.get_block_by_hash(block.header.parent_hash)
          VM_class.validate_header(block.header, parent_block.header, check_seal=True)
          self.validate_uncles(block)
          self.validate_gaslimit(block.header)
docs: Performs validation on a block that is either being mined or imported.
  
          Since block validation (specifically the uncle validation) must have
          access to the ancestor blocks, this validation must occur at the Chain
          level.
  
          Cannot be used to validate genesis block.