code: def from_header(cls, header: BlockHeader, chaindb: BaseChainDB) -> BaseBlock:
          
          if header.uncles_hash == EMPTY_UNCLE_HASH:
              uncles = []  # type: List[BlockHeader]
          else:
              uncles = chaindb.get_block_uncles(header.uncles_hash)
  
          transactions = chaindb.get_block_transactions(header, cls.get_transaction_class())
  
          return cls(
              header=header,
              transactions=transactions,
              uncles=uncles,
          )
docs: Returns the block denoted by the given block header.