rippled
Loading...
Searching...
No Matches
LedgerFormats.h
1#ifndef XRPL_PROTOCOL_LEDGERFORMATS_H_INCLUDED
2#define XRPL_PROTOCOL_LEDGERFORMATS_H_INCLUDED
3
4#include <xrpl/protocol/KnownFormats.h>
5
6namespace xrpl {
7
33// clang-format off
35{
36
37#pragma push_macro("LEDGER_ENTRY")
38#undef LEDGER_ENTRY
39
40#define LEDGER_ENTRY(tag, value, ...) tag = value,
41
42#include <xrpl/protocol/detail/ledger_entries.macro>
43
44#undef LEDGER_ENTRY
45#pragma pop_macro("LEDGER_ENTRY")
46
47 //---------------------------------------------------------------------------
59 ltANY = 0,
60
72 ltCHILD = 0x1CD2,
73
74 //---------------------------------------------------------------------------
81 ltNICKNAME [[deprecated("This object type is not supported and should not be used.")]] = 0x006e,
82
89 ltCONTRACT [[deprecated("This object type is not supported and should not be used.")]] = 0x0063,
90
97 ltGENERATOR_MAP [[deprecated("This object type is not supported and should not be used.")]] = 0x0067,
98};
99// clang-format off
100
105 // ltACCOUNT_ROOT
106 lsfPasswordSpent = 0x00010000, // True, if password set fee is spent.
108 0x00020000, // True, to require a DestinationTag for payments.
110 0x00040000, // True, to require a authorization to hold IOUs.
111 lsfDisallowXRP = 0x00080000, // True, to disallow sending XRP.
112 lsfDisableMaster = 0x00100000, // True, force regular key
113 lsfNoFreeze = 0x00200000, // True, cannot freeze ripple states
114 lsfGlobalFreeze = 0x00400000, // True, all assets frozen
116 0x00800000, // True, incoming trust lines allow rippling by default
117 lsfDepositAuth = 0x01000000, // True, all deposits require authorization
118/* // reserved for Hooks amendment
119 lsfTshCollect = 0x02000000, // True, allow TSH collect-calls to acc hooks
120*/
122 0x04000000, // True, reject new incoming NFT offers
124 0x08000000, // True, reject new checks
126 0x10000000, // True, reject new paychans
128 0x20000000, // True, reject new trustlines (only if no issued assets)
130 0x40000000, // True, enable trustline locking
132 0x80000000, // True, enable clawback
133
134 // ltOFFER
135 lsfPassive = 0x00010000,
136 lsfSell = 0x00020000, // True, offer was placed as a sell.
137 lsfHybrid = 0x00040000, // True, offer is hybrid.
138
139 // ltRIPPLE_STATE
140 lsfLowReserve = 0x00010000, // True, if entry counts toward reserve.
141 lsfHighReserve = 0x00020000,
142 lsfLowAuth = 0x00040000,
143 lsfHighAuth = 0x00080000,
144 lsfLowNoRipple = 0x00100000,
145 lsfHighNoRipple = 0x00200000,
146 lsfLowFreeze = 0x00400000, // True, low side has set freeze flag
147 lsfHighFreeze = 0x00800000, // True, high side has set freeze flag
148 lsfLowDeepFreeze = 0x02000000, // True, low side has set deep freeze flag
149 lsfHighDeepFreeze = 0x04000000, // True, high side has set deep freeze flag
150 lsfAMMNode = 0x01000000, // True, trust line to AMM. Used by client
151 // apps to identify payments via AMM.
152
153 // ltSIGNER_LIST
154 lsfOneOwnerCount = 0x00010000, // True, uses only one OwnerCount
155
156 // ltDIR_NODE
159
160 // ltNFTOKEN_OFFER
161 lsfSellNFToken = 0x00000001,
162
163 // ltMPTOKEN_ISSUANCE
164 lsfMPTLocked = 0x00000001, // Also used in ltMPTOKEN
165 lsfMPTCanLock = 0x00000002,
166 lsfMPTRequireAuth = 0x00000004,
167 lsfMPTCanEscrow = 0x00000008,
168 lsfMPTCanTrade = 0x00000010,
169 lsfMPTCanTransfer = 0x00000020,
170 lsfMPTCanClawback = 0x00000040,
171
180
181 // ltMPTOKEN
182 lsfMPTAuthorized = 0x00000002,
183
184 // ltCREDENTIAL
185 lsfAccepted = 0x00010000,
186
187 // ltVAULT
188 lsfVaultPrivate = 0x00010000,
189
190 // ltLOAN
191 lsfLoanDefault = 0x00010000,
192 lsfLoanImpaired = 0x00020000,
193 lsfLoanOverpayment = 0x00040000, // True, loan allows overpayments
194};
195
196//------------------------------------------------------------------------------
197
200class LedgerFormats : public KnownFormats<LedgerEntryType, LedgerFormats>
201{
202private:
207
208public:
209 static LedgerFormats const&
210 getInstance();
211};
212
213} // namespace xrpl
214
215#endif
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:6
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