20#include <xrpl/protocol/InnerObjectFormats.h>
21#include <xrpl/protocol/SField.h>
22#include <xrpl/protocol/SOTemplate.h>
31 add(sfSignerEntry.jsonName,
32 sfSignerEntry.getCode(),
34 {sfAccount, soeREQUIRED},
35 {sfSignerWeight, soeREQUIRED},
36 {sfWalletLocator, soeOPTIONAL},
39 add(sfSigner.jsonName,
42 {sfAccount, soeREQUIRED},
43 {sfSigningPubKey, soeREQUIRED},
44 {sfTxnSignature, soeREQUIRED},
47 add(sfMajority.jsonName,
50 {sfAmendment, soeREQUIRED},
51 {sfCloseTime, soeREQUIRED},
54 add(sfDisabledValidator.jsonName,
55 sfDisabledValidator.getCode(),
57 {sfPublicKey, soeREQUIRED},
58 {sfFirstLedgerSequence, soeREQUIRED},
61 add(sfNFToken.jsonName,
64 {sfNFTokenID, soeREQUIRED},
68 add(sfVoteEntry.jsonName,
69 sfVoteEntry.getCode(),
71 {sfAccount, soeREQUIRED},
72 {sfTradingFee, soeDEFAULT},
73 {sfVoteWeight, soeREQUIRED},
76 add(sfAuctionSlot.jsonName,
77 sfAuctionSlot.getCode(),
78 {{sfAccount, soeREQUIRED},
79 {sfExpiration, soeREQUIRED},
80 {sfDiscountedFee, soeDEFAULT},
81 {sfPrice, soeREQUIRED},
82 {sfAuthAccounts, soeOPTIONAL}});
84 add(sfXChainClaimAttestationCollectionElement.jsonName,
85 sfXChainClaimAttestationCollectionElement.getCode(),
87 {sfAttestationSignerAccount, soeREQUIRED},
88 {sfPublicKey, soeREQUIRED},
89 {sfSignature, soeREQUIRED},
90 {sfAmount, soeREQUIRED},
91 {sfAccount, soeREQUIRED},
92 {sfAttestationRewardAccount, soeREQUIRED},
93 {sfWasLockingChainSend, soeREQUIRED},
94 {sfXChainClaimID, soeREQUIRED},
95 {sfDestination, soeOPTIONAL},
98 add(sfXChainCreateAccountAttestationCollectionElement.jsonName,
99 sfXChainCreateAccountAttestationCollectionElement.getCode(),
101 {sfAttestationSignerAccount, soeREQUIRED},
102 {sfPublicKey, soeREQUIRED},
103 {sfSignature, soeREQUIRED},
104 {sfAmount, soeREQUIRED},
105 {sfAccount, soeREQUIRED},
106 {sfAttestationRewardAccount, soeREQUIRED},
107 {sfWasLockingChainSend, soeREQUIRED},
108 {sfXChainAccountCreateCount, soeREQUIRED},
109 {sfDestination, soeREQUIRED},
110 {sfSignatureReward, soeREQUIRED},
113 add(sfXChainClaimProofSig.jsonName,
114 sfXChainClaimProofSig.getCode(),
116 {sfAttestationSignerAccount, soeREQUIRED},
117 {sfPublicKey, soeREQUIRED},
118 {sfAmount, soeREQUIRED},
119 {sfAttestationRewardAccount, soeREQUIRED},
120 {sfWasLockingChainSend, soeREQUIRED},
121 {sfDestination, soeOPTIONAL},
124 add(sfXChainCreateAccountProofSig.jsonName,
125 sfXChainCreateAccountProofSig.getCode(),
127 {sfAttestationSignerAccount, soeREQUIRED},
128 {sfPublicKey, soeREQUIRED},
129 {sfAmount, soeREQUIRED},
130 {sfSignatureReward, soeREQUIRED},
131 {sfAttestationRewardAccount, soeREQUIRED},
132 {sfWasLockingChainSend, soeREQUIRED},
133 {sfDestination, soeREQUIRED},
136 add(sfAuthAccount.jsonName,
137 sfAuthAccount.getCode(),
139 {sfAccount, soeREQUIRED},
142 add(sfPriceData.jsonName,
143 sfPriceData.getCode(),
145 {sfBaseAsset, soeREQUIRED},
146 {sfQuoteAsset, soeREQUIRED},
147 {sfAssetPrice, soeOPTIONAL},
148 {sfScale, soeDEFAULT},
151 add(sfCredential.jsonName,
152 sfCredential.getCode(),
154 {sfIssuer, soeREQUIRED},
155 {sfCredentialType, soeREQUIRED},
158 add(sfPermission.jsonName.c_str(),
159 sfPermission.getCode(),
160 {{sfPermissionValue, soeREQUIRED}});
162 add(sfBatchSigner.jsonName.c_str(),
163 sfBatchSigner.getCode(),
164 {{sfAccount, soeREQUIRED},
165 {sfSigningPubKey, soeOPTIONAL},
166 {sfTxnSignature, soeOPTIONAL},
167 {sfSigners, soeOPTIONAL}});
170InnerObjectFormats
const&
171InnerObjectFormats::getInstance()
178InnerObjectFormats::findSOTemplateBySField(
SField const& sField)
const
180 auto itemPtr = findByType(sField.
getCode());
182 return &(itemPtr->getSOTemplate());
Defines the fields and their attributes within a STObject.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.