message: [BUG] fix detection of wallet conflicts in CWallet::AddToWallet
  Check for explicit wallet conflicts when fFromLoadWallet
  (from bitcoin/bitcoin@9ac63d6d3056600c1b784da0e6b98f679fa98b6e, wrongly
  backported in
diff: @@ -780,6 +780,14 @@ bool CWallet::AddToWallet(const CWalletTx& wtxIn, bool fFromLoadWallet, CWalletD
  wtx.BindWallet(this);
  wtxOrdered.insert(std::make_pair(wtx.nOrderPos, TxPair(&wtx, (CAccountingEntry*)0)));
  AddToSpends(hash);
  + for (const CTxIn& txin : wtx.vin) {
  + if (mapWallet.count(txin.prevout.hash)) {
  + CWalletTx& prevtx = mapWallet[txin.prevout.hash];
  + if (prevtx.nIndex == -1 && !prevtx.hashUnset()) {
  + MarkConflicted(prevtx.hashBlock, wtx.GetHash());
  + }
  + }
  + }
  } else {
  LOCK(cs_wallet);
  // Inserts only if not already there, returns tx inserted or tx found
  @@ -793,14 +801,6 @@ bool CWallet::AddToWallet(const CWalletTx& wtxIn, bool fFromLoadWallet, CWalletD
  wtxOrdered.insert(std::make_pair(wtx.nOrderPos, TxPair(&wtx, (CAccountingEntry*)0)));
  wtx.UpdateTimeSmart();
  AddToSpends(hash);
  - for (const CTxIn& txin : wtx.vin) {
  - if (mapWallet.count(txin.prevout.hash)) {
  - CWalletTx& prevtx = mapWallet[txin.prevout.hash];
  - if (prevtx.nIndex == -1 && !prevtx.hashUnset()) {
  - MarkConflicted(prevtx.hashBlock, wtx.GetHash());
  - }
  - }
  - }
  }
  bool fUpdated = false;
  