mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-06 17:27:55 +00:00
Fix cases where we don't relay transactions.
This commit is contained in:
@@ -374,27 +374,24 @@ Transaction::pointer NetworkOPs::processTransaction(Transaction::pointer trans,
|
|||||||
if (r == tefFAILURE)
|
if (r == tefFAILURE)
|
||||||
throw Fault(IO_ERROR);
|
throw Fault(IO_ERROR);
|
||||||
|
|
||||||
if (isTerRetry(r))
|
|
||||||
{ // transaction should be held
|
|
||||||
cLog(lsDEBUG) << "Transaction should be held: " << r;
|
|
||||||
trans->setStatus(HELD);
|
|
||||||
theApp->getMasterTransaction().canonicalize(trans, true);
|
|
||||||
mLedgerMaster->addHeldTransaction(trans);
|
|
||||||
return trans;
|
|
||||||
}
|
|
||||||
if (r == tefPAST_SEQ)
|
|
||||||
{ // duplicate or conflict
|
|
||||||
cLog(lsINFO) << "Transaction is obsolete";
|
|
||||||
trans->setStatus(OBSOLETE);
|
|
||||||
return trans;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (r == tesSUCCESS)
|
if (r == tesSUCCESS)
|
||||||
{
|
{
|
||||||
cLog(lsINFO) << "Transaction is now included in open ledger";
|
cLog(lsINFO) << "Transaction is now included in open ledger";
|
||||||
trans->setStatus(INCLUDED);
|
trans->setStatus(INCLUDED);
|
||||||
theApp->getMasterTransaction().canonicalize(trans, true);
|
theApp->getMasterTransaction().canonicalize(trans, true);
|
||||||
}
|
}
|
||||||
|
else if (r == tefPAST_SEQ)
|
||||||
|
{ // duplicate or conflict
|
||||||
|
cLog(lsINFO) << "Transaction is obsolete";
|
||||||
|
trans->setStatus(OBSOLETE);
|
||||||
|
}
|
||||||
|
else if (isTerRetry(r))
|
||||||
|
{ // transaction should be held
|
||||||
|
cLog(lsDEBUG) << "Transaction should be held: " << r;
|
||||||
|
trans->setStatus(HELD);
|
||||||
|
theApp->getMasterTransaction().canonicalize(trans, true);
|
||||||
|
mLedgerMaster->addHeldTransaction(trans);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
cLog(lsDEBUG) << "Status other than success " << r;
|
cLog(lsDEBUG) << "Status other than success " << r;
|
||||||
|
|||||||
Reference in New Issue
Block a user