mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-06 17:27:55 +00:00
115 lines
3.0 KiB
C++
115 lines
3.0 KiB
C++
|
|
#include "TransactionFormats.h"
|
|
|
|
#define TF_BASE \
|
|
{ sfTransactionType, SOE_REQUIRED }, \
|
|
{ sfFlags, SOE_REQUIRED }, \
|
|
{ sfSourceTag, SOE_OPTIONAL }, \
|
|
{ sfAccount, SOE_REQUIRED }, \
|
|
{ sfSequence, SOE_REQUIRED }, \
|
|
{ sfFee, SOE_REQUIRED }, \
|
|
{ sfSigningPubKey, SOE_REQUIRED }, \
|
|
{ sfSignature, SOE_OPTIONAL },
|
|
|
|
TransactionFormat InnerTxnFormats[]=
|
|
{
|
|
{ "AccountSet", ttACCOUNT_SET, { TF_BASE
|
|
{ sfEmailHash, SOE_OPTIONAL },
|
|
{ sfWalletLocator, SOE_OPTIONAL },
|
|
{ sfMessageKey, SOE_OPTIONAL },
|
|
{ sfDomain, SOE_OPTIONAL },
|
|
{ sfTransferRate, SOE_OPTIONAL },
|
|
{ sfPublishHash, SOE_OPTIONAL },
|
|
{ sfPublishSize, SOE_OPTIONAL },
|
|
{ sfInvalid, SOE_END } }
|
|
},
|
|
{ "Claim", ttCLAIM, { TF_BASE
|
|
{ sfGenerator, SOE_REQUIRED },
|
|
{ sfPublicKey, SOE_REQUIRED },
|
|
{ sfInvalid, SOE_END } }
|
|
},
|
|
{ "CreditSet", ttCREDIT_SET, { TF_BASE
|
|
{ sfDestination, SOE_REQUIRED },
|
|
{ sfLimitAmount, SOE_OPTIONAL },
|
|
{ sfQualityIn, SOE_OPTIONAL },
|
|
{ sfQualityOut, SOE_OPTIONAL },
|
|
{ sfInvalid, SOE_END } }
|
|
},
|
|
/*
|
|
{ "Invoice", ttINVOICE, { TF_BASE
|
|
{ sfTarget, SOE_REQUIRED },
|
|
{ sfAmount, SOE_REQUIRED },
|
|
{ sfDestination, SOE_OPTIONAL },
|
|
{ sfIdentifier, SOE_OPTIONAL },
|
|
{ sfInvalid, SOE_END } }
|
|
},
|
|
*/
|
|
{ "NicknameSet", ttNICKNAME_SET, { TF_BASE
|
|
{ sfNickname, SOE_REQUIRED },
|
|
{ sfMinimumOffer, SOE_OPTIONAL },
|
|
{ sfInvalid, SOE_END } }
|
|
},
|
|
{ "OfferCreate", ttOFFER_CREATE, { TF_BASE
|
|
{ sfTakerPays, SOE_REQUIRED },
|
|
{ sfTakerGets, SOE_REQUIRED },
|
|
{ sfExpiration, SOE_OPTIONAL },
|
|
{ sfInvalid, SOE_END } }
|
|
},
|
|
{ "OfferCancel", ttOFFER_CANCEL, { TF_BASE
|
|
{ sfOfferSequence, SOE_REQUIRED },
|
|
{ sfInvalid, SOE_END } }
|
|
},
|
|
{ "PasswordFund", ttPASSWORD_FUND, { TF_BASE
|
|
{ sfDestination, SOE_REQUIRED },
|
|
{ sfInvalid, SOE_END } }
|
|
},
|
|
{ "PasswordSet", ttPASSWORD_SET, { TF_BASE
|
|
{ sfAuthorizedKey, SOE_REQUIRED },
|
|
{ sfGenerator, SOE_REQUIRED },
|
|
{ sfPublicKey, SOE_REQUIRED },
|
|
{ sfInvalid, SOE_END } }
|
|
},
|
|
{ "Payment", ttPAYMENT, { TF_BASE
|
|
{ sfDestination, SOE_REQUIRED },
|
|
{ sfAmount, SOE_REQUIRED },
|
|
{ sfSendMax, SOE_OPTIONAL },
|
|
{ sfPaths, SOE_OPTIONAL },
|
|
{ sfInvoiceID, SOE_OPTIONAL },
|
|
{ sfInvalid, SOE_END } }
|
|
},
|
|
{ "WalletAdd", ttWALLET_ADD, { TF_BASE
|
|
{ sfAmount, SOE_REQUIRED },
|
|
{ sfAuthorizedKey, SOE_REQUIRED },
|
|
{ sfPublicKey, SOE_REQUIRED },
|
|
{ sfInvalid, SOE_END } }
|
|
},
|
|
{ "Contract", ttCONTRACT, { TF_BASE
|
|
{ sfExpiration, SOE_REQUIRED },
|
|
{ sfBondAmount, SOE_REQUIRED },
|
|
{ sfStampEscrow, SOE_REQUIRED },
|
|
{ sfRippleEscrow, SOE_REQUIRED },
|
|
{ sfCreateCode, SOE_OPTIONAL },
|
|
{ sfFundCode, SOE_OPTIONAL },
|
|
{ sfRemoveCode, SOE_OPTIONAL },
|
|
{ sfExpireCode, SOE_OPTIONAL },
|
|
{ sfInvalid, SOE_END } }
|
|
},
|
|
{ "RemoveContract", ttCONTRACT_REMOVE, { TF_BASE
|
|
{ sfTarget, SOE_REQUIRED },
|
|
{ sfInvalid, SOE_END } }
|
|
},
|
|
{ NULL, ttINVALID }
|
|
};
|
|
|
|
TransactionFormat* getTxnFormat(TransactionType t)
|
|
{
|
|
TransactionFormat* f = InnerTxnFormats;
|
|
while (f->t_name != NULL)
|
|
{
|
|
if (f->t_type == t) return f;
|
|
++f;
|
|
}
|
|
return NULL;
|
|
}
|
|
// vim:ts=4
|