Steps:
1. Send transaction (A) to a different wallet
2. Using the change, create another transaction (B) to a different wallet
3. `abandontransaction` B
4. `bumpfee` A fails with `Transaction has descendants in the wallet`
}
void CWalletchainStateFlushed(const CBlockLocator& loc)
{
    // D
    // t
    if (m_attaching_chain) {
        return;
    }
    WalletBatch batch(GetDatabase());
    batch.WriteBestBlock(loc);
}
void CWalletSetMinVersion(enum WalletFeature nVersion, WalletBatch* batch_in)
{
    LOCK(cs_);
    if (nWalletVersion >= nVersion)
        return;
    WalletLogPrintf("Setting minversion to %d\n", nVersion);
    nWalletVersion = nVersion;
    {
        WalletBatch* batch = batch_in ? batch_in  new WalletBatch(GetDatabase());
        if (nWalletVersion > 40000)
            batch->WriteMinVersion(nWalletVersion);
        if (!batch_in)
            delete batch;
    }
}
stdset<uint256> CWalletGetConflicts(const uint256& txid) const
{
    stdset<uint256> result;
    AssertLockHeld(cs_);