Pairwise no ripple:

* Cannot set noRipple flag with negative balance.
* Paths with consecutive no ripple links are invalid
* Adjust pathfinding value of no ripple out paths
* Check for no ripple when adding links in pathfinding
* Remove old noRipple logic
* Update trust line delete logic
This commit is contained in:
JoelKatz
2013-12-25 17:54:57 -08:00
parent f0bb3dfdfb
commit d475994e02
10 changed files with 200 additions and 33 deletions

View File

@@ -592,6 +592,10 @@ public:
{
return !mIsNegative && !isZero ();
}
bool isLEZero () const
{
return mIsNegative || isZero ();
}
bool isGEZero () const
{
return !mIsNegative;

View File

@@ -108,6 +108,7 @@ bool transResultInfo (TER terCode, std::string& strToken, std::string& strHuman)
{ terFUNDS_SPENT, "terFUNDS_SPENT", "Can't set password, password set funds already spent." },
{ terINSUF_FEE_B, "terINSUF_FEE_B", "Account balance can't pay fee." },
{ terLAST, "terLAST", "Process last." },
{ terNO_RIPPLE, "terNO_RIPPLE", "Path does not permit rippling." },
{ terNO_ACCOUNT, "terNO_ACCOUNT", "The source account does not exist." },
{ terNO_AUTH, "terNO_AUTH", "Not authorized to hold IOUs." },
{ terNO_LINE, "terNO_LINE", "No such line." },

View File

@@ -128,6 +128,7 @@ enum TER // aka TransactionEngineResult
terOWNERS, // Can't succeed with non-zero owner count.
terPRE_SEQ, // Can't pay fee, no point in forwarding, therefore don't burden network.
terLAST, // Process after all other transactions
terNO_RIPPLE, // Rippling not allowed
// 0: S Success (success)
// Causes: