message: Fixed bug in AcceptToMemoryPoolWorker()
diff: @@ -1630,11 +1630,13 @@ bool AcceptToMemoryPoolWorker(CTxMemPool &pool, CValidationState &state, const C
  }
  }
  }
  - if (!tx.IsZerocoinSpend() && fCheckInputs) {
  +
  + {
  CCoinsView dummy;
  CCoinsViewCache view(&dummy);
  CAmount nValueIn = 0;
  LockPoints lp;
  +
  {
  LOCK(pool.cs);
  CCoinsViewMemPool viewMemPool(pcoinsTip, pool);
  @@ -1647,6 +1649,8 @@ bool AcceptToMemoryPoolWorker(CTxMemPool &pool, CValidationState &state, const C
  LogPrintf("cause by -> txn-already-known!\n");
  return state.Invalid(false, REJECT_ALREADY_KNOWN, "txn-already-known");
  }
  +
  + if (!tx.IsZerocoinSpend() && fCheckInputs) {
  // do all inputs exist?
  // Note that this does not check for the presence of actual outputs (see the next check for that),
  // and only helps with filling in pfMissingInputs (to determine missing vs spent).
  @@ -1685,6 +1689,10 @@ bool AcceptToMemoryPoolWorker(CTxMemPool &pool, CValidationState &state, const C
  // return state.DoS(0, false, REJECT_NONSTANDARD, "non-BIP68-final");
  // }
  }
  + } // LOCK
  +
  + if (!tx.IsZerocoinSpend() && fCheckInputs) {
  +
  // Check for non-standard pay-to-script-hash in inputs
  if (!fTestNet && fRequireStandard && !AreInputsStandard(tx, view)) {
  LogPrintf("cause by -> AreInputsStandard\n");
  @@ -2012,6 +2020,7 @@ bool AcceptToMemoryPoolWorker(CTxMemPool &pool, CValidationState &state, const C
  pool.countZCSpend++;
  }
  }
  + }
  SyncWithWallets(tx, NULL, NULL);
  LogPrintf("AcceptToMemoryPoolWorker -> OK\n");
  