rippled
Loading...
Searching...
No Matches
LedgerFormats.h
1#pragma once
2
3#include <xrpl/protocol/KnownFormats.h>
4
5namespace xrpl {
6
32// clang-format off
34{
35
36#pragma push_macro("LEDGER_ENTRY")
37#undef LEDGER_ENTRY
38
39#define LEDGER_ENTRY(tag, value, ...) tag = value,
40
41#include <xrpl/protocol/detail/ledger_entries.macro>
42
43#undef LEDGER_ENTRY
44#pragma pop_macro("LEDGER_ENTRY")
45
46 //---------------------------------------------------------------------------
58 ltANY = 0,
59
71 ltCHILD = 0x1CD2,
72
73 //---------------------------------------------------------------------------
80 ltNICKNAME [[deprecated("This object type is not supported and should not be used.")]] = 0x006e,
81
88 ltCONTRACT [[deprecated("This object type is not supported and should not be used.")]] = 0x0063,
89
96 ltGENERATOR_MAP [[deprecated("This object type is not supported and should not be used.")]] = 0x0067,
97};
98// clang-format off
99
104 // ltACCOUNT_ROOT
105 lsfPasswordSpent = 0x00010000, // True, if password set fee is spent.
107 0x00020000, // True, to require a DestinationTag for payments.
109 0x00040000, // True, to require a authorization to hold IOUs.
110 lsfDisallowXRP = 0x00080000, // True, to disallow sending XRP.
111 lsfDisableMaster = 0x00100000, // True, force regular key
112 lsfNoFreeze = 0x00200000, // True, cannot freeze ripple states
113 lsfGlobalFreeze = 0x00400000, // True, all assets frozen
115 0x00800000, // True, incoming trust lines allow rippling by default
116 lsfDepositAuth = 0x01000000, // True, all deposits require authorization
117/* // reserved for Hooks amendment
118 lsfTshCollect = 0x02000000, // True, allow TSH collect-calls to acc hooks
119*/
121 0x04000000, // True, reject new incoming NFT offers
123 0x08000000, // True, reject new checks
125 0x10000000, // True, reject new paychans
127 0x20000000, // True, reject new trustlines (only if no issued assets)
129 0x40000000, // True, enable trustline locking
131 0x80000000, // True, enable clawback
132
133 // ltOFFER
134 lsfPassive = 0x00010000,
135 lsfSell = 0x00020000, // True, offer was placed as a sell.
136 lsfHybrid = 0x00040000, // True, offer is hybrid.
137
138 // ltRIPPLE_STATE
139 lsfLowReserve = 0x00010000, // True, if entry counts toward reserve.
140 lsfHighReserve = 0x00020000,
141 lsfLowAuth = 0x00040000,
142 lsfHighAuth = 0x00080000,
143 lsfLowNoRipple = 0x00100000,
144 lsfHighNoRipple = 0x00200000,
145 lsfLowFreeze = 0x00400000, // True, low side has set freeze flag
146 lsfHighFreeze = 0x00800000, // True, high side has set freeze flag
147 lsfLowDeepFreeze = 0x02000000, // True, low side has set deep freeze flag
148 lsfHighDeepFreeze = 0x04000000, // True, high side has set deep freeze flag
149 lsfAMMNode = 0x01000000, // True, trust line to AMM. Used by client
150 // apps to identify payments via AMM.
151
152 // ltSIGNER_LIST
153 lsfOneOwnerCount = 0x00010000, // True, uses only one OwnerCount
154
155 // ltDIR_NODE
158
159 // ltNFTOKEN_OFFER
160 lsfSellNFToken = 0x00000001,
161
162 // ltMPTOKEN_ISSUANCE
163 lsfMPTLocked = 0x00000001, // Also used in ltMPTOKEN
164 lsfMPTCanLock = 0x00000002,
165 lsfMPTRequireAuth = 0x00000004,
166 lsfMPTCanEscrow = 0x00000008,
167 lsfMPTCanTrade = 0x00000010,
168 lsfMPTCanTransfer = 0x00000020,
169 lsfMPTCanClawback = 0x00000040,
170
179
180 // ltMPTOKEN
181 lsfMPTAuthorized = 0x00000002,
182
183 // ltCREDENTIAL
184 lsfAccepted = 0x00010000,
185
186 // ltVAULT
187 lsfVaultPrivate = 0x00010000,
188
189 // ltLOAN
190 lsfLoanDefault = 0x00010000,
191 lsfLoanImpaired = 0x00020000,
192 lsfLoanOverpayment = 0x00040000, // True, loan allows overpayments
193};
194
195//------------------------------------------------------------------------------
196
199class LedgerFormats : public KnownFormats<LedgerEntryType, LedgerFormats>
200{
201private:
206
207public:
208 static LedgerFormats const&
209 getInstance();
210};
211
212} // namespace xrpl
Manages a list of known formats.
Holds the list of known ledger entry formats.
LedgerFormats()
Create the object.
static LedgerFormats const & getInstance()
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:5
LedgerEntryType
Identifiers for on-ledger objects.
@ ltGENERATOR_MAP
A legacy, deprecated type.
@ ltNICKNAME
A legacy, deprecated type.
@ ltCONTRACT
A legacy, deprecated type.
@ ltANY
A special type, matching any ledger entry type.
@ ltCHILD
A special type, matching any ledger type except directory nodes.
LedgerSpecificFlags
@ lsfHighReserve
@ lsfDisallowIncomingNFTokenOffer
@ lsfAllowTrustLineClawback
@ lsfMPTCanLock
@ lsmfMPTCanMutateCanEscrow
@ lsfMPTCanEscrow
@ lsmfMPTCanMutateCanLock
@ lsfDepositAuth
@ lsfLowReserve
@ lsfNFTokenBuyOffers
@ lsfNoFreeze
@ lsmfMPTCanMutateCanTransfer
@ lsfDisallowIncomingPayChan
@ lsfLoanImpaired
@ lsfRequireAuth
@ lsfDisallowXRP
@ lsfDefaultRipple
@ lsfLoanOverpayment
@ lsfLowDeepFreeze
@ lsfDisallowIncomingCheck
@ lsfAccepted
@ lsfMPTRequireAuth
@ lsfMPTCanTrade
@ lsfVaultPrivate
@ lsfPasswordSpent
@ lsfRequireDestTag
@ lsfMPTLocked
@ lsfAllowTrustLineLocking
@ lsfMPTAuthorized
@ lsfSellNFToken
@ lsmfMPTCanMutateCanTrade
@ lsfMPTCanTransfer
@ lsfLowNoRipple
@ lsfLoanDefault
@ lsfGlobalFreeze
@ lsfNFTokenSellOffers
@ lsfOneOwnerCount
@ lsfLowFreeze
@ lsfDisableMaster
@ lsfHighFreeze
@ lsfHighNoRipple
@ lsmfMPTCanMutateTransferFee
@ lsfMPTCanClawback
@ lsfHighDeepFreeze
@ lsmfMPTCanMutateMetadata
@ lsfHighAuth
@ lsmfMPTCanMutateRequireAuth
@ lsfDisallowIncomingTrustline
@ lsmfMPTCanMutateCanClawback