mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-19 18:45:52 +00:00
Implement NoRipple transaction and trust line flags.
This commit is contained in:
@@ -52,6 +52,16 @@ public:
|
||||
return isSetBit (mFlags, !mViewLowest ? lsfLowAuth : lsfHighAuth);
|
||||
}
|
||||
|
||||
bool getNoRipple () const
|
||||
{
|
||||
return isSetBit (mFlags, mViewLowest ? lsfLowNoRipple : lsfHighNoRipple);
|
||||
}
|
||||
|
||||
bool getNoRipplePeer () const
|
||||
{
|
||||
return isSetBit (mFlags, !mViewLowest ? lsfLowNoRipple : lsfHighNoRipple);
|
||||
}
|
||||
|
||||
const STAmount& getBalance () const
|
||||
{
|
||||
return mBalance;
|
||||
|
||||
@@ -1109,6 +1109,10 @@ Json::Value RPCHandler::doAccountLines (Json::Value params, LoadType* loadType,
|
||||
jPeer["authorized"] = true;
|
||||
if (line->getAuthPeer())
|
||||
jPeer["peer_authorized"] = true;
|
||||
if (line->getNoRipple())
|
||||
jPeer["no_ripple"] = true;
|
||||
if (line->getNoRipplePeer())
|
||||
jPeer["no_ripple_peer"] = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -40,6 +40,8 @@ TER TrustSetTransactor::doApply ()
|
||||
}
|
||||
|
||||
const bool bSetAuth = isSetBit (uTxFlags, tfSetfAuth);
|
||||
const bool bSetNoRipple = isSetBit (uTxFlags, tfSetNoRipple);
|
||||
const bool bClearNoRipple = isSetBit (uTxFlags, tfClearNoRipple);
|
||||
|
||||
if (bSetAuth && !isSetBit (mTxnAccount->getFieldU32 (sfFlags), lsfRequireAuth))
|
||||
{
|
||||
@@ -227,6 +229,15 @@ TER TrustSetTransactor::doApply ()
|
||||
uFlagsOut |= (bHigh ? lsfHighAuth : lsfLowAuth);
|
||||
}
|
||||
|
||||
if (bSetNoRipple && !bClearNoRipple)
|
||||
{
|
||||
uFlagsOut |= (bHigh ? lsfHighNoRipple : lsfLowNoRipple);
|
||||
}
|
||||
else if (bClearNoRipple && !bSetNoRipple)
|
||||
{
|
||||
uFlagsOut &= ~(bHigh ? lsfHighNoRipple : lsfLowNoRipple);
|
||||
}
|
||||
|
||||
if (bLowReserveSet && !bLowReserved)
|
||||
{
|
||||
// Set reserve for low account.
|
||||
|
||||
@@ -86,7 +86,7 @@ enum LedgerSpecificFlags
|
||||
lsfRequireDestTag = 0x00020000, // True, to require a DestinationTag for payments.
|
||||
lsfRequireAuth = 0x00040000, // True, to require a authorization to hold IOUs.
|
||||
lsfDisallowXRP = 0x00080000, // True, to disallow sending XRP.
|
||||
lsfDisableMaster = 0x00100000, // True, force regular key
|
||||
lsfDisableMaster = 0x00100000, // True, force regular key
|
||||
|
||||
// ltOFFER
|
||||
lsfPassive = 0x00010000,
|
||||
@@ -97,6 +97,8 @@ enum LedgerSpecificFlags
|
||||
lsfHighReserve = 0x00020000,
|
||||
lsfLowAuth = 0x00040000,
|
||||
lsfHighAuth = 0x00080000,
|
||||
lsfLowNoRipple = 0x00100000,
|
||||
lsfHighNoRipple = 0x00200000,
|
||||
};
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@@ -58,6 +58,8 @@ const uint32 tfPaymentMask = ~ (tfPartialPayment | tfLimitQuality | tfN
|
||||
|
||||
// TrustSet flags:
|
||||
const uint32 tfSetfAuth = 0x00010000;
|
||||
const uint32 tfTrustSetMask = ~ (tfSetfAuth);
|
||||
const uint32 tfSetNoRipple = 0x00020000;
|
||||
const uint32 tfClearNoRipple = 0x00040000;
|
||||
const uint32 tfTrustSetMask = ~ (tfSetfAuth | tfSetNoRipple | tfClearNoRipple);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user