diff --git a/src/SerializedLedger.cpp b/src/SerializedLedger.cpp index acc58da3c..1e29a99c2 100644 --- a/src/SerializedLedger.cpp +++ b/src/SerializedLedger.cpp @@ -98,10 +98,12 @@ bool SerializedLedgerEntry::thread(const uint256& txID, uint32 ledgerSeq, uint25 uint256 oldPrevTxID = getFieldH256(sfLastTxnID); Log(lsTRACE) << "Thread Tx:" << txID << " prev:" << oldPrevTxID; if (oldPrevTxID == txID) + { // this transaction is already threaded + assert(getFieldU32(sfLastTxnSeq) == ledgerSeq); return false; + } prevTxID = oldPrevTxID; prevLedgerID = getFieldU32(sfLastTxnSeq); - assert(prevTxID != txID); setFieldH256(sfLastTxnID, txID); setFieldU32(sfLastTxnSeq, ledgerSeq); return true;