RPCs that return detailed information about mempool entries (e.g. `getmempoolentry` and `getrawmempool(verbose=True)` include the fields `fee`, `modifiedfee`, `descendantfees`, and `ancestorfees` which were marked as "DEPRECATED" and replaced with a `fees` object field in #12240 (since v0.17).

We should remove these fields, but first, properly deprecate them using `-deprecatedrpc`.

#### Useful skills:

- basic understanding of Bitcoin Core RPC interface

#### Want to work on this issue?

For guidance on contributing, please read [CONTRIBUTING.md](https://github.com/bitcoin/bitcoin/blob/master/CONTRIBUTING.md) before opening your pull request.

LOCK(::cs_main);
    CChain& active_chain = chainman.ActiveChain();
    if (param.isNum()) {
        const int height{param.get_int()};
        if (height < 0) {
            throw JSONRPCError(RPC_INVALID_PARAMETER, strprintf("Target block height %d is negative", height));
        }
        const int current_tip{active_chain.Height()};
        if (height > current_tip) {
            throw JSONRPCError(RPC_INVALID_PARAMETER, strprintf("Target block height %d after current tip %d", height, current_tip));
        }
        return active_chain[height];
    } else {
        const uint256 hash{ParseHashV(param, "hash_or_height")};
        CBlockIndex* pindex = chainman.m_blockman.LookupBlockIndex(hash);
        if (!pindex) {
            throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Block not found");
        }
        return pindex;
    }
}
UniValue blockheaderToJSON(const CBlockIndex* tip, const CBlockIndex* blockindex)