Create zero balance trust lines with auth flag (RIPD-1003):

This allows a TrustSet transaction to create a trust line
if the only thing being changed is setting the tfSetfAuth
flag.
This commit is contained in:
Vinnie Falco
2015-08-14 15:13:28 -07:00
parent dbddc6b7f2
commit 8e33ae78f8
7 changed files with 102 additions and 3 deletions

View File

@@ -18,6 +18,7 @@
//==============================================================================
#include <BeastConfig.h>
#include <ripple/protocol/Feature.h>
#include <ripple/protocol/Quality.h>
#include <ripple/app/tx/impl/SetTrust.h>
#include <ripple/basics/Log.h>
@@ -397,9 +398,12 @@ SetTrust::doApply ()
}
}
// Line does not exist.
else if (!saLimitAmount // Setting default limit.
&& (!bQualityIn || !uQualityIn) // Not setting quality in or setting default quality in.
&& (!bQualityOut || !uQualityOut)) // Not setting quality out or setting default quality out.
else if (! saLimitAmount && // Setting default limit.
(! bQualityIn || ! uQualityIn) && // Not setting quality in or setting default quality in.
(! bQualityOut || ! uQualityOut) && // Not setting quality out or setting default quality out.
(! ((view().flags() & tapENABLE_TESTING) ||
view().rules().enabled(featureTrustSetAuth,
ctx_.config.features)) || ! bSetAuth))
{
j_.trace <<
"Redundant: Setting non-existent ripple line to defaults.";