mirror of
https://github.com/Xahau/xahaud.git
synced 2025-12-06 17:27:52 +00:00
Add disabled support for setting RequireDestTag.
This commit is contained in:
@@ -8,13 +8,50 @@ TER AccountSetTransactor::doApply()
|
||||
|
||||
const uint32 uTxFlags = mTxn.getFlags();
|
||||
|
||||
#if ENABLE_REQUIRE_DEST_TAG
|
||||
const uint32 uFlagsIn = mTxnAccount->getFieldU32(sfFlags);
|
||||
uint32 uFlagsOut = uFlagsIn;
|
||||
|
||||
if (uTxFlags & tfAccountSetMask)
|
||||
#else
|
||||
if (uTxFlags)
|
||||
#endif
|
||||
{
|
||||
cLog(lsINFO) << "AccountSet: Malformed transaction: Invalid flags set.";
|
||||
|
||||
return temINVALID_FLAG;
|
||||
}
|
||||
|
||||
#if ENABLE_REQUIRE_DEST_TAG
|
||||
//
|
||||
// RequireDestTag
|
||||
//
|
||||
|
||||
if ((tfRequireDestTag|tfOptionalDestTag) == (uTxFlags & (tfRequireDestTag|tfOptionalDestTag)))
|
||||
{
|
||||
cLog(lsINFO) << "AccountSet: Malformed transaction: Contradictory flags set.";
|
||||
|
||||
return temINVALID_FLAG;
|
||||
}
|
||||
|
||||
if (uTxFlags & tfRequireDestTag)
|
||||
{
|
||||
cLog(lsINFO) << "AccountSet: Set RequireDestTag.";
|
||||
|
||||
uFlagsOut |= lsfRequireDestTag;
|
||||
}
|
||||
|
||||
if (uTxFlags & tfOptionalDestTag)
|
||||
{
|
||||
cLog(lsINFO) << "AccountSet: Clear RequireDestTag.";
|
||||
|
||||
uFlagsOut &= ~lsfRequireDestTag;
|
||||
}
|
||||
|
||||
if (uFlagsIn != uFlagsOut)
|
||||
mTxnAccount->setFieldU32(sfFlags, uFlagsOut);
|
||||
#endif
|
||||
|
||||
//
|
||||
// EmailHash
|
||||
//
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define __TRANSACTIONFORMATS__
|
||||
|
||||
#include "SerializedObject.h"
|
||||
#include "LedgerFormats.h"
|
||||
|
||||
enum TransactionType
|
||||
{
|
||||
@@ -58,6 +59,13 @@ const int TransactionMaxLen = 1048576;
|
||||
// Transaction flags.
|
||||
//
|
||||
|
||||
#if ENABLE_REQUIRE_DEST_TAG
|
||||
// AccountSet flags:
|
||||
const uint32 tfRequireDestTag = 0x00010000;
|
||||
const uint32 tfOptionalDestTag = 0x00020000;
|
||||
const uint32 tfAccountSetMask = ~(tfRequireDestTag|tfOptionalDestTag);
|
||||
#endif
|
||||
|
||||
// OfferCreate flags:
|
||||
const uint32 tfPassive = 0x00010000;
|
||||
const uint32 tfOfferCreateMask = ~(tfPassive);
|
||||
|
||||
Reference in New Issue
Block a user