The new `getrpcinfo` shows a list of the active commands and the duration each command has been running. This sounds like a good place to report a completion percentage for any command doing a blockchain rescan, to solve [this problem](https://bitcoin.stackexchange.com/q/83236/90721).
{
    auto locked_chain = chain().lock();
    LOCK(cs_wallet);
    int conflictconfirms = -locked_chain->getBlockDepth(hashBlock);
    
    
    
    
    if (conflictconfirms >= 0)
        return;
    
    WalletBatch batch(*database, "r+", false);
    std::set<uint256> todo;
    std::set<uint256> done;
    todo.insert(hashTx);