From d1eb22b4035b96a1b4e15f6105b0fe8e21e2490b Mon Sep 17 00:00:00 2001 From: tequ Date: Tue, 17 Mar 2026 17:38:04 +0900 Subject: [PATCH] fix transactions.macro format --- .../xrpl/protocol/detail/transactions.macro | 1291 +++++++---------- 1 file changed, 530 insertions(+), 761 deletions(-) diff --git a/include/xrpl/protocol/detail/transactions.macro b/include/xrpl/protocol/detail/transactions.macro index d688b8747d..175adcbaa0 100644 --- a/include/xrpl/protocol/detail/transactions.macro +++ b/include/xrpl/protocol/detail/transactions.macro @@ -22,173 +22,147 @@ /** This transaction type executes a payment. */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttPAYMENT, - 0, - Payment, +TRANSACTION(ttPAYMENT, 0, Payment, Delegation::delegable, uint256{}, createAcct, ({ - {sfDestination, soeREQUIRED}, - {sfAmount, soeREQUIRED, soeMPTSupported}, - {sfSendMax, soeOPTIONAL, soeMPTSupported}, - {sfPaths, soeDEFAULT}, - {sfInvoiceID, soeOPTIONAL}, - {sfDestinationTag, soeOPTIONAL}, - {sfDeliverMin, soeOPTIONAL, soeMPTSupported}, - {sfCredentialIDs, soeOPTIONAL}, - {sfDomainID, soeOPTIONAL}, - })) + {sfDestination, soeREQUIRED}, + {sfAmount, soeREQUIRED, soeMPTSupported}, + {sfSendMax, soeOPTIONAL, soeMPTSupported}, + {sfPaths, soeDEFAULT}, + {sfInvoiceID, soeOPTIONAL}, + {sfDestinationTag, soeOPTIONAL}, + {sfDeliverMin, soeOPTIONAL, soeMPTSupported}, + {sfCredentialIDs, soeOPTIONAL}, + {sfDomainID, soeOPTIONAL}, +})) /** This transaction type creates an escrow object. */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttESCROW_CREATE, - 1, - EscrowCreate, +TRANSACTION(ttESCROW_CREATE, 1, EscrowCreate, Delegation::delegable, uint256{}, noPriv, ({ - {sfDestination, soeREQUIRED}, - {sfAmount, soeREQUIRED, soeMPTSupported}, - {sfCondition, soeOPTIONAL}, - {sfCancelAfter, soeOPTIONAL}, - {sfFinishAfter, soeOPTIONAL}, - {sfDestinationTag, soeOPTIONAL}, - })) + {sfDestination, soeREQUIRED}, + {sfAmount, soeREQUIRED, soeMPTSupported}, + {sfCondition, soeOPTIONAL}, + {sfCancelAfter, soeOPTIONAL}, + {sfFinishAfter, soeOPTIONAL}, + {sfDestinationTag, soeOPTIONAL}, +})) /** This transaction type completes an existing escrow. */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttESCROW_FINISH, - 2, - EscrowFinish, +TRANSACTION(ttESCROW_FINISH, 2, EscrowFinish, Delegation::delegable, uint256{}, noPriv, ({ - {sfOwner, soeREQUIRED}, - {sfOfferSequence, soeREQUIRED}, - {sfFulfillment, soeOPTIONAL}, - {sfCondition, soeOPTIONAL}, - {sfCredentialIDs, soeOPTIONAL}, - })) + {sfOwner, soeREQUIRED}, + {sfOfferSequence, soeREQUIRED}, + {sfFulfillment, soeOPTIONAL}, + {sfCondition, soeOPTIONAL}, + {sfCredentialIDs, soeOPTIONAL}, +})) + /** This transaction type adjusts various account settings. */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttACCOUNT_SET, - 3, - AccountSet, +TRANSACTION(ttACCOUNT_SET, 3, AccountSet, Delegation::notDelegable, uint256{}, noPriv, ({ - {sfEmailHash, soeOPTIONAL}, - {sfWalletLocator, soeOPTIONAL}, - {sfWalletSize, soeOPTIONAL}, - {sfMessageKey, soeOPTIONAL}, - {sfDomain, soeOPTIONAL}, - {sfTransferRate, soeOPTIONAL}, - {sfSetFlag, soeOPTIONAL}, - {sfClearFlag, soeOPTIONAL}, - {sfTickSize, soeOPTIONAL}, - {sfNFTokenMinter, soeOPTIONAL}, - })) + {sfEmailHash, soeOPTIONAL}, + {sfWalletLocator, soeOPTIONAL}, + {sfWalletSize, soeOPTIONAL}, + {sfMessageKey, soeOPTIONAL}, + {sfDomain, soeOPTIONAL}, + {sfTransferRate, soeOPTIONAL}, + {sfSetFlag, soeOPTIONAL}, + {sfClearFlag, soeOPTIONAL}, + {sfTickSize, soeOPTIONAL}, + {sfNFTokenMinter, soeOPTIONAL}, +})) /** This transaction type cancels an existing escrow. */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttESCROW_CANCEL, - 4, - EscrowCancel, +TRANSACTION(ttESCROW_CANCEL, 4, EscrowCancel, Delegation::delegable, uint256{}, noPriv, ({ - {sfOwner, soeREQUIRED}, - {sfOfferSequence, soeREQUIRED}, - })) + {sfOwner, soeREQUIRED}, + {sfOfferSequence, soeREQUIRED}, +})) /** This transaction type sets or clears an account's "regular key". */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttREGULAR_KEY_SET, - 5, - SetRegularKey, +TRANSACTION(ttREGULAR_KEY_SET, 5, SetRegularKey, Delegation::notDelegable, uint256{}, noPriv, ({ - {sfRegularKey, soeOPTIONAL}, - })) + {sfRegularKey, soeOPTIONAL}, +})) // 6 deprecated /** This transaction type creates an offer to trade one asset for another. */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttOFFER_CREATE, - 7, - OfferCreate, +TRANSACTION(ttOFFER_CREATE, 7, OfferCreate, Delegation::delegable, uint256{}, noPriv, ({ - {sfTakerPays, soeREQUIRED}, - {sfTakerGets, soeREQUIRED}, - {sfExpiration, soeOPTIONAL}, - {sfOfferSequence, soeOPTIONAL}, - {sfDomainID, soeOPTIONAL}, - })) + {sfTakerPays, soeREQUIRED}, + {sfTakerGets, soeREQUIRED}, + {sfExpiration, soeOPTIONAL}, + {sfOfferSequence, soeOPTIONAL}, + {sfDomainID, soeOPTIONAL}, +})) /** This transaction type cancels existing offers to trade one asset for another. */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttOFFER_CANCEL, - 8, - OfferCancel, +TRANSACTION(ttOFFER_CANCEL, 8, OfferCancel, Delegation::delegable, uint256{}, noPriv, ({ - {sfOfferSequence, soeREQUIRED}, - })) + {sfOfferSequence, soeREQUIRED}, +})) // 9 deprecated /** This transaction type creates a new set of tickets. */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttTICKET_CREATE, - 10, - TicketCreate, +TRANSACTION(ttTICKET_CREATE, 10, TicketCreate, Delegation::delegable, uint256{}, noPriv, ({ - {sfTicketCount, soeREQUIRED}, - })) + {sfTicketCount, soeREQUIRED}, +})) // 11 deprecated @@ -196,1192 +170,987 @@ TRANSACTION( // The SignerEntries are optional because a SignerList is deleted by // setting the SignerQuorum to zero and omitting SignerEntries. #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttSIGNER_LIST_SET, - 12, - SignerListSet, +TRANSACTION(ttSIGNER_LIST_SET, 12, SignerListSet, Delegation::notDelegable, uint256{}, noPriv, ({ - {sfSignerQuorum, soeREQUIRED}, - {sfSignerEntries, soeOPTIONAL}, - })) + {sfSignerQuorum, soeREQUIRED}, + {sfSignerEntries, soeOPTIONAL}, +})) /** This transaction type creates a new unidirectional XRP payment channel. */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttPAYCHAN_CREATE, - 13, - PaymentChannelCreate, +TRANSACTION(ttPAYCHAN_CREATE, 13, PaymentChannelCreate, Delegation::delegable, uint256{}, noPriv, ({ - {sfDestination, soeREQUIRED}, - {sfAmount, soeREQUIRED}, - {sfSettleDelay, soeREQUIRED}, - {sfPublicKey, soeREQUIRED}, - {sfCancelAfter, soeOPTIONAL}, - {sfDestinationTag, soeOPTIONAL}, - })) + {sfDestination, soeREQUIRED}, + {sfAmount, soeREQUIRED}, + {sfSettleDelay, soeREQUIRED}, + {sfPublicKey, soeREQUIRED}, + {sfCancelAfter, soeOPTIONAL}, + {sfDestinationTag, soeOPTIONAL}, +})) /** This transaction type funds an existing unidirectional XRP payment channel. */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttPAYCHAN_FUND, - 14, - PaymentChannelFund, +TRANSACTION(ttPAYCHAN_FUND, 14, PaymentChannelFund, Delegation::delegable, uint256{}, noPriv, ({ - {sfChannel, soeREQUIRED}, - {sfAmount, soeREQUIRED}, - {sfExpiration, soeOPTIONAL}, - })) + {sfChannel, soeREQUIRED}, + {sfAmount, soeREQUIRED}, + {sfExpiration, soeOPTIONAL}, +})) /** This transaction type submits a claim against an existing unidirectional payment channel. */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttPAYCHAN_CLAIM, - 15, - PaymentChannelClaim, +TRANSACTION(ttPAYCHAN_CLAIM, 15, PaymentChannelClaim, Delegation::delegable, uint256{}, noPriv, ({ - {sfChannel, soeREQUIRED}, - {sfAmount, soeOPTIONAL}, - {sfBalance, soeOPTIONAL}, - {sfSignature, soeOPTIONAL}, - {sfPublicKey, soeOPTIONAL}, - {sfCredentialIDs, soeOPTIONAL}, - })) + {sfChannel, soeREQUIRED}, + {sfAmount, soeOPTIONAL}, + {sfBalance, soeOPTIONAL}, + {sfSignature, soeOPTIONAL}, + {sfPublicKey, soeOPTIONAL}, + {sfCredentialIDs, soeOPTIONAL}, +})) /** This transaction type creates a new check. */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttCHECK_CREATE, - 16, - CheckCreate, +TRANSACTION(ttCHECK_CREATE, 16, CheckCreate, Delegation::delegable, uint256{}, noPriv, ({ - {sfDestination, soeREQUIRED}, - {sfSendMax, soeREQUIRED}, - {sfExpiration, soeOPTIONAL}, - {sfDestinationTag, soeOPTIONAL}, - {sfInvoiceID, soeOPTIONAL}, - })) + {sfDestination, soeREQUIRED}, + {sfSendMax, soeREQUIRED}, + {sfExpiration, soeOPTIONAL}, + {sfDestinationTag, soeOPTIONAL}, + {sfInvoiceID, soeOPTIONAL}, +})) /** This transaction type cashes an existing check. */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttCHECK_CASH, - 17, - CheckCash, +TRANSACTION(ttCHECK_CASH, 17, CheckCash, Delegation::delegable, uint256{}, noPriv, ({ - {sfCheckID, soeREQUIRED}, - {sfAmount, soeOPTIONAL}, - {sfDeliverMin, soeOPTIONAL}, - })) + {sfCheckID, soeREQUIRED}, + {sfAmount, soeOPTIONAL}, + {sfDeliverMin, soeOPTIONAL}, +})) /** This transaction type cancels an existing check. */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttCHECK_CANCEL, - 18, - CheckCancel, +TRANSACTION(ttCHECK_CANCEL, 18, CheckCancel, Delegation::delegable, uint256{}, noPriv, ({ - {sfCheckID, soeREQUIRED}, - })) + {sfCheckID, soeREQUIRED}, +})) /** This transaction type grants or revokes authorization to transfer funds. */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttDEPOSIT_PREAUTH, - 19, - DepositPreauth, +TRANSACTION(ttDEPOSIT_PREAUTH, 19, DepositPreauth, Delegation::delegable, uint256{}, noPriv, ({ - {sfAuthorize, soeOPTIONAL}, - {sfUnauthorize, soeOPTIONAL}, - {sfAuthorizeCredentials, soeOPTIONAL}, - {sfUnauthorizeCredentials, soeOPTIONAL}, - })) + {sfAuthorize, soeOPTIONAL}, + {sfUnauthorize, soeOPTIONAL}, + {sfAuthorizeCredentials, soeOPTIONAL}, + {sfUnauthorizeCredentials, soeOPTIONAL}, +})) /** This transaction type modifies a trustline between two accounts. */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttTRUST_SET, - 20, - TrustSet, +TRANSACTION(ttTRUST_SET, 20, TrustSet, Delegation::delegable, uint256{}, noPriv, ({ - {sfLimitAmount, soeOPTIONAL}, - {sfQualityIn, soeOPTIONAL}, - {sfQualityOut, soeOPTIONAL}, - })) + {sfLimitAmount, soeOPTIONAL}, + {sfQualityIn, soeOPTIONAL}, + {sfQualityOut, soeOPTIONAL}, +})) /** This transaction type deletes an existing account. */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttACCOUNT_DELETE, - 21, - AccountDelete, +TRANSACTION(ttACCOUNT_DELETE, 21, AccountDelete, Delegation::notDelegable, uint256{}, mustDeleteAcct, ({ - {sfDestination, soeREQUIRED}, - {sfDestinationTag, soeOPTIONAL}, - {sfCredentialIDs, soeOPTIONAL}, - })) + {sfDestination, soeREQUIRED}, + {sfDestinationTag, soeOPTIONAL}, + {sfCredentialIDs, soeOPTIONAL}, +})) // 22 reserved /** This transaction mints a new NFT. */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttNFTOKEN_MINT, - 25, - NFTokenMint, +TRANSACTION(ttNFTOKEN_MINT, 25, NFTokenMint, Delegation::delegable, uint256{}, changeNFTCounts, ({ - {sfNFTokenTaxon, soeREQUIRED}, - {sfTransferFee, soeOPTIONAL}, - {sfIssuer, soeOPTIONAL}, - {sfURI, soeOPTIONAL}, - {sfAmount, soeOPTIONAL}, - {sfDestination, soeOPTIONAL}, - {sfExpiration, soeOPTIONAL}, - })) + {sfNFTokenTaxon, soeREQUIRED}, + {sfTransferFee, soeOPTIONAL}, + {sfIssuer, soeOPTIONAL}, + {sfURI, soeOPTIONAL}, + {sfAmount, soeOPTIONAL}, + {sfDestination, soeOPTIONAL}, + {sfExpiration, soeOPTIONAL}, +})) /** This transaction burns (i.e. destroys) an existing NFT. */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttNFTOKEN_BURN, - 26, - NFTokenBurn, +TRANSACTION(ttNFTOKEN_BURN, 26, NFTokenBurn, Delegation::delegable, uint256{}, changeNFTCounts, ({ - {sfNFTokenID, soeREQUIRED}, - {sfOwner, soeOPTIONAL}, - })) + {sfNFTokenID, soeREQUIRED}, + {sfOwner, soeOPTIONAL}, +})) /** This transaction creates a new offer to buy or sell an NFT. */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttNFTOKEN_CREATE_OFFER, - 27, - NFTokenCreateOffer, +TRANSACTION(ttNFTOKEN_CREATE_OFFER, 27, NFTokenCreateOffer, Delegation::delegable, uint256{}, noPriv, ({ - {sfNFTokenID, soeREQUIRED}, - {sfAmount, soeREQUIRED}, - {sfDestination, soeOPTIONAL}, - {sfOwner, soeOPTIONAL}, - {sfExpiration, soeOPTIONAL}, - })) + {sfNFTokenID, soeREQUIRED}, + {sfAmount, soeREQUIRED}, + {sfDestination, soeOPTIONAL}, + {sfOwner, soeOPTIONAL}, + {sfExpiration, soeOPTIONAL}, +})) /** This transaction cancels an existing offer to buy or sell an existing NFT. */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttNFTOKEN_CANCEL_OFFER, - 28, - NFTokenCancelOffer, +TRANSACTION(ttNFTOKEN_CANCEL_OFFER, 28, NFTokenCancelOffer, Delegation::delegable, uint256{}, noPriv, ({ - {sfNFTokenOffers, soeREQUIRED}, - })) + {sfNFTokenOffers, soeREQUIRED}, +})) /** This transaction accepts an existing offer to buy or sell an existing NFT. */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttNFTOKEN_ACCEPT_OFFER, - 29, - NFTokenAcceptOffer, +TRANSACTION(ttNFTOKEN_ACCEPT_OFFER, 29, NFTokenAcceptOffer, Delegation::delegable, uint256{}, noPriv, ({ - {sfNFTokenBuyOffer, soeOPTIONAL}, - {sfNFTokenSellOffer, soeOPTIONAL}, - {sfNFTokenBrokerFee, soeOPTIONAL}, - })) + {sfNFTokenBuyOffer, soeOPTIONAL}, + {sfNFTokenSellOffer, soeOPTIONAL}, + {sfNFTokenBrokerFee, soeOPTIONAL}, +})) /** This transaction claws back issued tokens. */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttCLAWBACK, - 30, - Clawback, +TRANSACTION(ttCLAWBACK, 30, Clawback, Delegation::delegable, featureClawback, noPriv, ({ - {sfAmount, soeREQUIRED, soeMPTSupported}, - {sfHolder, soeOPTIONAL}, - })) + {sfAmount, soeREQUIRED, soeMPTSupported}, + {sfHolder, soeOPTIONAL}, +})) /** This transaction claws back tokens from an AMM pool. */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttAMM_CLAWBACK, - 31, - AMMClawback, +TRANSACTION(ttAMM_CLAWBACK, 31, AMMClawback, Delegation::delegable, featureAMMClawback, mayDeleteAcct | overrideFreeze, ({ - {sfHolder, soeREQUIRED}, - {sfAsset, soeREQUIRED}, - {sfAsset2, soeREQUIRED}, - {sfAmount, soeOPTIONAL}, - })) + {sfHolder, soeREQUIRED}, + {sfAsset, soeREQUIRED}, + {sfAsset2, soeREQUIRED}, + {sfAmount, soeOPTIONAL}, +})) /** This transaction type creates an AMM instance */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttAMM_CREATE, - 35, - AMMCreate, +TRANSACTION(ttAMM_CREATE, 35, AMMCreate, Delegation::delegable, featureAMM, createPseudoAcct, ({ - {sfAmount, soeREQUIRED}, - {sfAmount2, soeREQUIRED}, - {sfTradingFee, soeREQUIRED}, - })) + {sfAmount, soeREQUIRED}, + {sfAmount2, soeREQUIRED}, + {sfTradingFee, soeREQUIRED}, +})) /** This transaction type deposits into an AMM instance */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttAMM_DEPOSIT, - 36, - AMMDeposit, +TRANSACTION(ttAMM_DEPOSIT, 36, AMMDeposit, Delegation::delegable, featureAMM, noPriv, ({ - {sfAsset, soeREQUIRED}, - {sfAsset2, soeREQUIRED}, - {sfAmount, soeOPTIONAL}, - {sfAmount2, soeOPTIONAL}, - {sfEPrice, soeOPTIONAL}, - {sfLPTokenOut, soeOPTIONAL}, - {sfTradingFee, soeOPTIONAL}, - })) + {sfAsset, soeREQUIRED}, + {sfAsset2, soeREQUIRED}, + {sfAmount, soeOPTIONAL}, + {sfAmount2, soeOPTIONAL}, + {sfEPrice, soeOPTIONAL}, + {sfLPTokenOut, soeOPTIONAL}, + {sfTradingFee, soeOPTIONAL}, +})) /** This transaction type withdraws from an AMM instance */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttAMM_WITHDRAW, - 37, - AMMWithdraw, +TRANSACTION(ttAMM_WITHDRAW, 37, AMMWithdraw, Delegation::delegable, featureAMM, mayDeleteAcct, ({ - {sfAsset, soeREQUIRED}, - {sfAsset2, soeREQUIRED}, - {sfAmount, soeOPTIONAL}, - {sfAmount2, soeOPTIONAL}, - {sfEPrice, soeOPTIONAL}, - {sfLPTokenIn, soeOPTIONAL}, - })) + {sfAsset, soeREQUIRED}, + {sfAsset2, soeREQUIRED}, + {sfAmount, soeOPTIONAL}, + {sfAmount2, soeOPTIONAL}, + {sfEPrice, soeOPTIONAL}, + {sfLPTokenIn, soeOPTIONAL}, +})) /** This transaction type votes for the trading fee */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttAMM_VOTE, - 38, - AMMVote, +TRANSACTION(ttAMM_VOTE, 38, AMMVote, Delegation::delegable, featureAMM, noPriv, ({ - {sfAsset, soeREQUIRED}, - {sfAsset2, soeREQUIRED}, - {sfTradingFee, soeREQUIRED}, - })) + {sfAsset, soeREQUIRED}, + {sfAsset2, soeREQUIRED}, + {sfTradingFee, soeREQUIRED}, +})) /** This transaction type bids for the auction slot */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttAMM_BID, - 39, - AMMBid, +TRANSACTION(ttAMM_BID, 39, AMMBid, Delegation::delegable, featureAMM, noPriv, ({ - {sfAsset, soeREQUIRED}, - {sfAsset2, soeREQUIRED}, - {sfBidMin, soeOPTIONAL}, - {sfBidMax, soeOPTIONAL}, - {sfAuthAccounts, soeOPTIONAL}, - })) + {sfAsset, soeREQUIRED}, + {sfAsset2, soeREQUIRED}, + {sfBidMin, soeOPTIONAL}, + {sfBidMax, soeOPTIONAL}, + {sfAuthAccounts, soeOPTIONAL}, +})) /** This transaction type deletes AMM in the empty state */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttAMM_DELETE, - 40, - AMMDelete, +TRANSACTION(ttAMM_DELETE, 40, AMMDelete, Delegation::delegable, featureAMM, mustDeleteAcct, ({ - {sfAsset, soeREQUIRED}, - {sfAsset2, soeREQUIRED}, - })) + {sfAsset, soeREQUIRED}, + {sfAsset2, soeREQUIRED}, +})) /** This transactions creates a crosschain sequence number */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttXCHAIN_CREATE_CLAIM_ID, - 41, - XChainCreateClaimID, +TRANSACTION(ttXCHAIN_CREATE_CLAIM_ID, 41, XChainCreateClaimID, Delegation::delegable, featureXChainBridge, noPriv, ({ - {sfXChainBridge, soeREQUIRED}, - {sfSignatureReward, soeREQUIRED}, - {sfOtherChainSource, soeREQUIRED}, - })) + {sfXChainBridge, soeREQUIRED}, + {sfSignatureReward, soeREQUIRED}, + {sfOtherChainSource, soeREQUIRED}, +})) /** This transactions initiates a crosschain transaction */ -TRANSACTION( - ttXCHAIN_COMMIT, - 42, - XChainCommit, +TRANSACTION(ttXCHAIN_COMMIT, 42, XChainCommit, Delegation::delegable, featureXChainBridge, noPriv, ({ - {sfXChainBridge, soeREQUIRED}, - {sfXChainClaimID, soeREQUIRED}, - {sfAmount, soeREQUIRED}, - {sfOtherChainDestination, soeOPTIONAL}, - })) + {sfXChainBridge, soeREQUIRED}, + {sfXChainClaimID, soeREQUIRED}, + {sfAmount, soeREQUIRED}, + {sfOtherChainDestination, soeOPTIONAL}, +})) /** This transaction completes a crosschain transaction */ -TRANSACTION( - ttXCHAIN_CLAIM, - 43, - XChainClaim, +TRANSACTION(ttXCHAIN_CLAIM, 43, XChainClaim, Delegation::delegable, featureXChainBridge, noPriv, ({ - {sfXChainBridge, soeREQUIRED}, - {sfXChainClaimID, soeREQUIRED}, - {sfDestination, soeREQUIRED}, - {sfDestinationTag, soeOPTIONAL}, - {sfAmount, soeREQUIRED}, - })) + {sfXChainBridge, soeREQUIRED}, + {sfXChainClaimID, soeREQUIRED}, + {sfDestination, soeREQUIRED}, + {sfDestinationTag, soeOPTIONAL}, + {sfAmount, soeREQUIRED}, +})) /** This transaction initiates a crosschain account create transaction */ -TRANSACTION( - ttXCHAIN_ACCOUNT_CREATE_COMMIT, - 44, - XChainAccountCreateCommit, +TRANSACTION(ttXCHAIN_ACCOUNT_CREATE_COMMIT, 44, XChainAccountCreateCommit, Delegation::delegable, featureXChainBridge, noPriv, ({ - {sfXChainBridge, soeREQUIRED}, - {sfDestination, soeREQUIRED}, - {sfAmount, soeREQUIRED}, - {sfSignatureReward, soeREQUIRED}, - })) + {sfXChainBridge, soeREQUIRED}, + {sfDestination, soeREQUIRED}, + {sfAmount, soeREQUIRED}, + {sfSignatureReward, soeREQUIRED}, +})) /** This transaction adds an attestation to a claim */ -TRANSACTION( - ttXCHAIN_ADD_CLAIM_ATTESTATION, - 45, - XChainAddClaimAttestation, +TRANSACTION(ttXCHAIN_ADD_CLAIM_ATTESTATION, 45, XChainAddClaimAttestation, Delegation::delegable, featureXChainBridge, createAcct, ({ - {sfXChainBridge, soeREQUIRED}, + {sfXChainBridge, soeREQUIRED}, - {sfAttestationSignerAccount, soeREQUIRED}, - {sfPublicKey, soeREQUIRED}, - {sfSignature, soeREQUIRED}, - {sfOtherChainSource, soeREQUIRED}, - {sfAmount, soeREQUIRED}, - {sfAttestationRewardAccount, soeREQUIRED}, - {sfWasLockingChainSend, soeREQUIRED}, + {sfAttestationSignerAccount, soeREQUIRED}, + {sfPublicKey, soeREQUIRED}, + {sfSignature, soeREQUIRED}, + {sfOtherChainSource, soeREQUIRED}, + {sfAmount, soeREQUIRED}, + {sfAttestationRewardAccount, soeREQUIRED}, + {sfWasLockingChainSend, soeREQUIRED}, - {sfXChainClaimID, soeREQUIRED}, - {sfDestination, soeOPTIONAL}, - })) + {sfXChainClaimID, soeREQUIRED}, + {sfDestination, soeOPTIONAL}, +})) /** This transaction adds an attestation to an account */ -TRANSACTION( - ttXCHAIN_ADD_ACCOUNT_CREATE_ATTESTATION, - 46, +TRANSACTION(ttXCHAIN_ADD_ACCOUNT_CREATE_ATTESTATION, 46, XChainAddAccountCreateAttestation, Delegation::delegable, featureXChainBridge, createAcct, ({ - {sfXChainBridge, soeREQUIRED}, + {sfXChainBridge, soeREQUIRED}, - {sfAttestationSignerAccount, soeREQUIRED}, - {sfPublicKey, soeREQUIRED}, - {sfSignature, soeREQUIRED}, - {sfOtherChainSource, soeREQUIRED}, - {sfAmount, soeREQUIRED}, - {sfAttestationRewardAccount, soeREQUIRED}, - {sfWasLockingChainSend, soeREQUIRED}, + {sfAttestationSignerAccount, soeREQUIRED}, + {sfPublicKey, soeREQUIRED}, + {sfSignature, soeREQUIRED}, + {sfOtherChainSource, soeREQUIRED}, + {sfAmount, soeREQUIRED}, + {sfAttestationRewardAccount, soeREQUIRED}, + {sfWasLockingChainSend, soeREQUIRED}, - {sfXChainAccountCreateCount, soeREQUIRED}, - {sfDestination, soeREQUIRED}, - {sfSignatureReward, soeREQUIRED}, - })) + {sfXChainAccountCreateCount, soeREQUIRED}, + {sfDestination, soeREQUIRED}, + {sfSignatureReward, soeREQUIRED}, +})) /** This transaction modifies a sidechain */ -TRANSACTION( - ttXCHAIN_MODIFY_BRIDGE, - 47, - XChainModifyBridge, +TRANSACTION(ttXCHAIN_MODIFY_BRIDGE, 47, XChainModifyBridge, Delegation::delegable, featureXChainBridge, noPriv, ({ - {sfXChainBridge, soeREQUIRED}, - {sfSignatureReward, soeOPTIONAL}, - {sfMinAccountCreateAmount, soeOPTIONAL}, - })) + {sfXChainBridge, soeREQUIRED}, + {sfSignatureReward, soeOPTIONAL}, + {sfMinAccountCreateAmount, soeOPTIONAL}, +})) /** This transactions creates a sidechain */ -TRANSACTION( - ttXCHAIN_CREATE_BRIDGE, - 48, - XChainCreateBridge, +TRANSACTION(ttXCHAIN_CREATE_BRIDGE, 48, XChainCreateBridge, Delegation::delegable, featureXChainBridge, noPriv, ({ - {sfXChainBridge, soeREQUIRED}, - {sfSignatureReward, soeREQUIRED}, - {sfMinAccountCreateAmount, soeOPTIONAL}, - })) + {sfXChainBridge, soeREQUIRED}, + {sfSignatureReward, soeREQUIRED}, + {sfMinAccountCreateAmount, soeOPTIONAL}, +})) /** This transaction type creates or updates a DID */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttDID_SET, - 49, - DIDSet, +TRANSACTION(ttDID_SET, 49, DIDSet, Delegation::delegable, featureDID, noPriv, ({ - {sfDIDDocument, soeOPTIONAL}, - {sfURI, soeOPTIONAL}, - {sfData, soeOPTIONAL}, - })) + {sfDIDDocument, soeOPTIONAL}, + {sfURI, soeOPTIONAL}, + {sfData, soeOPTIONAL}, +})) /** This transaction type deletes a DID */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION(ttDID_DELETE, 50, DIDDelete, Delegation::delegable, featureDID, noPriv, ({})) +TRANSACTION(ttDID_DELETE, 50, DIDDelete, + Delegation::delegable, + featureDID, + noPriv, + ({})) /** This transaction type creates an Oracle instance */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttORACLE_SET, - 51, - OracleSet, +TRANSACTION(ttORACLE_SET, 51, OracleSet, Delegation::delegable, featurePriceOracle, noPriv, ({ - {sfOracleDocumentID, soeREQUIRED}, - {sfProvider, soeOPTIONAL}, - {sfURI, soeOPTIONAL}, - {sfAssetClass, soeOPTIONAL}, - {sfLastUpdateTime, soeREQUIRED}, - {sfPriceDataSeries, soeREQUIRED}, - })) + {sfOracleDocumentID, soeREQUIRED}, + {sfProvider, soeOPTIONAL}, + {sfURI, soeOPTIONAL}, + {sfAssetClass, soeOPTIONAL}, + {sfLastUpdateTime, soeREQUIRED}, + {sfPriceDataSeries, soeREQUIRED}, +})) /** This transaction type deletes an Oracle instance */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttORACLE_DELETE, - 52, - OracleDelete, +TRANSACTION(ttORACLE_DELETE, 52, OracleDelete, Delegation::delegable, featurePriceOracle, noPriv, ({ - {sfOracleDocumentID, soeREQUIRED}, - })) + {sfOracleDocumentID, soeREQUIRED}, +})) /** This transaction type fixes a problem in the ledger state */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttLEDGER_STATE_FIX, - 53, - LedgerStateFix, +TRANSACTION(ttLEDGER_STATE_FIX, 53, LedgerStateFix, Delegation::delegable, fixNFTokenPageLinks, noPriv, ({ - {sfLedgerFixType, soeREQUIRED}, - {sfOwner, soeOPTIONAL}, - })) + {sfLedgerFixType, soeREQUIRED}, + {sfOwner, soeOPTIONAL}, +})) /** This transaction type creates a MPTokensIssuance instance */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttMPTOKEN_ISSUANCE_CREATE, - 54, - MPTokenIssuanceCreate, +TRANSACTION(ttMPTOKEN_ISSUANCE_CREATE, 54, MPTokenIssuanceCreate, Delegation::delegable, featureMPTokensV1, createMPTIssuance, ({ - {sfAssetScale, soeOPTIONAL}, - {sfTransferFee, soeOPTIONAL}, - {sfMaximumAmount, soeOPTIONAL}, - {sfMPTokenMetadata, soeOPTIONAL}, - {sfDomainID, soeOPTIONAL}, - {sfMutableFlags, soeOPTIONAL}, - })) + {sfAssetScale, soeOPTIONAL}, + {sfTransferFee, soeOPTIONAL}, + {sfMaximumAmount, soeOPTIONAL}, + {sfMPTokenMetadata, soeOPTIONAL}, + {sfDomainID, soeOPTIONAL}, + {sfMutableFlags, soeOPTIONAL}, +})) /** This transaction type destroys a MPTokensIssuance instance */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttMPTOKEN_ISSUANCE_DESTROY, - 55, - MPTokenIssuanceDestroy, +TRANSACTION(ttMPTOKEN_ISSUANCE_DESTROY, 55, MPTokenIssuanceDestroy, Delegation::delegable, featureMPTokensV1, destroyMPTIssuance, ({ - {sfMPTokenIssuanceID, soeREQUIRED}, - })) + {sfMPTokenIssuanceID, soeREQUIRED}, +})) /** This transaction type sets flags on a MPTokensIssuance or MPToken instance */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttMPTOKEN_ISSUANCE_SET, - 56, - MPTokenIssuanceSet, +TRANSACTION(ttMPTOKEN_ISSUANCE_SET, 56, MPTokenIssuanceSet, Delegation::delegable, featureMPTokensV1, noPriv, ({ - {sfMPTokenIssuanceID, soeREQUIRED}, - {sfHolder, soeOPTIONAL}, - {sfDomainID, soeOPTIONAL}, - {sfMPTokenMetadata, soeOPTIONAL}, - {sfTransferFee, soeOPTIONAL}, - {sfMutableFlags, soeOPTIONAL}, - })) + {sfMPTokenIssuanceID, soeREQUIRED}, + {sfHolder, soeOPTIONAL}, + {sfDomainID, soeOPTIONAL}, + {sfMPTokenMetadata, soeOPTIONAL}, + {sfTransferFee, soeOPTIONAL}, + {sfMutableFlags, soeOPTIONAL}, +})) /** This transaction type authorizes a MPToken instance */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttMPTOKEN_AUTHORIZE, - 57, - MPTokenAuthorize, +TRANSACTION(ttMPTOKEN_AUTHORIZE, 57, MPTokenAuthorize, Delegation::delegable, featureMPTokensV1, mustAuthorizeMPT, ({ - {sfMPTokenIssuanceID, soeREQUIRED}, - {sfHolder, soeOPTIONAL}, - })) + {sfMPTokenIssuanceID, soeREQUIRED}, + {sfHolder, soeOPTIONAL}, +})) /** This transaction type create an Credential instance */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttCREDENTIAL_CREATE, - 58, - CredentialCreate, +TRANSACTION(ttCREDENTIAL_CREATE, 58, CredentialCreate, Delegation::delegable, featureCredentials, noPriv, ({ - {sfSubject, soeREQUIRED}, - {sfCredentialType, soeREQUIRED}, - {sfExpiration, soeOPTIONAL}, - {sfURI, soeOPTIONAL}, - })) + {sfSubject, soeREQUIRED}, + {sfCredentialType, soeREQUIRED}, + {sfExpiration, soeOPTIONAL}, + {sfURI, soeOPTIONAL}, +})) /** This transaction type accept an Credential object */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttCREDENTIAL_ACCEPT, - 59, - CredentialAccept, +TRANSACTION(ttCREDENTIAL_ACCEPT, 59, CredentialAccept, Delegation::delegable, featureCredentials, noPriv, ({ - {sfIssuer, soeREQUIRED}, - {sfCredentialType, soeREQUIRED}, - })) + {sfIssuer, soeREQUIRED}, + {sfCredentialType, soeREQUIRED}, +})) /** This transaction type delete an Credential object */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttCREDENTIAL_DELETE, - 60, - CredentialDelete, +TRANSACTION(ttCREDENTIAL_DELETE, 60, CredentialDelete, Delegation::delegable, featureCredentials, noPriv, ({ - {sfSubject, soeOPTIONAL}, - {sfIssuer, soeOPTIONAL}, - {sfCredentialType, soeREQUIRED}, - })) + {sfSubject, soeOPTIONAL}, + {sfIssuer, soeOPTIONAL}, + {sfCredentialType, soeREQUIRED}, +})) /** This transaction type modify a NFToken */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttNFTOKEN_MODIFY, - 61, - NFTokenModify, +TRANSACTION(ttNFTOKEN_MODIFY, 61, NFTokenModify, Delegation::delegable, featureDynamicNFT, noPriv, ({ - {sfNFTokenID, soeREQUIRED}, - {sfOwner, soeOPTIONAL}, - {sfURI, soeOPTIONAL}, - })) + {sfNFTokenID, soeREQUIRED}, + {sfOwner, soeOPTIONAL}, + {sfURI, soeOPTIONAL}, +})) /** This transaction type creates or modifies a Permissioned Domain */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttPERMISSIONED_DOMAIN_SET, - 62, - PermissionedDomainSet, +TRANSACTION(ttPERMISSIONED_DOMAIN_SET, 62, PermissionedDomainSet, Delegation::delegable, featurePermissionedDomains, noPriv, ({ - {sfDomainID, soeOPTIONAL}, - {sfAcceptedCredentials, soeREQUIRED}, - })) + {sfDomainID, soeOPTIONAL}, + {sfAcceptedCredentials, soeREQUIRED}, +})) /** This transaction type deletes a Permissioned Domain */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttPERMISSIONED_DOMAIN_DELETE, - 63, - PermissionedDomainDelete, +TRANSACTION(ttPERMISSIONED_DOMAIN_DELETE, 63, PermissionedDomainDelete, Delegation::delegable, featurePermissionedDomains, noPriv, ({ - {sfDomainID, soeREQUIRED}, - })) + {sfDomainID, soeREQUIRED}, +})) /** This transaction type delegates authorized account specified permissions */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttDELEGATE_SET, - 64, - DelegateSet, +TRANSACTION(ttDELEGATE_SET, 64, DelegateSet, Delegation::notDelegable, featurePermissionDelegationV1_1, noPriv, ({ - {sfAuthorize, soeREQUIRED}, - {sfPermissions, soeREQUIRED}, - })) + {sfAuthorize, soeREQUIRED}, + {sfPermissions, soeREQUIRED}, +})) /** This transaction creates a single asset vault. */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttVAULT_CREATE, - 65, - VaultCreate, +TRANSACTION(ttVAULT_CREATE, 65, VaultCreate, Delegation::notDelegable, featureSingleAssetVault, createPseudoAcct | createMPTIssuance | mustModifyVault, ({ - {sfAsset, soeREQUIRED, soeMPTSupported}, - {sfAssetsMaximum, soeOPTIONAL}, - {sfMPTokenMetadata, soeOPTIONAL}, - {sfDomainID, soeOPTIONAL}, - {sfWithdrawalPolicy, soeOPTIONAL}, - {sfData, soeOPTIONAL}, - {sfScale, soeOPTIONAL}, - })) + {sfAsset, soeREQUIRED, soeMPTSupported}, + {sfAssetsMaximum, soeOPTIONAL}, + {sfMPTokenMetadata, soeOPTIONAL}, + {sfDomainID, soeOPTIONAL}, + {sfWithdrawalPolicy, soeOPTIONAL}, + {sfData, soeOPTIONAL}, + {sfScale, soeOPTIONAL}, +})) /** This transaction updates a single asset vault. */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttVAULT_SET, - 66, - VaultSet, +TRANSACTION(ttVAULT_SET, 66, VaultSet, Delegation::notDelegable, featureSingleAssetVault, mustModifyVault, ({ - {sfVaultID, soeREQUIRED}, - {sfAssetsMaximum, soeOPTIONAL}, - {sfDomainID, soeOPTIONAL}, - {sfData, soeOPTIONAL}, - })) + {sfVaultID, soeREQUIRED}, + {sfAssetsMaximum, soeOPTIONAL}, + {sfDomainID, soeOPTIONAL}, + {sfData, soeOPTIONAL}, +})) /** This transaction deletes a single asset vault. */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttVAULT_DELETE, - 67, - VaultDelete, +TRANSACTION(ttVAULT_DELETE, 67, VaultDelete, Delegation::notDelegable, featureSingleAssetVault, mustDeleteAcct | destroyMPTIssuance | mustModifyVault, ({ - {sfVaultID, soeREQUIRED}, - })) + {sfVaultID, soeREQUIRED}, +})) /** This transaction trades assets for shares with a vault. */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttVAULT_DEPOSIT, - 68, - VaultDeposit, +TRANSACTION(ttVAULT_DEPOSIT, 68, VaultDeposit, Delegation::notDelegable, featureSingleAssetVault, mayAuthorizeMPT | mustModifyVault, ({ - {sfVaultID, soeREQUIRED}, - {sfAmount, soeREQUIRED, soeMPTSupported}, - })) + {sfVaultID, soeREQUIRED}, + {sfAmount, soeREQUIRED, soeMPTSupported}, +})) /** This transaction trades shares for assets with a vault. */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttVAULT_WITHDRAW, - 69, - VaultWithdraw, +TRANSACTION(ttVAULT_WITHDRAW, 69, VaultWithdraw, Delegation::notDelegable, featureSingleAssetVault, mayDeleteMPT | mayAuthorizeMPT | mustModifyVault, ({ - {sfVaultID, soeREQUIRED}, - {sfAmount, soeREQUIRED, soeMPTSupported}, - {sfDestination, soeOPTIONAL}, - {sfDestinationTag, soeOPTIONAL}, - })) + {sfVaultID, soeREQUIRED}, + {sfAmount, soeREQUIRED, soeMPTSupported}, + {sfDestination, soeOPTIONAL}, + {sfDestinationTag, soeOPTIONAL}, +})) /** This transaction claws back tokens from a vault. */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttVAULT_CLAWBACK, - 70, - VaultClawback, +TRANSACTION(ttVAULT_CLAWBACK, 70, VaultClawback, Delegation::notDelegable, featureSingleAssetVault, mayDeleteMPT | mustModifyVault, ({ - {sfVaultID, soeREQUIRED}, - {sfHolder, soeREQUIRED}, - {sfAmount, soeOPTIONAL, soeMPTSupported}, - })) + {sfVaultID, soeREQUIRED}, + {sfHolder, soeREQUIRED}, + {sfAmount, soeOPTIONAL, soeMPTSupported}, +})) /** This transaction type batches together transactions. */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttBATCH, - 71, - Batch, +TRANSACTION(ttBATCH, 71, Batch, Delegation::notDelegable, featureBatch, noPriv, ({ - {sfRawTransactions, soeREQUIRED}, - {sfBatchSigners, soeOPTIONAL}, - })) + {sfRawTransactions, soeREQUIRED}, + {sfBatchSigners, soeOPTIONAL}, +})) /** Reserve 72-73 for future Vault-related transactions */ /** This transaction creates and updates a Loan Broker */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttLOAN_BROKER_SET, - 74, - LoanBrokerSet, +TRANSACTION(ttLOAN_BROKER_SET, 74, LoanBrokerSet, Delegation::notDelegable, featureLendingProtocol, - createPseudoAcct | mayAuthorizeMPT, - ({ - {sfVaultID, soeREQUIRED}, - {sfLoanBrokerID, soeOPTIONAL}, - {sfData, soeOPTIONAL}, - {sfManagementFeeRate, soeOPTIONAL}, - {sfDebtMaximum, soeOPTIONAL}, - {sfCoverRateMinimum, soeOPTIONAL}, - {sfCoverRateLiquidation, soeOPTIONAL}, - })) + createPseudoAcct | mayAuthorizeMPT, ({ + {sfVaultID, soeREQUIRED}, + {sfLoanBrokerID, soeOPTIONAL}, + {sfData, soeOPTIONAL}, + {sfManagementFeeRate, soeOPTIONAL}, + {sfDebtMaximum, soeOPTIONAL}, + {sfCoverRateMinimum, soeOPTIONAL}, + {sfCoverRateLiquidation, soeOPTIONAL}, +})) /** This transaction deletes a Loan Broker */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttLOAN_BROKER_DELETE, - 75, - LoanBrokerDelete, +TRANSACTION(ttLOAN_BROKER_DELETE, 75, LoanBrokerDelete, Delegation::notDelegable, featureLendingProtocol, - mustDeleteAcct | mayAuthorizeMPT, - ({ - {sfLoanBrokerID, soeREQUIRED}, - })) + mustDeleteAcct | mayAuthorizeMPT, ({ + {sfLoanBrokerID, soeREQUIRED}, +})) /** This transaction deposits First Loss Capital into a Loan Broker */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttLOAN_BROKER_COVER_DEPOSIT, - 76, - LoanBrokerCoverDeposit, +TRANSACTION(ttLOAN_BROKER_COVER_DEPOSIT, 76, LoanBrokerCoverDeposit, Delegation::notDelegable, featureLendingProtocol, - noPriv, - ({ - {sfLoanBrokerID, soeREQUIRED}, - {sfAmount, soeREQUIRED, soeMPTSupported}, - })) + noPriv, ({ + {sfLoanBrokerID, soeREQUIRED}, + {sfAmount, soeREQUIRED, soeMPTSupported}, +})) /** This transaction withdraws First Loss Capital from a Loan Broker */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttLOAN_BROKER_COVER_WITHDRAW, - 77, - LoanBrokerCoverWithdraw, +TRANSACTION(ttLOAN_BROKER_COVER_WITHDRAW, 77, LoanBrokerCoverWithdraw, Delegation::notDelegable, featureLendingProtocol, - mayAuthorizeMPT, - ({ - {sfLoanBrokerID, soeREQUIRED}, - {sfAmount, soeREQUIRED, soeMPTSupported}, - {sfDestination, soeOPTIONAL}, - {sfDestinationTag, soeOPTIONAL}, - })) + mayAuthorizeMPT, ({ + {sfLoanBrokerID, soeREQUIRED}, + {sfAmount, soeREQUIRED, soeMPTSupported}, + {sfDestination, soeOPTIONAL}, + {sfDestinationTag, soeOPTIONAL}, +})) /** This transaction claws back First Loss Capital from a Loan Broker to the issuer of the capital */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttLOAN_BROKER_COVER_CLAWBACK, - 78, - LoanBrokerCoverClawback, +TRANSACTION(ttLOAN_BROKER_COVER_CLAWBACK, 78, LoanBrokerCoverClawback, Delegation::notDelegable, featureLendingProtocol, - noPriv, - ({ - {sfLoanBrokerID, soeOPTIONAL}, - {sfAmount, soeOPTIONAL, soeMPTSupported}, - })) + noPriv, ({ + {sfLoanBrokerID, soeOPTIONAL}, + {sfAmount, soeOPTIONAL, soeMPTSupported}, +})) /** This transaction creates a Loan */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttLOAN_SET, - 80, - LoanSet, +TRANSACTION(ttLOAN_SET, 80, LoanSet, Delegation::notDelegable, featureLendingProtocol, - mayAuthorizeMPT | mustModifyVault, - ({ - {sfLoanBrokerID, soeREQUIRED}, - {sfData, soeOPTIONAL}, - {sfCounterparty, soeOPTIONAL}, - {sfCounterpartySignature, soeOPTIONAL}, - {sfLoanOriginationFee, soeOPTIONAL}, - {sfLoanServiceFee, soeOPTIONAL}, - {sfLatePaymentFee, soeOPTIONAL}, - {sfClosePaymentFee, soeOPTIONAL}, - {sfOverpaymentFee, soeOPTIONAL}, - {sfInterestRate, soeOPTIONAL}, - {sfLateInterestRate, soeOPTIONAL}, - {sfCloseInterestRate, soeOPTIONAL}, - {sfOverpaymentInterestRate, soeOPTIONAL}, - {sfPrincipalRequested, soeREQUIRED}, - {sfPaymentTotal, soeOPTIONAL}, - {sfPaymentInterval, soeOPTIONAL}, - {sfGracePeriod, soeOPTIONAL}, - })) + mayAuthorizeMPT | mustModifyVault, ({ + {sfLoanBrokerID, soeREQUIRED}, + {sfData, soeOPTIONAL}, + {sfCounterparty, soeOPTIONAL}, + {sfCounterpartySignature, soeOPTIONAL}, + {sfLoanOriginationFee, soeOPTIONAL}, + {sfLoanServiceFee, soeOPTIONAL}, + {sfLatePaymentFee, soeOPTIONAL}, + {sfClosePaymentFee, soeOPTIONAL}, + {sfOverpaymentFee, soeOPTIONAL}, + {sfInterestRate, soeOPTIONAL}, + {sfLateInterestRate, soeOPTIONAL}, + {sfCloseInterestRate, soeOPTIONAL}, + {sfOverpaymentInterestRate, soeOPTIONAL}, + {sfPrincipalRequested, soeREQUIRED}, + {sfPaymentTotal, soeOPTIONAL}, + {sfPaymentInterval, soeOPTIONAL}, + {sfGracePeriod, soeOPTIONAL}, +})) /** This transaction deletes an existing Loan */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttLOAN_DELETE, - 81, - LoanDelete, +TRANSACTION(ttLOAN_DELETE, 81, LoanDelete, Delegation::notDelegable, featureLendingProtocol, - noPriv, - ({ - {sfLoanID, soeREQUIRED}, - })) + noPriv, ({ + {sfLoanID, soeREQUIRED}, +})) /** This transaction is used to change the delinquency status of an existing Loan */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttLOAN_MANAGE, - 82, - LoanManage, +TRANSACTION(ttLOAN_MANAGE, 82, LoanManage, Delegation::notDelegable, featureLendingProtocol, // All of the LoanManage options will modify the vault, but the // transaction can succeed without options, essentially making it // a noop. - mayModifyVault, - ({ - {sfLoanID, soeREQUIRED}, - })) + mayModifyVault, ({ + {sfLoanID, soeREQUIRED}, +})) /** The Borrower uses this transaction to make a Payment on the Loan. */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttLOAN_PAY, - 84, - LoanPay, +TRANSACTION(ttLOAN_PAY, 84, LoanPay, Delegation::notDelegable, featureLendingProtocol, - mayAuthorizeMPT | mustModifyVault, - ({ - {sfLoanID, soeREQUIRED}, - {sfAmount, soeREQUIRED, soeMPTSupported}, - })) + mayAuthorizeMPT | mustModifyVault, ({ + {sfLoanID, soeREQUIRED}, + {sfAmount, soeREQUIRED, soeMPTSupported}, +})) /** This transaction transfer sponsorship */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttSPONSORSHIP_TRANSFER, - 85, - SponsorshipTransfer, +TRANSACTION(ttSPONSORSHIP_TRANSFER, 85, SponsorshipTransfer, Delegation::delegable, featureSponsor, noPriv, ({ - {sfObjectID, soeOPTIONAL}, - {sfSponsee, soeOPTIONAL}, - })) + {sfObjectID, soeOPTIONAL}, + {sfSponsee, soeOPTIONAL}, +})) /** This transaction create sponsorship object */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttSPONSORSHIP_SET, - 86, - SponsorshipSet, +TRANSACTION(ttSPONSORSHIP_SET, 86, SponsorshipSet, Delegation::delegable, featureSponsor, noPriv, ({ - {sfCounterpartySponsor, soeOPTIONAL}, - {sfSponsee, soeOPTIONAL}, - {sfFeeAmount, soeOPTIONAL}, - {sfMaxFee, soeOPTIONAL}, - {sfReserveCount, soeOPTIONAL}, - })) + {sfCounterpartySponsor, soeOPTIONAL}, + {sfSponsee, soeOPTIONAL}, + {sfFeeAmount, soeOPTIONAL}, + {sfMaxFee, soeOPTIONAL}, + {sfReserveCount, soeOPTIONAL}, +})) /** This system-generated transaction type is used to update the status of the various amendments. For details, see: https://xrpl.org/amendments.html */ #if TRANSACTION_INCLUDE -#include +# include #endif -TRANSACTION( - ttAMENDMENT, - 100, - EnableAmendment, +TRANSACTION(ttAMENDMENT, 100, EnableAmendment, Delegation::notDelegable, uint256{}, noPriv, ({ - {sfLedgerSequence, soeREQUIRED}, - {sfAmendment, soeREQUIRED}, - })) + {sfLedgerSequence, soeREQUIRED}, + {sfAmendment, soeREQUIRED}, +})) /** This system-generated transaction type is used to update the network's fee settings. For details, see: https://xrpl.org/fee-voting.html */ -TRANSACTION( - ttFEE, - 101, - SetFee, +TRANSACTION(ttFEE, 101, SetFee, Delegation::notDelegable, uint256{}, noPriv, ({ - {sfLedgerSequence, soeOPTIONAL}, - // Old version uses raw numbers - {sfBaseFee, soeOPTIONAL}, - {sfReferenceFeeUnits, soeOPTIONAL}, - {sfReserveBase, soeOPTIONAL}, - {sfReserveIncrement, soeOPTIONAL}, - // New version uses Amounts - {sfBaseFeeDrops, soeOPTIONAL}, - {sfReserveBaseDrops, soeOPTIONAL}, - {sfReserveIncrementDrops, soeOPTIONAL}, - })) + {sfLedgerSequence, soeOPTIONAL}, + // Old version uses raw numbers + {sfBaseFee, soeOPTIONAL}, + {sfReferenceFeeUnits, soeOPTIONAL}, + {sfReserveBase, soeOPTIONAL}, + {sfReserveIncrement, soeOPTIONAL}, + // New version uses Amounts + {sfBaseFeeDrops, soeOPTIONAL}, + {sfReserveBaseDrops, soeOPTIONAL}, + {sfReserveIncrementDrops, soeOPTIONAL}, +})) /** This system-generated transaction type is used to update the network's negative UNL For details, see: https://xrpl.org/negative-unl.html */ -TRANSACTION( - ttUNL_MODIFY, - 102, - UNLModify, +TRANSACTION(ttUNL_MODIFY, 102, UNLModify, Delegation::notDelegable, uint256{}, noPriv, ({ - {sfUNLModifyDisabling, soeREQUIRED}, - {sfLedgerSequence, soeREQUIRED}, - {sfUNLModifyValidator, soeREQUIRED}, - })) + {sfUNLModifyDisabling, soeREQUIRED}, + {sfLedgerSequence, soeREQUIRED}, + {sfUNLModifyValidator, soeREQUIRED}, +}))