mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-06 17:27:55 +00:00
Add support for DisallowXRP.
This commit is contained in:
@@ -44,7 +44,7 @@ TER AccountSetTransactor::doApply()
|
|||||||
uFlagsOut |= lsfRequireAuth;
|
uFlagsOut |= lsfRequireAuth;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (uTxFlags & tfOptionalAuth)
|
if ((uTxFlags & tfOptionalAuth) && isSetBit(uFlagsIn, lsfRequireAuth))
|
||||||
{
|
{
|
||||||
cLog(lsINFO) << "AccountSet: Clear RequireAuth.";
|
cLog(lsINFO) << "AccountSet: Clear RequireAuth.";
|
||||||
|
|
||||||
@@ -62,16 +62,16 @@ TER AccountSetTransactor::doApply()
|
|||||||
return temINVALID_FLAG;
|
return temINVALID_FLAG;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (uTxFlags & tfRequireDestTag)
|
if ((uTxFlags & tfOptionalDestTag) && !isSetBit(uFlagsIn, lsfRequireDestTag))
|
||||||
{
|
{
|
||||||
cLog(lsINFO) << "AccountSet: Set RequireDestTag.";
|
cLog(lsINFO) << "AccountSet: Set lsfRequireDestTag.";
|
||||||
|
|
||||||
uFlagsOut |= lsfRequireDestTag;
|
uFlagsOut |= lsfRequireDestTag;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (uTxFlags & tfOptionalDestTag)
|
if ((uTxFlags & tfOptionalDestTag) && isSetBit(uFlagsIn, lsfRequireDestTag))
|
||||||
{
|
{
|
||||||
cLog(lsINFO) << "AccountSet: Clear RequireDestTag.";
|
cLog(lsINFO) << "AccountSet: Clear lsfRequireDestTag.";
|
||||||
|
|
||||||
uFlagsOut &= ~lsfRequireDestTag;
|
uFlagsOut &= ~lsfRequireDestTag;
|
||||||
}
|
}
|
||||||
@@ -79,6 +79,31 @@ TER AccountSetTransactor::doApply()
|
|||||||
if (uFlagsIn != uFlagsOut)
|
if (uFlagsIn != uFlagsOut)
|
||||||
mTxnAccount->setFieldU32(sfFlags, uFlagsOut);
|
mTxnAccount->setFieldU32(sfFlags, uFlagsOut);
|
||||||
|
|
||||||
|
//
|
||||||
|
// DisallowXRP
|
||||||
|
//
|
||||||
|
|
||||||
|
if ((tfDisallowXRP|tfAllowXRP) == (uTxFlags & (tfDisallowXRP|tfAllowXRP)))
|
||||||
|
{
|
||||||
|
cLog(lsINFO) << "AccountSet: Malformed transaction: Contradictory flags set.";
|
||||||
|
|
||||||
|
return temINVALID_FLAG;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((uTxFlags & tfDisallowXRP) && !isSetBit(uFlagsIn, lsfDisallowXRP))
|
||||||
|
{
|
||||||
|
cLog(lsINFO) << "AccountSet: Set lsfDisallowXRP.";
|
||||||
|
|
||||||
|
uFlagsOut |= lsfDisallowXRP;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((uTxFlags & tfAllowXRP) && isSetBit(uFlagsIn, lsfDisallowXRP))
|
||||||
|
{
|
||||||
|
cLog(lsINFO) << "AccountSet: Clear lsfDisallowXRP.";
|
||||||
|
|
||||||
|
uFlagsOut &= ~lsfDisallowXRP;
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// EmailHash
|
// EmailHash
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ enum LedgerSpecificFlags
|
|||||||
lsfPasswordSpent = 0x00010000, // True, if password set fee is spent.
|
lsfPasswordSpent = 0x00010000, // True, if password set fee is spent.
|
||||||
lsfRequireDestTag = 0x00020000, // True, to require a DestinationTag for payments.
|
lsfRequireDestTag = 0x00020000, // True, to require a DestinationTag for payments.
|
||||||
lsfRequireAuth = 0x00040000, // True, to require a authorization to hold IOUs.
|
lsfRequireAuth = 0x00040000, // True, to require a authorization to hold IOUs.
|
||||||
|
lsfDisallowXRP = 0x00080000, // True, to disallow sending XRP.
|
||||||
|
|
||||||
// ltOFFER
|
// ltOFFER
|
||||||
lsfPassive = 0x00010000,
|
lsfPassive = 0x00010000,
|
||||||
|
|||||||
@@ -64,7 +64,11 @@ const uint32 tfRequireDestTag = 0x00010000;
|
|||||||
const uint32 tfOptionalDestTag = 0x00020000;
|
const uint32 tfOptionalDestTag = 0x00020000;
|
||||||
const uint32 tfRequireAuth = 0x00040000;
|
const uint32 tfRequireAuth = 0x00040000;
|
||||||
const uint32 tfOptionalAuth = 0x00080000;
|
const uint32 tfOptionalAuth = 0x00080000;
|
||||||
const uint32 tfAccountSetMask = ~(tfRequireDestTag|tfOptionalDestTag|tfRequireAuth|tfOptionalAuth);
|
const uint32 tfDisallowXRP = 0x00100000;
|
||||||
|
const uint32 tfAllowXRP = 0x00200000;
|
||||||
|
const uint32 tfAccountSetMask = ~(tfRequireDestTag|tfOptionalDestTag
|
||||||
|
|tfRequireAuth|tfOptionalAuth
|
||||||
|
|tfDisallowXRP|tfAllowXRP);
|
||||||
|
|
||||||
// OfferCreate flags:
|
// OfferCreate flags:
|
||||||
const uint32 tfPassive = 0x00010000;
|
const uint32 tfPassive = 0x00010000;
|
||||||
|
|||||||
Reference in New Issue
Block a user