mirror of
https://github.com/Xahau/xahaud.git
synced 2025-12-06 17:27:52 +00:00
More changes to the new serialization format that don't break compatibility.
This commit is contained in:
@@ -1,98 +1,13 @@
|
||||
|
||||
#include "FieldNames.h"
|
||||
|
||||
#define S_FIELD(x) sf##x, #x
|
||||
#define FIELD(name, type, index) { sf##name, #name, STI_##type, index },
|
||||
#define TYPE(type, index)
|
||||
|
||||
FieldName FieldNames[]=
|
||||
{
|
||||
|
||||
// 8-bit integers
|
||||
{ S_FIELD(CloseResolution), STI_UINT8, 1 },
|
||||
|
||||
// 32-bit integers (common)
|
||||
{ S_FIELD(Flags), STI_UINT32, 1 },
|
||||
{ S_FIELD(SourceTag), STI_UINT32, 2 },
|
||||
{ S_FIELD(Sequence), STI_UINT32, 3 },
|
||||
{ S_FIELD(LastTxnSeq), STI_UINT32, 4 },
|
||||
{ S_FIELD(LedgerSequence), STI_UINT32, 5 },
|
||||
{ S_FIELD(CloseTime), STI_UINT32, 6 },
|
||||
{ S_FIELD(ParentCloseTime), STI_UINT32, 7 },
|
||||
{ S_FIELD(SigningTime), STI_UINT32, 8 },
|
||||
{ S_FIELD(Expiration), STI_UINT32, 9 },
|
||||
{ S_FIELD(TransferRate), STI_UINT32, 10 },
|
||||
{ S_FIELD(PublishSize), STI_UINT32, 11 },
|
||||
|
||||
// 32-bit integers (rare)
|
||||
{ S_FIELD(HighQualityIn), STI_UINT32, 16 },
|
||||
{ S_FIELD(HighQualityOut), STI_UINT32, 17 },
|
||||
{ S_FIELD(LowQualityIn), STI_UINT32, 18 },
|
||||
{ S_FIELD(LowQualityOut), STI_UINT32, 19 },
|
||||
{ S_FIELD(QualityIn), STI_UINT32, 20 },
|
||||
{ S_FIELD(QualityOut), STI_UINT32, 21 },
|
||||
{ S_FIELD(StampEscrow), STI_UINT32, 22 },
|
||||
{ S_FIELD(BondAmount), STI_UINT32, 23 },
|
||||
{ S_FIELD(LoadFee), STI_UINT32, 24 },
|
||||
|
||||
// 64-bit integers
|
||||
{ S_FIELD(IndexNext), STI_UINT64, 1 },
|
||||
{ S_FIELD(IndexPrevious), STI_UINT64, 2 },
|
||||
{ S_FIELD(BookNode), STI_UINT64, 3 },
|
||||
{ S_FIELD(OwnerNode), STI_UINT64, 4 },
|
||||
{ S_FIELD(BaseFee), STI_UINT64, 5 },
|
||||
|
||||
// 128-bit
|
||||
{ S_FIELD(PublishSize), STI_HASH128, 1 },
|
||||
{ S_FIELD(EmailHash), STI_HASH128, 2 },
|
||||
|
||||
// 256-bit
|
||||
{ S_FIELD(LedgerHash), STI_HASH256, 1 },
|
||||
{ S_FIELD(ParentHash), STI_HASH256, 2 },
|
||||
{ S_FIELD(TransactionHash), STI_HASH256, 3 },
|
||||
{ S_FIELD(AccountHash), STI_HASH256, 4 },
|
||||
{ S_FIELD(LastTxnID), STI_HASH256, 5 },
|
||||
{ S_FIELD(WalletLocator), STI_HASH256, 6 },
|
||||
{ S_FIELD(PublishHash), STI_HASH256, 7 },
|
||||
{ S_FIELD(Nickname), STI_HASH256, 8 },
|
||||
|
||||
// currency amount
|
||||
{ S_FIELD(Amount), STI_AMOUNT, 1 },
|
||||
{ S_FIELD(Balance), STI_AMOUNT, 2 },
|
||||
{ S_FIELD(LimitAmount), STI_AMOUNT, 3 },
|
||||
{ S_FIELD(TakerPays), STI_AMOUNT, 4 },
|
||||
{ S_FIELD(TakerGets), STI_AMOUNT, 5 },
|
||||
{ S_FIELD(LowLimit), STI_AMOUNT, 6 },
|
||||
{ S_FIELD(HighLimit), STI_AMOUNT, 7 },
|
||||
{ S_FIELD(MinimumOffer), STI_AMOUNT, 8 },
|
||||
|
||||
// variable length
|
||||
{ S_FIELD(PublicKey), STI_VL, 1 },
|
||||
{ S_FIELD(MessageKey), STI_VL, 2 },
|
||||
{ S_FIELD(SigningKey), STI_VL, 3 },
|
||||
{ S_FIELD(Signature), STI_VL, 4 },
|
||||
{ S_FIELD(Generator), STI_VL, 5 },
|
||||
{ S_FIELD(Domain), STI_VL, 6 },
|
||||
|
||||
// account
|
||||
{ S_FIELD(Account), STI_ACCOUNT, 1 },
|
||||
{ S_FIELD(Owner), STI_ACCOUNT, 2 },
|
||||
{ S_FIELD(Destination), STI_ACCOUNT, 3 },
|
||||
{ S_FIELD(Issuer), STI_ACCOUNT, 4 },
|
||||
{ S_FIELD(HighID), STI_ACCOUNT, 5 },
|
||||
{ S_FIELD(LowID), STI_ACCOUNT, 6 },
|
||||
{ S_FIELD(Target), STI_ACCOUNT, 7 },
|
||||
|
||||
// path set
|
||||
{ S_FIELD(Paths), STI_PATHSET, 1 },
|
||||
|
||||
// vector of 256-bit
|
||||
{ S_FIELD(Indexes), STI_VECTOR256, 1 },
|
||||
|
||||
// inner object
|
||||
{ S_FIELD(MiddleTransaction), STI_OBJECT, 1 },
|
||||
{ S_FIELD(InnerTransaction), STI_OBJECT, 2 },
|
||||
// OBJECT/15 is reserved for end of object
|
||||
|
||||
// array of objects
|
||||
{ S_FIELD(SigningAccounts), STI_ARRAY, 1 },
|
||||
// ARRAY/15 is reserved for end of array
|
||||
#include "SerializeProto.h"
|
||||
};
|
||||
|
||||
#undef FIELD
|
||||
#undef TYPE
|
||||
|
||||
@@ -10,6 +10,7 @@ struct FieldName
|
||||
const char *fieldName;
|
||||
SerializedTypeID fieldType;
|
||||
int fieldValue;
|
||||
int fieldID;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -20,7 +20,6 @@ LedgerEntryFormat LedgerFormats[]=
|
||||
{ S_FIELD(Domain), STI_VL, SOE_IFFLAG, 32 },
|
||||
{ S_FIELD(PublishHash), STI_HASH256, SOE_IFFLAG, 64 },
|
||||
{ S_FIELD(PublishSize), STI_UINT32, SOE_IFFLAG, 128 },
|
||||
{ S_FIELD(Extensions), STI_TL, SOE_IFFLAG, 0x01000000 },
|
||||
{ sfInvalid, NULL, STI_DONE, SOE_NEVER, -1 } }
|
||||
},
|
||||
{ "Contract", ltCONTRACT, {
|
||||
@@ -37,7 +36,6 @@ LedgerEntryFormat LedgerFormats[]=
|
||||
{ S_FIELD(FundCode), STI_VL, SOE_REQUIRED, 0 },
|
||||
{ S_FIELD(RemoveCode), STI_VL, SOE_REQUIRED, 0 },
|
||||
{ S_FIELD(ExpireCode), STI_VL, SOE_REQUIRED, 0 },
|
||||
{ S_FIELD(Extensions), STI_TL, SOE_IFFLAG, 0x01000000 },
|
||||
{ sfInvalid, NULL, STI_DONE, SOE_NEVER, -1 } }
|
||||
},
|
||||
{ "DirectoryNode", ltDIR_NODE, {
|
||||
@@ -45,20 +43,17 @@ LedgerEntryFormat LedgerFormats[]=
|
||||
{ S_FIELD(Indexes), STI_VECTOR256, SOE_REQUIRED, 0 },
|
||||
{ S_FIELD(IndexNext), STI_UINT64, SOE_IFFLAG, 1 },
|
||||
{ S_FIELD(IndexPrevious), STI_UINT64, SOE_IFFLAG, 2 },
|
||||
{ S_FIELD(Extensions), STI_TL, SOE_IFFLAG, 0x01000000 },
|
||||
{ sfInvalid, NULL, STI_DONE, SOE_NEVER, -1 } }
|
||||
},
|
||||
{ "GeneratorMap", ltGENERATOR_MAP, {
|
||||
{ S_FIELD(Flags), STI_UINT32, SOE_FLAGS, 0 },
|
||||
{ S_FIELD(Generator), STI_VL, SOE_REQUIRED, 0 },
|
||||
{ S_FIELD(Extensions), STI_TL, SOE_IFFLAG, 0x01000000 },
|
||||
{ sfInvalid, NULL, STI_DONE, SOE_NEVER, -1 } }
|
||||
},
|
||||
{ "Nickname", ltNICKNAME, {
|
||||
{ S_FIELD(Flags), STI_UINT32, SOE_FLAGS, 0 },
|
||||
{ S_FIELD(Account), STI_ACCOUNT, SOE_REQUIRED, 0 },
|
||||
{ S_FIELD(MinimumOffer), STI_AMOUNT, SOE_IFFLAG, 1 },
|
||||
{ S_FIELD(Extensions), STI_TL, SOE_IFFLAG, 0x01000000 },
|
||||
{ sfInvalid, NULL, STI_DONE, SOE_NEVER, -1 } }
|
||||
},
|
||||
{ "Offer", ltOFFER, {
|
||||
@@ -73,7 +68,6 @@ LedgerEntryFormat LedgerFormats[]=
|
||||
{ S_FIELD(LastTxnID), STI_HASH256, SOE_REQUIRED, 0 },
|
||||
{ S_FIELD(LastTxnSeq), STI_UINT32, SOE_REQUIRED, 0 },
|
||||
{ S_FIELD(Expiration), STI_UINT32, SOE_IFFLAG, 1 },
|
||||
{ S_FIELD(Extensions), STI_TL, SOE_IFFLAG, 0x01000000 },
|
||||
{ sfInvalid, NULL, STI_DONE, SOE_NEVER, -1 } }
|
||||
},
|
||||
{ "RippleState", ltRIPPLE_STATE, {
|
||||
@@ -89,7 +83,6 @@ LedgerEntryFormat LedgerFormats[]=
|
||||
{ S_FIELD(LowQualityOut), STI_UINT32, SOE_IFFLAG, 2 },
|
||||
{ S_FIELD(HighQualityIn), STI_UINT32, SOE_IFFLAG, 4 },
|
||||
{ S_FIELD(HighQualityOut), STI_UINT32, SOE_IFFLAG, 8 },
|
||||
{ S_FIELD(Extensions), STI_TL, SOE_IFFLAG, 0x01000000 },
|
||||
{ sfInvalid, NULL, STI_DONE, SOE_NEVER, -1 } }
|
||||
},
|
||||
{ NULL, ltINVALID }
|
||||
|
||||
125
src/SerializeProto.h
Normal file
125
src/SerializeProto.h
Normal file
@@ -0,0 +1,125 @@
|
||||
// This is not really a header file, but it can be used as one with
|
||||
// appropriate #define statements.
|
||||
|
||||
// types (common)
|
||||
TYPE(UINT32, 1)
|
||||
TYPE(UINT64, 2)
|
||||
TYPE(HASH128, 3)
|
||||
TYPE(HASH256, 4)
|
||||
// 5 is reserved
|
||||
TYPE(AMOUNT, 6)
|
||||
TYPE(VL, 7)
|
||||
TYPE(ACCOUNT, 8)
|
||||
// 9-13 are reserved
|
||||
TYPE(OBJECT, 14)
|
||||
TYPE(ARRAY, 15)
|
||||
|
||||
// types (uncommon)
|
||||
TYPE(UINT8, 16)
|
||||
TYPE(UINT16, 17)
|
||||
TYPE(HASH160, 18)
|
||||
TYPE(PATHSET, 19)
|
||||
TYPE(VECTOR256, 20)
|
||||
|
||||
// 8-bit integers
|
||||
FIELD(CloseResolution, UINT8, 1)
|
||||
|
||||
// 32-bit integers (common)
|
||||
FIELD(Flags, UINT32, 1)
|
||||
FIELD(SourceTag, UINT32, 2)
|
||||
FIELD(Sequence, UINT32, 3)
|
||||
FIELD(LastTxnSeq, UINT32, 4)
|
||||
FIELD(LedgerSequence, UINT32, 5)
|
||||
FIELD(CloseTime, UINT32, 6)
|
||||
FIELD(ParentCloseTime, UINT32, 7)
|
||||
FIELD(SigningTime, UINT32, 8)
|
||||
FIELD(Expiration, UINT32, 9)
|
||||
FIELD(TransferRate, UINT32, 10)
|
||||
FIELD(PublishSize, UINT32, 11)
|
||||
|
||||
// 32-bit integers (uncommon)
|
||||
FIELD(HighQualityIn, UINT32, 16)
|
||||
FIELD(HighQualityOut, UINT32, 17)
|
||||
FIELD(LowQualityIn, UINT32, 18)
|
||||
FIELD(LowQualityOut, UINT32, 19)
|
||||
FIELD(QualityIn, UINT32, 20)
|
||||
FIELD(QualityOut, UINT32, 21)
|
||||
FIELD(StampEscrow, UINT32, 22)
|
||||
FIELD(BondAmount, UINT32, 23)
|
||||
FIELD(LoadFee, UINT32, 24)
|
||||
FIELD(OfferSequence, UINT32, 25)
|
||||
|
||||
// 64-bit integers
|
||||
FIELD(IndexNext, UINT64, 1)
|
||||
FIELD(IndexPrevious, UINT64, 2)
|
||||
FIELD(BookNode, UINT64, 3)
|
||||
FIELD(OwnerNode, UINT64, 4)
|
||||
FIELD(BaseFee, UINT64, 5)
|
||||
|
||||
// 128-bit
|
||||
FIELD(EmailHash, HASH128, 2)
|
||||
|
||||
// 256-bit (common)
|
||||
FIELD(LedgerHash, HASH256, 1)
|
||||
FIELD(ParentHash, HASH256, 2)
|
||||
FIELD(TransactionHash, HASH256, 3)
|
||||
FIELD(AccountHash, HASH256, 4)
|
||||
FIELD(LastTxnID, HASH256, 5)
|
||||
FIELD(WalletLocator, HASH256, 6)
|
||||
FIELD(PublishHash, HASH256, 7)
|
||||
|
||||
// 256-bit (uncommon)
|
||||
FIELD(BookDirectory, HASH256, 16)
|
||||
FIELD(InvoiceID, HASH256, 17)
|
||||
FIELD(Nickname, HASH256, 18)
|
||||
|
||||
// currency amount (common)
|
||||
FIELD(Amount, AMOUNT, 1)
|
||||
FIELD(Balance, AMOUNT, 2)
|
||||
FIELD(LimitAmount, AMOUNT, 3)
|
||||
FIELD(TakerPays, AMOUNT, 4)
|
||||
FIELD(TakerGets, AMOUNT, 5)
|
||||
FIELD(LowLimit, AMOUNT, 6)
|
||||
FIELD(HighLimit, AMOUNT, 7)
|
||||
FIELD(SendMax, AMOUNT, 9)
|
||||
|
||||
// current amount (uncommon)
|
||||
FIELD(MinimumOffer, AMOUNT, 16)
|
||||
FIELD(RippleEscrow, AMOUNT, 17)
|
||||
|
||||
// variable length
|
||||
FIELD(PublicKey, VL, 1)
|
||||
FIELD(MessageKey, VL, 2)
|
||||
FIELD(SigningKey, VL, 3)
|
||||
FIELD(Signature, VL, 4)
|
||||
FIELD(Generator, VL, 5)
|
||||
FIELD(Domain, VL, 6)
|
||||
FIELD(FundCode, VL, 7)
|
||||
FIELD(RemoveCode, VL, 8)
|
||||
FIELD(ExpireCode, VL, 9)
|
||||
FIELD(CreateCode, VL, 10)
|
||||
|
||||
// account
|
||||
FIELD(Account, ACCOUNT, 1)
|
||||
FIELD(Owner, ACCOUNT, 2)
|
||||
FIELD(Destination, ACCOUNT, 3)
|
||||
FIELD(Issuer, ACCOUNT, 4)
|
||||
FIELD(HighID, ACCOUNT, 5)
|
||||
FIELD(LowID, ACCOUNT, 6)
|
||||
FIELD(Target, ACCOUNT, 7)
|
||||
FIELD(AuthorizedKey, ACCOUNT, 8)
|
||||
|
||||
// path set
|
||||
FIELD(Paths, PATHSET, 1)
|
||||
|
||||
// vector of 256-bit
|
||||
FIELD(Indexes, VECTOR256, 1)
|
||||
|
||||
// inner object
|
||||
// OBJECT/1 is reserved for end of object
|
||||
FIELD(MiddleTransaction, OBJECT, 2)
|
||||
FIELD(InnerTransaction, OBJECT, 3)
|
||||
|
||||
// array of objects
|
||||
// ARRAY/1 is reserved for end of array
|
||||
FIELD(SigningAccounts, ARRAY, 2)
|
||||
@@ -25,101 +25,11 @@ enum SOE_Field
|
||||
sfInvalid = -1,
|
||||
sfGeneric = 0,
|
||||
|
||||
// common fields
|
||||
sfAcceptExpire,
|
||||
sfAcceptRate,
|
||||
sfAcceptStart,
|
||||
sfAccount,
|
||||
sfAccountHash,
|
||||
sfAmount,
|
||||
sfAuthorizedKey,
|
||||
sfBalance,
|
||||
sfBaseFee,
|
||||
sfBondAmount,
|
||||
sfBookDirectory,
|
||||
sfBookNode,
|
||||
sfBorrowExpire,
|
||||
sfBorrowRate,
|
||||
sfBorrowStart,
|
||||
sfBorrower,
|
||||
sfCreateCode,
|
||||
sfCloseTime,
|
||||
sfCloseResolution,
|
||||
sfCurrency,
|
||||
sfCurrencyIn,
|
||||
sfCurrencyOut,
|
||||
sfDestination,
|
||||
sfDomain,
|
||||
sfEmailHash,
|
||||
sfExpiration,
|
||||
sfExpireCode,
|
||||
sfExtensions,
|
||||
sfFirstNode,
|
||||
sfFlags,
|
||||
sfFundCode,
|
||||
sfGenerator,
|
||||
sfGeneratorID,
|
||||
sfHash,
|
||||
sfHighID,
|
||||
sfHighLimit,
|
||||
sfHighQualityIn,
|
||||
sfHighQualityOut,
|
||||
sfIdentifier,
|
||||
sfIndexes,
|
||||
sfIndexNext,
|
||||
sfIndexPrevious,
|
||||
sfInnerTransaction,
|
||||
sfInvoiceID,
|
||||
sfIssuer,
|
||||
sfLastNode,
|
||||
sfLastTxnID,
|
||||
sfLastTxnSeq,
|
||||
sfLedgerHash,
|
||||
sfLedgerSequence,
|
||||
sfLimitAmount,
|
||||
sfLoadFee,
|
||||
sfLowID,
|
||||
sfLowLimit,
|
||||
sfLowQualityIn,
|
||||
sfLowQualityOut,
|
||||
sfMessageKey,
|
||||
sfMiddleTransaction,
|
||||
sfMinimumOffer,
|
||||
sfNextAcceptExpire,
|
||||
sfNextAcceptRate,
|
||||
sfNextAcceptStart,
|
||||
sfNextTransitExpire,
|
||||
sfNextTransitRate,
|
||||
sfNextTransitStart,
|
||||
sfNickname,
|
||||
sfOfferSequence,
|
||||
sfOwner,
|
||||
sfOwnerNode,
|
||||
sfParentCloseTime,
|
||||
sfParentHash,
|
||||
sfPaths,
|
||||
sfPublicKey,
|
||||
sfPublishHash,
|
||||
sfPublishSize,
|
||||
sfQualityIn,
|
||||
sfQualityOut,
|
||||
sfRemoveCode,
|
||||
sfRippleEscrow,
|
||||
sfSendMax,
|
||||
sfSequence,
|
||||
sfSignature,
|
||||
sfSigningAccounts,
|
||||
sfSigningKey,
|
||||
sfSigningTime,
|
||||
sfSourceTag,
|
||||
sfStampEscrow,
|
||||
sfTakerGets,
|
||||
sfTakerPays,
|
||||
sfTarget,
|
||||
sfTransferRate,
|
||||
sfTransactionHash,
|
||||
sfVersion,
|
||||
sfWalletLocator,
|
||||
#define FIELD(name, type, index) sf##name,
|
||||
#define TYPE(name, index)
|
||||
#include "SerializeProto.h"
|
||||
#undef FIELD
|
||||
#undef TYPE
|
||||
|
||||
// test fields
|
||||
sfTest1, sfTest2, sfTest3, sfTest4
|
||||
|
||||
@@ -15,7 +15,6 @@ TransactionFormat InnerTxnFormats[]=
|
||||
{ S_FIELD(TransferRate), STI_UINT32, SOE_IFFLAG, 32 },
|
||||
{ S_FIELD(PublishHash), STI_HASH256, SOE_IFFLAG, 64 },
|
||||
{ S_FIELD(PublishSize), STI_UINT32, SOE_IFFLAG, 128 },
|
||||
{ S_FIELD(Extensions), STI_TL, SOE_IFFLAG, 0x02000000 },
|
||||
{ sfInvalid, NULL, STI_DONE, SOE_NEVER, -1 } }
|
||||
},
|
||||
{ "Claim", ttCLAIM, {
|
||||
@@ -24,7 +23,6 @@ TransactionFormat InnerTxnFormats[]=
|
||||
{ S_FIELD(PublicKey), STI_VL, SOE_REQUIRED, 0 },
|
||||
{ S_FIELD(Signature), STI_VL, SOE_REQUIRED, 0 },
|
||||
{ S_FIELD(SourceTag), STI_UINT32, SOE_IFFLAG, 1 },
|
||||
{ S_FIELD(Extensions), STI_TL, SOE_IFFLAG, 0x02000000 },
|
||||
{ sfInvalid, NULL, STI_DONE, SOE_NEVER, -1 } }
|
||||
},
|
||||
{ "CreditSet", ttCREDIT_SET, {
|
||||
@@ -34,7 +32,6 @@ TransactionFormat InnerTxnFormats[]=
|
||||
{ S_FIELD(LimitAmount), STI_AMOUNT, SOE_IFFLAG, 2 },
|
||||
{ S_FIELD(QualityIn), STI_UINT32, SOE_IFFLAG, 4 },
|
||||
{ S_FIELD(QualityOut), STI_UINT32, SOE_IFFLAG, 8 },
|
||||
{ S_FIELD(Extensions), STI_TL, SOE_IFFLAG, 0x02000000 },
|
||||
{ sfInvalid, NULL, STI_DONE, SOE_NEVER, -1 } }
|
||||
},
|
||||
/*
|
||||
@@ -45,7 +42,6 @@ TransactionFormat InnerTxnFormats[]=
|
||||
{ S_FIELD(SourceTag), STI_UINT32, SOE_IFFLAG, 1 },
|
||||
{ S_FIELD(Destination), STI_ACCOUNT, SOE_IFFLAG, 2 },
|
||||
{ S_FIELD(Identifier), STI_VL, SOE_IFFLAG, 4 },
|
||||
{ S_FIELD(Extensions), STI_TL, SOE_IFFLAG, 0x02000000 },
|
||||
{ sfInvalid, NULL, STI_DONE, SOE_NEVER, -1 } }
|
||||
},
|
||||
*/
|
||||
@@ -55,7 +51,6 @@ TransactionFormat InnerTxnFormats[]=
|
||||
{ S_FIELD(MinimumOffer), STI_AMOUNT, SOE_IFFLAG, 1 },
|
||||
{ S_FIELD(Signature), STI_VL, SOE_IFFLAG, 2 },
|
||||
{ S_FIELD(SourceTag), STI_UINT32, SOE_IFFLAG, 4 },
|
||||
{ S_FIELD(Extensions), STI_TL, SOE_IFFLAG, 0x02000000 },
|
||||
{ sfInvalid, NULL, STI_DONE, SOE_NEVER, -1 } }
|
||||
},
|
||||
{ "OfferCreate", ttOFFER_CREATE, {
|
||||
@@ -64,21 +59,18 @@ TransactionFormat InnerTxnFormats[]=
|
||||
{ S_FIELD(TakerGets), STI_AMOUNT, SOE_REQUIRED, 0 },
|
||||
{ S_FIELD(SourceTag), STI_UINT32, SOE_IFFLAG, 1 },
|
||||
{ S_FIELD(Expiration), STI_UINT32, SOE_IFFLAG, 2 },
|
||||
{ S_FIELD(Extensions), STI_TL, SOE_IFFLAG, 0x02000000 },
|
||||
{ sfInvalid, NULL, STI_DONE, SOE_NEVER, -1 } }
|
||||
},
|
||||
{ "OfferCancel", ttOFFER_CANCEL, {
|
||||
{ S_FIELD(Flags), STI_UINT32, SOE_FLAGS, 0 },
|
||||
{ S_FIELD(OfferSequence), STI_UINT32, SOE_REQUIRED, 0 },
|
||||
{ S_FIELD(SourceTag), STI_UINT32, SOE_IFFLAG, 1 },
|
||||
{ S_FIELD(Extensions), STI_TL, SOE_IFFLAG, 0x02000000 },
|
||||
{ sfInvalid, NULL, STI_DONE, SOE_NEVER, -1 } }
|
||||
},
|
||||
{ "PasswordFund", ttPASSWORD_FUND, {
|
||||
{ S_FIELD(Flags), STI_UINT32, SOE_FLAGS, 0 },
|
||||
{ S_FIELD(Destination), STI_ACCOUNT, SOE_REQUIRED, 0 },
|
||||
{ S_FIELD(SourceTag), STI_UINT32, SOE_IFFLAG, 1 },
|
||||
{ S_FIELD(Extensions), STI_TL, SOE_IFFLAG, 0x02000000 },
|
||||
{ sfInvalid, NULL, STI_DONE, SOE_NEVER, -1 } }
|
||||
},
|
||||
{ "PasswordSet", ttPASSWORD_SET, {
|
||||
@@ -88,7 +80,6 @@ TransactionFormat InnerTxnFormats[]=
|
||||
{ S_FIELD(PublicKey), STI_VL, SOE_REQUIRED, 0 },
|
||||
{ S_FIELD(Signature), STI_VL, SOE_REQUIRED, 0 },
|
||||
{ S_FIELD(SourceTag), STI_UINT32, SOE_IFFLAG, 1 },
|
||||
{ S_FIELD(Extensions), STI_TL, SOE_IFFLAG, 0x02000000 },
|
||||
{ sfInvalid, NULL, STI_DONE, SOE_NEVER, -1 } }
|
||||
},
|
||||
{ "Payment", ttPAYMENT, {
|
||||
@@ -99,7 +90,6 @@ TransactionFormat InnerTxnFormats[]=
|
||||
{ S_FIELD(Paths), STI_PATHSET, SOE_IFFLAG, 2 },
|
||||
{ S_FIELD(SourceTag), STI_UINT32, SOE_IFFLAG, 4 },
|
||||
{ S_FIELD(InvoiceID), STI_HASH256, SOE_IFFLAG, 8 },
|
||||
{ S_FIELD(Extensions), STI_TL, SOE_IFFLAG, 0x02000000 },
|
||||
{ sfInvalid, NULL, STI_DONE, SOE_NEVER, -1 } }
|
||||
},
|
||||
{ "WalletAdd", ttWALLET_ADD, {
|
||||
@@ -109,7 +99,6 @@ TransactionFormat InnerTxnFormats[]=
|
||||
{ S_FIELD(PublicKey), STI_VL, SOE_REQUIRED, 0 },
|
||||
{ S_FIELD(Signature), STI_VL, SOE_REQUIRED, 0 },
|
||||
{ S_FIELD(SourceTag), STI_UINT32, SOE_IFFLAG, 1 },
|
||||
{ S_FIELD(Extensions), STI_TL, SOE_IFFLAG, 0x02000000 },
|
||||
{ sfInvalid, NULL, STI_DONE, SOE_NEVER, -1 } }
|
||||
},
|
||||
{ "Contract", ttCONTRACT, {
|
||||
@@ -122,13 +111,11 @@ TransactionFormat InnerTxnFormats[]=
|
||||
{ S_FIELD(FundCode), STI_VL, SOE_REQUIRED, 0 },
|
||||
{ S_FIELD(RemoveCode), STI_VL, SOE_REQUIRED, 0 },
|
||||
{ S_FIELD(ExpireCode), STI_VL, SOE_REQUIRED, 0 },
|
||||
{ S_FIELD(Extensions), STI_TL, SOE_IFFLAG, 0x02000000 },
|
||||
{ sfInvalid, NULL, STI_DONE, SOE_NEVER, -1 } }
|
||||
},
|
||||
{ "Contract", ttCONTRACT_REMOVE, {
|
||||
{ S_FIELD(Flags), STI_UINT32, SOE_FLAGS, 0 },
|
||||
{ S_FIELD(Target), STI_ACCOUNT, SOE_REQUIRED, 0 },
|
||||
{ S_FIELD(Extensions), STI_TL, SOE_IFFLAG, 0x02000000 },
|
||||
{ sfInvalid, NULL, STI_DONE, SOE_NEVER, -1 } }
|
||||
},
|
||||
{ NULL, ttINVALID }
|
||||
|
||||
Reference in New Issue
Block a user