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).
LOCK(cs_wallet);
    auto it = mapWallet.find(ptx->GetHash());
    if (it != mapWallet.end()) {
        it->second.fInMempool = false;
    }
}
void CWallet::BlockConnected(const CBlock& block, const std::vector<CTransactionRef>& vtxConflicted) {
    const uint256& block_hash = block.GetHash();
    auto locked_chain = chain().lock();
    LOCK(cs_wallet);
    
    
    
    
    
    
    
    for (const CTransactionRef& ptx : vtxConflicted) {
        SyncTransaction(ptx, {} , 0 );
        TransactionRemovedFromMempool(ptx);
    }
    for (size_t i = 0; i < block.vtx.size(); i++) {
        SyncTransaction(block.vtx[i], block_hash, i);
        TransactionRemovedFromMempool(block.vtx[i]);
    }
    m_last_block_processed = block_hash;
}
void CWallet::BlockDisconnected(const CBlock& block) {