rippled
Loading...
Searching...
No Matches
TxFlags.h
1#pragma once
2
3#include <xrpl/protocol/LedgerFormats.h>
4
5#include <cstdint>
6
7namespace xrpl {
8
36// Formatting equals sign aligned 4 spaces after longest prefix, except for
37// wrapped lines
38// clang-format off
39// Universal Transaction flags:
40constexpr std::uint32_t tfFullyCanonicalSig = 0x80000000;
41constexpr std::uint32_t tfInnerBatchTxn = 0x40000000;
43constexpr std::uint32_t tfUniversalMask = ~tfUniversal;
44
45// AccountSet flags:
46constexpr std::uint32_t tfRequireDestTag = 0x00010000;
47constexpr std::uint32_t tfOptionalDestTag = 0x00020000;
48constexpr std::uint32_t tfRequireAuth = 0x00040000;
49constexpr std::uint32_t tfOptionalAuth = 0x00080000;
50constexpr std::uint32_t tfDisallowXRP = 0x00100000;
51constexpr std::uint32_t tfAllowXRP = 0x00200000;
55
56// AccountSet SetFlag/ClearFlag values
67/* // reserved for Hooks amendment
68constexpr std::uint32_t asfTshCollect = 11;
69*/
76
77// OfferCreate flags:
78constexpr std::uint32_t tfPassive = 0x00010000;
79constexpr std::uint32_t tfImmediateOrCancel = 0x00020000;
80constexpr std::uint32_t tfFillOrKill = 0x00040000;
81constexpr std::uint32_t tfSell = 0x00080000;
82constexpr std::uint32_t tfHybrid = 0x00100000;
85
86// Payment flags:
87constexpr std::uint32_t tfNoRippleDirect = 0x00010000;
88constexpr std::uint32_t tfPartialPayment = 0x00020000;
89constexpr std::uint32_t tfLimitQuality = 0x00040000;
93
94// TrustSet flags:
95constexpr std::uint32_t tfSetfAuth = 0x00010000;
96constexpr std::uint32_t tfSetNoRipple = 0x00020000;
97constexpr std::uint32_t tfClearNoRipple = 0x00040000;
98constexpr std::uint32_t tfSetFreeze = 0x00100000;
99constexpr std::uint32_t tfClearFreeze = 0x00200000;
100constexpr std::uint32_t tfSetDeepFreeze = 0x00400000;
101constexpr std::uint32_t tfClearDeepFreeze = 0x00800000;
106
107// EnableAmendment flags:
108constexpr std::uint32_t tfGotMajority = 0x00010000;
109constexpr std::uint32_t tfLostMajority = 0x00020000;
112
113// PaymentChannelClaim flags:
114constexpr std::uint32_t tfRenew = 0x00010000;
115constexpr std::uint32_t tfClose = 0x00020000;
117
118// NFTokenMint flags:
119constexpr std::uint32_t const tfBurnable = 0x00000001;
120constexpr std::uint32_t const tfOnlyXRP = 0x00000002;
121constexpr std::uint32_t const tfTrustLine = 0x00000004;
122constexpr std::uint32_t const tfTransferable = 0x00000008;
123constexpr std::uint32_t const tfMutable = 0x00000010;
124
125// MPTokenIssuanceCreate flags:
126// Note: tf/lsfMPTLocked is intentionally omitted, since this transaction
127// is not allowed to modify it.
136
137// MPTokenIssuanceCreate MutableFlags:
138// Indicating specific fields or flags may be changed after issuance.
150
151// MPTokenAuthorize flags:
152constexpr std::uint32_t const tfMPTUnauthorize = 0x00000001;
154
155// MPTokenIssuanceSet flags:
156constexpr std::uint32_t const tfMPTLock = 0x00000001;
157constexpr std::uint32_t const tfMPTUnlock = 0x00000002;
160
161// MPTokenIssuanceSet MutableFlags:
162// Set or Clear flags.
163constexpr std::uint32_t const tmfMPTSetCanLock = 0x00000001;
164constexpr std::uint32_t const tmfMPTClearCanLock = 0x00000002;
165constexpr std::uint32_t const tmfMPTSetRequireAuth = 0x00000004;
166constexpr std::uint32_t const tmfMPTClearRequireAuth = 0x00000008;
167constexpr std::uint32_t const tmfMPTSetCanEscrow = 0x00000010;
168constexpr std::uint32_t const tmfMPTClearCanEscrow = 0x00000020;
169constexpr std::uint32_t const tmfMPTSetCanTrade = 0x00000040;
170constexpr std::uint32_t const tmfMPTClearCanTrade = 0x00000080;
171constexpr std::uint32_t const tmfMPTSetCanTransfer = 0x00000100;
172constexpr std::uint32_t const tmfMPTClearCanTransfer = 0x00000200;
173constexpr std::uint32_t const tmfMPTSetCanClawback = 0x00000400;
174constexpr std::uint32_t const tmfMPTClearCanClawback = 0x00000800;
179
180// MPTokenIssuanceDestroy flags:
181constexpr std::uint32_t const tfMPTokenIssuanceDestroyMask = ~tfUniversal;
182
183// Prior to fixRemoveNFTokenAutoTrustLine, transfer of an NFToken between
184// accounts allowed a TrustLine to be added to the issuer of that token
185// without explicit permission from that issuer. This was enabled by
186// minting the NFToken with the tfTrustLine flag set.
187//
188// That capability could be used to attack the NFToken issuer. It
189// would be possible for two accounts to trade the NFToken back and forth
190// building up any number of TrustLines on the issuer, increasing the
191// issuer's reserve without bound.
192//
193// The fixRemoveNFTokenAutoTrustLine amendment disables minting with the
194// tfTrustLine flag as a way to prevent the attack. But until the
195// amendment passes we still need to keep the old behavior available.
198
200 ~( ~tfNFTokenMintMask | tfTrustLine);
201
202// if featureDynamicNFT enabled then new flag allowing mutable URI available.
204 ~( ~tfNFTokenMintOldMask | tfMutable);
205
207 ~( ~tfNFTokenMintMask | tfMutable);
208
209// NFTokenCreateOffer flags:
210constexpr std::uint32_t const tfSellNFToken = 0x00000001;
213
214// NFTokenCancelOffer flags:
215constexpr std::uint32_t const tfNFTokenCancelOfferMask = ~tfUniversal;
216
217// NFTokenAcceptOffer flags:
218constexpr std::uint32_t const tfNFTokenAcceptOfferMask = ~tfUniversal;
219
220// Clawback flags:
221constexpr std::uint32_t const tfClawbackMask = ~tfUniversal;
222
223// AMM Flags:
224constexpr std::uint32_t tfLPToken = 0x00010000;
225constexpr std::uint32_t tfWithdrawAll = 0x00020000;
227constexpr std::uint32_t tfSingleAsset = 0x00080000;
228constexpr std::uint32_t tfTwoAsset = 0x00100000;
229constexpr std::uint32_t tfOneAssetLPToken = 0x00200000;
230constexpr std::uint32_t tfLimitLPToken = 0x00400000;
231constexpr std::uint32_t tfTwoAssetIfEmpty = 0x00800000;
240
241// AMMClawback flags:
242constexpr std::uint32_t tfClawTwoAssets = 0x00000001;
244
245// BridgeModify flags:
248
249// VaultCreate flags:
250constexpr std::uint32_t const tfVaultPrivate = 0x00010000;
251static_assert(tfVaultPrivate == lsfVaultPrivate);
252constexpr std::uint32_t const tfVaultShareNonTransferable = 0x00020000;
254
255// Batch Flags:
256constexpr std::uint32_t tfAllOrNothing = 0x00010000;
257constexpr std::uint32_t tfOnlyOne = 0x00020000;
258constexpr std::uint32_t tfUntilFailure = 0x00040000;
259constexpr std::uint32_t tfIndependent = 0x00080000;
265constexpr std::uint32_t const tfBatchMask =
267
268// LoanSet and LoanPay flags:
269// LoanSet: True, indicates the loan supports overpayments
270// LoanPay: True, indicates any excess in this payment can be used
271// as an overpayment. False, no overpayments will be taken.
272constexpr std::uint32_t const tfLoanOverpayment = 0x00010000;
273// LoanPay exclusive flags:
274// tfLoanFullPayment: True, indicates that the payment is an early
275// full payment. It must pay the entire loan including close
276// interest and fees, or it will fail. False: Not a full payment.
277constexpr std::uint32_t const tfLoanFullPayment = 0x00020000;
278// tfLoanLatePayment: True, indicates that the payment is late,
279// and includes late interest and fees. If the loan is not late,
280// it will fail. False: not a late payment. If the current payment
281// is overdue, the transaction will fail.
282constexpr std::uint32_t const tfLoanLatePayment = 0x00040000;
287
288// LoanManage flags:
289constexpr std::uint32_t const tfLoanDefault = 0x00010000;
290constexpr std::uint32_t const tfLoanImpair = 0x00020000;
291constexpr std::uint32_t const tfLoanUnimpair = 0x00040000;
293
294// clang-format on
295
296} // namespace xrpl
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:5
constexpr std::uint32_t const tfTransferable
Definition TxFlags.h:122
constexpr std::uint32_t asfAllowTrustLineClawback
Definition TxFlags.h:74
constexpr std::uint32_t tfSell
Definition TxFlags.h:81
constexpr std::uint32_t const tfVaultCreateMask
Definition TxFlags.h:253
constexpr std::uint32_t const tmfMPTokenIssuanceCreateMutableMask
Definition TxFlags.h:147
constexpr std::uint32_t asfGlobalFreeze
Definition TxFlags.h:63
constexpr std::uint32_t asfRequireDest
Definition TxFlags.h:57
constexpr std::uint32_t tfPassive
Definition TxFlags.h:78
constexpr std::uint32_t const tmfMPTCanMutateCanLock
Definition TxFlags.h:139
constexpr std::uint32_t tfImmediateOrCancel
Definition TxFlags.h:79
constexpr std::uint32_t asfDisableMaster
Definition TxFlags.h:60
constexpr std::uint32_t const tfClawbackMask
Definition TxFlags.h:221
constexpr std::uint32_t const tmfMPTClearCanTransfer
Definition TxFlags.h:172
constexpr std::uint32_t const tfLoanPayMask
Definition TxFlags.h:285
constexpr std::uint32_t tfDepositMask
Definition TxFlags.h:239
constexpr std::uint32_t const tmfMPTClearCanLock
Definition TxFlags.h:164
constexpr std::uint32_t tfFillOrKill
Definition TxFlags.h:80
constexpr std::uint32_t tfWithdrawAll
Definition TxFlags.h:225
constexpr std::uint32_t const tfMPTCanTransfer
Definition TxFlags.h:132
constexpr std::uint32_t tfPayChanClaimMask
Definition TxFlags.h:116
constexpr std::uint32_t tfSingleAsset
Definition TxFlags.h:227
constexpr std::uint32_t const tmfMPTClearCanClawback
Definition TxFlags.h:174
constexpr std::uint32_t const tmfMPTCanMutateCanTransfer
Definition TxFlags.h:143
constexpr std::uint32_t tfInnerBatchTxn
Definition TxFlags.h:41
constexpr std::uint32_t const tfTrustLine
Definition TxFlags.h:121
constexpr std::uint32_t tfAMMClawbackMask
Definition TxFlags.h:243
constexpr std::uint32_t const tfMPTRequireAuth
Definition TxFlags.h:129
constexpr std::uint32_t const tfLoanImpair
Definition TxFlags.h:290
constexpr std::uint32_t tfHybrid
Definition TxFlags.h:82
constexpr std::uint32_t tfPaymentMask
Definition TxFlags.h:90
constexpr std::uint32_t const tfBurnable
Definition TxFlags.h:119
constexpr std::uint32_t const tmfMPTClearCanEscrow
Definition TxFlags.h:168
constexpr std::uint32_t tfSetNoRipple
Definition TxFlags.h:96
constexpr std::uint32_t const tfNFTokenMintMaskWithMutable
Definition TxFlags.h:206
constexpr std::uint32_t tfChangeMask
Definition TxFlags.h:110
constexpr std::uint32_t const tfNFTokenMintMask
Definition TxFlags.h:196
constexpr std::uint32_t const tmfMPTSetRequireAuth
Definition TxFlags.h:165
constexpr std::uint32_t const tmfMPTClearRequireAuth
Definition TxFlags.h:166
constexpr std::uint32_t asfAccountTxnID
Definition TxFlags.h:61
constexpr std::uint32_t const tfLoanFullPayment
Definition TxFlags.h:277
constexpr std::uint32_t tfLimitQuality
Definition TxFlags.h:89
constexpr std::uint32_t asfDisallowIncomingPayChan
Definition TxFlags.h:72
constexpr std::uint32_t const tmfMPTokenIssuanceSetMutableMask
Definition TxFlags.h:175
constexpr std::uint32_t const tfLoanOverpayment
Definition TxFlags.h:272
constexpr std::uint32_t tfOptionalAuth
Definition TxFlags.h:49
constexpr std::uint32_t asfDepositAuth
Definition TxFlags.h:65
constexpr std::uint32_t tfOfferCreateMask
Definition TxFlags.h:83
constexpr std::uint32_t tfBridgeModifyMask
Definition TxFlags.h:247
constexpr std::uint32_t const tmfMPTCanMutateCanEscrow
Definition TxFlags.h:141
constexpr std::uint32_t const tfMPTCanTrade
Definition TxFlags.h:131
constexpr std::uint32_t tfTwoAsset
Definition TxFlags.h:228
constexpr std::uint32_t const tfMPTUnlock
Definition TxFlags.h:157
constexpr std::uint32_t tfAllOrNothing
Definition TxFlags.h:256
constexpr std::uint32_t tfOneAssetLPToken
Definition TxFlags.h:229
constexpr std::uint32_t tfAccountSetMask
Definition TxFlags.h:52
constexpr std::uint32_t const tmfMPTCanMutateMetadata
Definition TxFlags.h:145
constexpr std::uint32_t tfRenew
Definition TxFlags.h:114
constexpr std::uint32_t tfDepositSubTx
Definition TxFlags.h:235
constexpr std::uint32_t const tfMPTCanLock
Definition TxFlags.h:128
constexpr std::uint32_t tfRequireAuth
Definition TxFlags.h:48
constexpr std::uint32_t asfDefaultRipple
Definition TxFlags.h:64
constexpr std::uint32_t asfDisallowIncomingTrustline
Definition TxFlags.h:73
constexpr std::uint32_t tfClearAccountCreateAmount
Definition TxFlags.h:246
constexpr std::uint32_t tfOneAssetWithdrawAll
Definition TxFlags.h:226
constexpr std::uint32_t tfAllowXRP
Definition TxFlags.h:51
constexpr std::uint32_t const tfMPTCanClawback
Definition TxFlags.h:133
constexpr std::uint32_t tfClearFreeze
Definition TxFlags.h:99
constexpr std::uint32_t const tmfMPTSetCanLock
Definition TxFlags.h:163
constexpr std::uint32_t const tfMPTokenAuthorizeMask
Definition TxFlags.h:153
constexpr std::uint32_t tfWithdrawSubTx
Definition TxFlags.h:232
constexpr std::uint32_t tfLostMajority
Definition TxFlags.h:109
constexpr std::uint32_t const tmfMPTCanMutateCanTrade
Definition TxFlags.h:142
constexpr std::uint32_t tfGotMajority
Definition TxFlags.h:108
constexpr std::uint32_t asfAuthorizedNFTokenMinter
Definition TxFlags.h:66
constexpr std::uint32_t const tfMPTLock
Definition TxFlags.h:156
constexpr std::uint32_t tfFullyCanonicalSig
Transaction flags.
Definition TxFlags.h:40
constexpr std::uint32_t tfMPTPaymentMask
Definition TxFlags.h:92
constexpr std::uint32_t tfClearDeepFreeze
Definition TxFlags.h:101
constexpr std::uint32_t tfTwoAssetIfEmpty
Definition TxFlags.h:231
constexpr std::uint32_t tfTrustSetPermissionMask
Definition TxFlags.h:105
constexpr std::uint32_t const tfMPTokenIssuanceDestroyMask
Definition TxFlags.h:181
constexpr std::uint32_t tfSetDeepFreeze
Definition TxFlags.h:100
constexpr std::uint32_t tfRequireDestTag
Definition TxFlags.h:46
constexpr std::uint32_t const tfNFTokenCreateOfferMask
Definition TxFlags.h:211
constexpr std::uint32_t const tmfMPTClearCanTrade
Definition TxFlags.h:170
constexpr std::uint32_t const tfNFTokenCancelOfferMask
Definition TxFlags.h:215
constexpr std::uint32_t tfTrustSetMask
Definition TxFlags.h:102
constexpr std::uint32_t const tfNFTokenMintOldMaskWithMutable
Definition TxFlags.h:203
constexpr std::uint32_t tfOptionalDestTag
Definition TxFlags.h:47
constexpr std::uint32_t const tfLoanSetMask
Definition TxFlags.h:283
constexpr std::uint32_t const tfMPTUnauthorize
Definition TxFlags.h:152
constexpr std::uint32_t tfNoRippleDirect
Definition TxFlags.h:87
constexpr std::uint32_t const tfNFTokenAcceptOfferMask
Definition TxFlags.h:218
constexpr std::uint32_t tfClearNoRipple
Definition TxFlags.h:97
constexpr std::uint32_t tfUniversal
Definition TxFlags.h:42
constexpr std::uint32_t const tfOnlyXRP
Definition TxFlags.h:120
constexpr std::uint32_t const tfLoanDefault
Definition TxFlags.h:289
constexpr std::uint32_t const tmfMPTSetCanTrade
Definition TxFlags.h:169
constexpr std::uint32_t const tfNFTokenMintOldMask
Definition TxFlags.h:199
constexpr std::uint32_t tfOnlyOne
Definition TxFlags.h:257
constexpr std::uint32_t tfClose
Definition TxFlags.h:115
constexpr std::uint32_t const tmfMPTSetCanClawback
Definition TxFlags.h:173
constexpr std::uint32_t tfSetfAuth
Definition TxFlags.h:95
constexpr std::uint32_t const tfBatchMask
Definition TxFlags.h:265
constexpr std::uint32_t asfDisallowIncomingCheck
Definition TxFlags.h:71
constexpr std::uint32_t asfRequireAuth
Definition TxFlags.h:58
constexpr std::uint32_t asfNoFreeze
Definition TxFlags.h:62
constexpr std::uint32_t const tmfMPTCanMutateRequireAuth
Definition TxFlags.h:140
constexpr std::uint32_t const tfMPTokenIssuanceCreateMask
Definition TxFlags.h:134
constexpr std::uint32_t const tfLoanLatePayment
Definition TxFlags.h:282
constexpr std::uint32_t asfDisallowXRP
Definition TxFlags.h:59
constexpr std::uint32_t const tmfMPTCanMutateTransferFee
Definition TxFlags.h:146
constexpr std::uint32_t tfWithdrawMask
Definition TxFlags.h:238
constexpr std::uint32_t const tmfMPTSetCanEscrow
Definition TxFlags.h:167
constexpr std::uint32_t tfLimitLPToken
Definition TxFlags.h:230
constexpr std::uint32_t tfUntilFailure
Definition TxFlags.h:258
constexpr std::uint32_t const tfVaultPrivate
Definition TxFlags.h:250
constexpr std::uint32_t tfLPToken
Definition TxFlags.h:224
constexpr std::uint32_t tfClawTwoAssets
Definition TxFlags.h:242
constexpr std::uint32_t const tfLoanUnimpair
Definition TxFlags.h:291
@ lsfMPTCanLock
@ lsmfMPTCanMutateCanEscrow
@ lsfMPTCanEscrow
@ lsmfMPTCanMutateCanLock
@ lsmfMPTCanMutateCanTransfer
@ lsfMPTRequireAuth
@ lsfMPTCanTrade
@ lsfVaultPrivate
@ lsmfMPTCanMutateCanTrade
@ lsfMPTCanTransfer
@ lsmfMPTCanMutateTransferFee
@ lsfMPTCanClawback
@ lsmfMPTCanMutateMetadata
@ lsmfMPTCanMutateRequireAuth
@ lsmfMPTCanMutateCanClawback
constexpr std::uint32_t const tfMPTokenIssuanceSetPermissionMask
Definition TxFlags.h:159
constexpr std::uint32_t tfPartialPayment
Definition TxFlags.h:88
constexpr std::uint32_t tfIndependent
Definition TxFlags.h:259
constexpr std::uint32_t const tfVaultShareNonTransferable
Definition TxFlags.h:252
constexpr std::uint32_t const tfSellNFToken
Definition TxFlags.h:210
constexpr std::uint32_t const tmfMPTCanMutateCanClawback
Definition TxFlags.h:144
constexpr std::uint32_t tfSetFreeze
Definition TxFlags.h:98
constexpr std::uint32_t asfDisallowIncomingNFTokenOffer
Definition TxFlags.h:70
constexpr std::uint32_t const tfMPTCanEscrow
Definition TxFlags.h:130
constexpr std::uint32_t const tfMPTokenIssuanceSetMask
Definition TxFlags.h:158
constexpr std::uint32_t tfDisallowXRP
Definition TxFlags.h:50
constexpr std::uint32_t const tfMutable
Definition TxFlags.h:123
constexpr std::uint32_t asfAllowTrustLineLocking
Definition TxFlags.h:75
constexpr std::uint32_t tfUniversalMask
Definition TxFlags.h:43
constexpr std::uint32_t const tmfMPTSetCanTransfer
Definition TxFlags.h:171
constexpr std::uint32_t const tfLoanManageMask
Definition TxFlags.h:292