Add transaction formats for CreditSet and TransitSet.

This commit is contained in:
Arthur Britto
2012-05-21 17:26:44 -07:00
parent 666e38bb2a
commit 3c22a665d2
3 changed files with 44 additions and 15 deletions

View File

@@ -31,6 +31,9 @@ enum SOE_Field
sfAmountOut,
sfAuthorizedKey,
sfBalance,
sfBorrowExpire,
sfBorrowRate,
sfBorrowStart,
sfBorrower,
sfCurrency,
sfCurrencyIn,
@@ -50,6 +53,7 @@ enum SOE_Field
sfLedgerHash,
sfLender,
sfLimit,
sfLimitAmount,
sfMessageKey,
sfMinimumOffer,
sfNextRate,
@@ -67,6 +71,9 @@ enum SOE_Field
sfSourceTag,
sfTarget,
sfTargetLedger,
sfTransitExpire,
sfTransitRate,
sfTransitStart,
sfWalletLocator,
// test fields

View File

@@ -5,17 +5,6 @@
TransactionFormat InnerTxnFormats[]=
{
{ "Payment", ttPAYMENT, {
{ S_FIELD(Flags), STI_UINT32, SOE_FLAGS, 0 },
{ S_FIELD(Destination), STI_ACCOUNT, SOE_REQUIRED, 0 },
{ S_FIELD(Amount), STI_AMOUNT, SOE_REQUIRED, 0 },
{ S_FIELD(SendMax), STI_AMOUNT, SOE_IFFLAG, 1 },
{ 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 } }
},
{ "Claim", ttCLAIM, {
{ S_FIELD(Flags), STI_UINT32, SOE_FLAGS, 0 },
{ S_FIELD(Generator), STI_VL, SOE_REQUIRED, 0 },
@@ -25,6 +14,17 @@ TransactionFormat InnerTxnFormats[]=
{ S_FIELD(Extensions), STI_TL, SOE_IFFLAG, 0x02000000 },
{ sfInvalid, NULL, STI_DONE, SOE_NEVER, -1 } }
},
{ "CreditSet", ttCREDIT_SET, {
{ S_FIELD(Flags), STI_UINT32, SOE_FLAGS, 0 },
{ S_FIELD(Destination), STI_ACCOUNT, SOE_REQUIRED, 0 },
{ S_FIELD(LimitAmount), STI_AMOUNT, SOE_REQUIRED, 0 },
{ S_FIELD(BorrowRate), STI_UINT32, SOE_IFFLAG, 1 },
{ S_FIELD(BorrowStart), STI_UINT32, SOE_IFFLAG, 2 },
{ S_FIELD(BorrowExpire), STI_UINT32, SOE_IFFLAG, 4 },
{ S_FIELD(SourceTag), STI_UINT32, SOE_IFFLAG, 8 },
{ S_FIELD(Extensions), STI_TL, SOE_IFFLAG, 0x02000000 },
{ sfInvalid, NULL, STI_DONE, SOE_NEVER, -1 } }
},
{ "Invoice", ttINVOICE, {
{ S_FIELD(Flags), STI_UINT32, SOE_FLAGS, 0 },
{ S_FIELD(Target), STI_ACCOUNT, SOE_REQUIRED, 0 },
@@ -36,7 +36,7 @@ TransactionFormat InnerTxnFormats[]=
{ S_FIELD(Extensions), STI_TL, SOE_IFFLAG, 0x02000000 },
{ sfInvalid, NULL, STI_DONE, SOE_NEVER, -1 } }
},
{ "Offer", ttEXCHANGE_OFFER, {
{ "Offer", ttOFFER, {
{ S_FIELD(Flags), STI_UINT32, SOE_FLAGS, 0 },
{ S_FIELD(AmountIn), STI_AMOUNT, SOE_REQUIRED, 0 },
{ S_FIELD(CurrencyIn), STI_HASH160, SOE_IFFLAG, 2 },
@@ -49,6 +49,26 @@ TransactionFormat InnerTxnFormats[]=
{ S_FIELD(Extensions), STI_TL, SOE_IFFLAG, 0x02000000 },
{ sfInvalid, NULL, STI_DONE, SOE_NEVER, -1 } }
},
{ "Payment", ttPAYMENT, {
{ S_FIELD(Flags), STI_UINT32, SOE_FLAGS, 0 },
{ S_FIELD(Destination), STI_ACCOUNT, SOE_REQUIRED, 0 },
{ S_FIELD(Amount), STI_AMOUNT, SOE_REQUIRED, 0 },
{ S_FIELD(SendMax), STI_AMOUNT, SOE_IFFLAG, 1 },
{ 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 } }
},
{ "TransitSet", ttTRANSIT_SET, {
{ S_FIELD(Flags), STI_UINT32, SOE_FLAGS, 0 },
{ S_FIELD(TransitRate), STI_UINT32, SOE_IFFLAG, 1 },
{ S_FIELD(TransitStart), STI_UINT32, SOE_IFFLAG, 2 },
{ S_FIELD(TransitExpire),STI_UINT32, SOE_IFFLAG, 4 },
{ S_FIELD(SourceTag), STI_UINT32, SOE_IFFLAG, 8 },
{ S_FIELD(Extensions), STI_TL, SOE_IFFLAG, 0x02000000 },
{ sfInvalid, NULL, STI_DONE, SOE_NEVER, -1 } }
},
{ NULL, ttINVALID }
};

View File

@@ -9,7 +9,9 @@ enum TransactionType
ttPAYMENT = 0,
ttCLAIM = 1,
ttINVOICE = 2,
ttEXCHANGE_OFFER = 3
ttOFFER = 3,
ttCREDIT_SET = 20,
ttTRANSIT_SET = 21,
};
struct TransactionFormat
@@ -28,8 +30,8 @@ const int TransactionISequence = 3;
const int TransactionIType = 4;
const int TransactionIFee = 5;
const int TransactionMinLen=32;
const int TransactionMaxLen=1048576;
const int TransactionMinLen = 32;
const int TransactionMaxLen = 1048576;
// Transaction flags.
const uint32 tfCreateAccount = 0x00010000;