diff --git a/src/neo/Ledger/Blockchain.cs b/src/neo/Ledger/Blockchain.cs index 74d06806e4..48c7da914a 100644 --- a/src/neo/Ledger/Blockchain.cs +++ b/src/neo/Ledger/Blockchain.cs @@ -429,7 +429,9 @@ private void OnParallelVerified(ParallelVerified parallelVerified) RelayResultReason reason = parallelVerified.VerifyResult; if (reason == RelayResultReason.Succeed) { - if (!MemPool.CanTransactionFitInPool(parallelVerified.Transaction)) + if (View.ContainsTransaction(parallelVerified.Transaction.Hash)) + reason = RelayResultReason.AlreadyExists; + else if (!MemPool.CanTransactionFitInPool(parallelVerified.Transaction)) reason = RelayResultReason.OutOfMemory; else if (!MemPool.TryAdd(parallelVerified.Transaction.Hash, parallelVerified.Transaction)) reason = RelayResultReason.OutOfMemory;