Steps to reproduce on regtest:

```
converttopsbt 02000000000101ab73dba46508bacdb49a988ddd74bc9d39c9cb7e057af060ca8c6b6861e28e3c0300000000feffffff02b828d0b20000000017a914d1954862afd728fbb055149002958e1d1b9e1f0b8700ca9a3b0000000017a91442170ccb3441cff1723af9afab6f2553103e1d578702473044022077380c6e16496d9905aef120694c329be51522847cb5d53fa74b94698c95678d02202d32c46e0e17420a83dee830fefda7d40529182f5d82be47c2b49a7b83214ab50121026d483d6628dcc3ef6e3ab9ed4937c452c263c7e0ac80eb4be97426d5da8f640500000000
```
or 
```
converttopsbt 02000000000101ab73dba46508bacdb49a988ddd74bc9d39c9cb7e057af060ca8c6b6861e28e3c0300000000feffffff02b828d0b20000000017a914d1954862afd728fbb055149002958e1d1b9e1f0b8700ca9a3b0000000017a91442170ccb3441cff1723af9afab6f2553103e1d578702473044022077380c6e16496d9905aef120694c329be51522847cb5d53fa74b94698c95678d02202d32c46e0e17420a83dee830fefda7d40529182f5d82be47c2b49a7b83214ab50121026d483d6628dcc3ef6e3ab9ed4937c452c263c7e0ac80eb4be97426d5da8f640500000000 false
```

Further reading: #13738
pwallet->BlockUntilSyncedToCurrentChain();
    auto locked_chain = pwallet->chain().lock();
    LOCK(pwallet->cs_wallet);
    uint256 hash(ParseHashV(request.params[0], "txid"));
    isminefilter filter = ISMINE_SPENDABLE;
    if(!request.params[1].isNull())
        if(request.params[1].get_bool())
            filter = filter | ISMINE_WATCH_ONLY;
    UniValue entry(UniValue::VOBJ);
    auto it = pwallet->mapWallet.find(hash);
    if (it == pwallet->mapWallet.end()) {
        throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid or non-wallet transaction id");
    }
    const CWalletTx& wtx = it->second;
    CAmount nCredit = wtx.GetCredit(*locked_chain, filter);
    CAmount nDebit = wtx.GetDebit(filter);
    CAmount nNet = nCredit - nDebit;
    CAmount nFee = (wtx.IsFromMe(filter) ? wtx.tx->GetValueOut() - nDebit : 0);
    entry.pushKV("amount", ValueFromAmount(nNet - nFee));
    if (wtx.IsFromMe(filter))
        entry.pushKV("fee", ValueFromAmount(nFee));
    WalletTxToJSON(pwallet->chain(), *locked_chain, wtx, entry);
    UniValue details(UniValue::VARR);
    ListTransactions(*locked_chain, pwallet, wtx, 0, false, details, filter, nullptr );
    entry.pushKV("details", details);
    std::string strHex = EncodeHexTx(*wtx.tx, pwallet->chain().rpcSerializationFlags());
    entry.pushKV("hex", strHex);
    return entry;
}
static UniValue abandontransaction(const JSONRPCRequest& request)