20 #include <ripple/protocol/impl/STVar.h>
22 #include <ripple/basics/contract.h>
23 #include <ripple/protocol/STAccount.h>
24 #include <ripple/protocol/STAmount.h>
25 #include <ripple/protocol/STArray.h>
26 #include <ripple/protocol/STBase.h>
27 #include <ripple/protocol/STBitString.h>
28 #include <ripple/protocol/STBlob.h>
29 #include <ripple/protocol/STInteger.h>
30 #include <ripple/protocol/STIssue.h>
31 #include <ripple/protocol/STObject.h>
32 #include <ripple/protocol/STPathSet.h>
33 #include <ripple/protocol/STVector256.h>
34 #include <ripple/protocol/STXChainBridge.h>
35 #include <ripple/protocol/XChainAttestations.h>
52 if (other.
p_ !=
nullptr)
116 Throw<std::runtime_error>(
"Maximum nesting depth of STVar exceeded");
117 switch (name.fieldType)
120 construct<STBase>(name);
123 construct<STUInt8>(sit, name);
126 construct<STUInt16>(sit, name);
129 construct<STUInt32>(sit, name);
132 construct<STUInt64>(sit, name);
135 construct<STAmount>(sit, name);
138 construct<STUInt128>(sit, name);
141 construct<STUInt160>(sit, name);
144 construct<STUInt256>(sit, name);
147 construct<STVector256>(sit, name);
150 construct<STBlob>(sit, name);
153 construct<STAccount>(sit, name);
156 construct<STPathSet>(sit, name);
159 construct<STObject>(sit, name, depth);
162 construct<STArray>(sit, name, depth);
165 construct<STIssue>(sit, name);
168 construct<STXChainBridge>(sit, name);
171 Throw<std::runtime_error>(
"Unknown object type");
181 construct<STBase>(name);
184 construct<STUInt8>(name);
187 construct<STUInt16>(name);
190 construct<STUInt32>(name);
193 construct<STUInt64>(name);
196 construct<STAmount>(name);
199 construct<STUInt128>(name);
202 construct<STUInt160>(name);
205 construct<STUInt256>(name);
208 construct<STVector256>(name);
211 construct<STBlob>(name);
214 construct<STAccount>(name);
217 construct<STPathSet>(name);
220 construct<STObject>(name);
223 construct<STArray>(name);
226 construct<STIssue>(name);
229 construct<STXChainBridge>(name);
232 Throw<std::runtime_error>(
"Unknown object type");