@api_request
async def request_block_header(self, request: wallet_protocol.RequestBlockHeader) -> Optional[Message]:
    header_hash = self.full_node.blockchain.height_to_hash(request.height)
    if (header_hash is None):
        msg = make_msg(ProtocolMessageTypes.reject_header_request, RejectHeaderRequest(request.height))
        return msg
    block: Optional[FullBlock] = (await self.full_node.block_store.get_full_block(header_hash))
    if (block is not None):
        (tx_removals, tx_additions, _) = (await self.full_node.blockchain.get_tx_removals_and_additions(block))
        header_block = get_block_header(block, tx_additions, tx_removals)
        msg = make_msg(ProtocolMessageTypes.respond_block_header, wallet_protocol.RespondBlockHeader(header_block))
        return msg
    return None
@api_request
async def request_block_header(self, request: wallet_protocol.RequestBlockHeader) -> Optional[Message]:
    header_hash = self.full_node.blockchain.height_to_hash(request.height)
    if (header_hash is None):
        msg = make_msg(ProtocolMessageTypes.reject_header_request, RejectHeaderRequest(request.height))
        return msg
    block: Optional[FullBlock] = (await self.full_node.block_store.get_full_block(header_hash))
    if (block is not None):
        (tx_removals, tx_additions, _) = (await self.full_node.blockchain.get_tx_removals_and_additions(block))
        header_block = get_block_header(block, tx_additions, tx_removals)
        msg = make_msg(ProtocolMessageTypes.respond_block_header, wallet_protocol.RespondBlockHeader(header_block))
        return msg
    return None