mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-30 16:05:51 +00:00
deploy: 176fd2b6e4
This commit is contained in:
@@ -1306,208 +1306,210 @@ $(document).ready(function() { init_codefold(0); });
|
||||
<div class="line"><a id="l01170" name="l01170"></a><span class="lineno"> 1170</span> </div>
|
||||
<div class="line"><a id="l01171" name="l01171"></a><span class="lineno"> 1171</span> <span class="keywordflow">if</span> (!s2.<a class="code hl_function" href="classripple_1_1STObject.html#accfabb87c38462806e744d820bb4c608">isEquivalent</a>(<a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_variable" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>))</div>
|
||||
<div class="line"><a id="l01172" name="l01172"></a><span class="lineno"> 1172</span> {</div>
|
||||
<div class="line"><a id="l01173" name="l01173"></a><span class="lineno"> 1173</span> JLOG(<a class="code hl_variable" href="classripple_1_1Transactor.html#ab84d1ef5275a1c6c63176c11d72d6235">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">fatal</a>()) << <span class="stringliteral">"Transaction serdes mismatch"</span>;</div>
|
||||
<div class="line"><a id="l01174" name="l01174"></a><span class="lineno"> 1174</span> JLOG(<a class="code hl_variable" href="classripple_1_1Transactor.html#ab84d1ef5275a1c6c63176c11d72d6235">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a87d6bd59020d94110027dcab3d9e3357">info</a>()) << <a class="code hl_function" href="namespaceripple.html#ac124fe6744b7fe887dec949b56b16d50">to_string</a>(<a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_variable" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>.<a class="code hl_function" href="classripple_1_1STTx.html#a489c8110e24455a2e7dac783f4760cc2">getJson</a>(<a class="code hl_enumvalue" href="structripple_1_1JsonOptions.html#ab85e43ec84df987200d3355c3ba89f0aa1917451e3686dfe8d5016670eb87ab33">JsonOptions::none</a>));</div>
|
||||
<div class="line"><a id="l01175" name="l01175"></a><span class="lineno"> 1175</span> JLOG(<a class="code hl_variable" href="classripple_1_1Transactor.html#ab84d1ef5275a1c6c63176c11d72d6235">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">fatal</a>()) << s2.<a class="code hl_function" href="classripple_1_1STTx.html#a489c8110e24455a2e7dac783f4760cc2">getJson</a>(<a class="code hl_enumvalue" href="structripple_1_1JsonOptions.html#ab85e43ec84df987200d3355c3ba89f0aa1917451e3686dfe8d5016670eb87ab33">JsonOptions::none</a>);</div>
|
||||
<div class="line"><a id="l01176" name="l01176"></a><span class="lineno"> 1176</span> UNREACHABLE(</div>
|
||||
<div class="line"><a id="l01177" name="l01177"></a><span class="lineno"> 1177</span> <span class="stringliteral">"ripple::Transactor::operator() : transaction serdes mismatch"</span>);</div>
|
||||
<div class="line"><a id="l01178" name="l01178"></a><span class="lineno"> 1178</span> }</div>
|
||||
<div class="line"><a id="l01179" name="l01179"></a><span class="lineno"> 1179</span> }</div>
|
||||
<div class="line"><a id="l01180" name="l01180"></a><span class="lineno"> 1180</span><span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a id="l01181" name="l01181"></a><span class="lineno"> 1181</span> </div>
|
||||
<div class="line"><a id="l01182" name="l01182"></a><span class="lineno"> 1182</span> <span class="keywordflow">if</span> (<span class="keyword">auto</span> <span class="keyword">const</span>& trap = <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_variable" href="classripple_1_1ApplyContext.html#a6ec1f10e560afe30ed435c3f7eea715d">app</a>.<a class="code hl_function" href="classripple_1_1Application.html#a006577b8e45097a163d2a0eac4dbc19e">trapTxID</a>();</div>
|
||||
<div class="line"><a id="l01183" name="l01183"></a><span class="lineno"> 1183</span> trap && *trap == <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_variable" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>.<a class="code hl_function" href="classripple_1_1STTx.html#ad314af66e2542db537b3b5de291d33c3">getTransactionID</a>())</div>
|
||||
<div class="line"><a id="l01184" name="l01184"></a><span class="lineno"> 1184</span> {</div>
|
||||
<div class="line"><a id="l01185" name="l01185"></a><span class="lineno"> 1185</span> <a class="code hl_function" href="classripple_1_1Transactor.html#a5597401d095d153481ff61819fbb83dc">trapTransaction</a>(*trap);</div>
|
||||
<div class="line"><a id="l01186" name="l01186"></a><span class="lineno"> 1186</span> }</div>
|
||||
<div class="line"><a id="l01187" name="l01187"></a><span class="lineno"> 1187</span> </div>
|
||||
<div class="line"><a id="l01188" name="l01188"></a><span class="lineno"> 1188</span> <span class="keyword">auto</span> result = <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_variable" href="classripple_1_1ApplyContext.html#a110f980eedee306ab6d39f08e9532832">preclaimResult</a>;</div>
|
||||
<div class="line"><a id="l01189" name="l01189"></a><span class="lineno"> 1189</span> <span class="keywordflow">if</span> (result == <a class="code hl_enumvalue" href="namespaceripple.html#aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151">tesSUCCESS</a>)</div>
|
||||
<div class="line"><a id="l01190" name="l01190"></a><span class="lineno"> 1190</span> result = <a class="code hl_function" href="classripple_1_1Transactor.html#ac2faaa3bfd1c9b9f91ae24f367474d0f">apply</a>();</div>
|
||||
<div class="line"><a id="l01191" name="l01191"></a><span class="lineno"> 1191</span> </div>
|
||||
<div class="line"><a id="l01192" name="l01192"></a><span class="lineno"> 1192</span> <span class="comment">// No transaction can return temUNKNOWN from apply,</span></div>
|
||||
<div class="line"><a id="l01193" name="l01193"></a><span class="lineno"> 1193</span> <span class="comment">// and it can't be passed in from a preclaim.</span></div>
|
||||
<div class="line"><a id="l01194" name="l01194"></a><span class="lineno"> 1194</span> XRPL_ASSERT(</div>
|
||||
<div class="line"><a id="l01195" name="l01195"></a><span class="lineno"> 1195</span> result != <a class="code hl_enumvalue" href="namespaceripple.html#afe21c8454670d46fb93751a5edffed46a1dad6e2d630423dd67f4a540305f8b3c">temUNKNOWN</a>,</div>
|
||||
<div class="line"><a id="l01196" name="l01196"></a><span class="lineno"> 1196</span> <span class="stringliteral">"ripple::Transactor::operator() : result is not temUNKNOWN"</span>);</div>
|
||||
<div class="line"><a id="l01197" name="l01197"></a><span class="lineno"> 1197</span> </div>
|
||||
<div class="line"><a id="l01198" name="l01198"></a><span class="lineno"> 1198</span> <span class="keywordflow">if</span> (<span class="keyword">auto</span> stream = <a class="code hl_variable" href="classripple_1_1Transactor.html#ab84d1ef5275a1c6c63176c11d72d6235">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>())</div>
|
||||
<div class="line"><a id="l01199" name="l01199"></a><span class="lineno"> 1199</span> stream << <span class="stringliteral">"preclaim result: "</span> << <a class="code hl_function" href="namespaceripple.html#a875ae996b37ed036597d70628ae053e3">transToken</a>(result);</div>
|
||||
<div class="line"><a id="l01200" name="l01200"></a><span class="lineno"> 1200</span> </div>
|
||||
<div class="line"><a id="l01201" name="l01201"></a><span class="lineno"> 1201</span> <span class="keywordtype">bool</span> applied = <a class="code hl_function" href="namespaceripple.html#ab48d5d1c4e2695c12f705e9d85fa560d">isTesSuccess</a>(result);</div>
|
||||
<div class="line"><a id="l01202" name="l01202"></a><span class="lineno"> 1202</span> <span class="keyword">auto</span> fee = <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_variable" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>.<a class="code hl_function" href="classripple_1_1STObject.html#a8e207109e646759f4927d90e4404893f">getFieldAmount</a>(sfFee).<a class="code hl_function" href="classripple_1_1STAmount.html#a6c2ca92e9c91e2a34493d61e02d79ebf">xrp</a>();</div>
|
||||
<div class="line"><a id="l01203" name="l01203"></a><span class="lineno"> 1203</span> </div>
|
||||
<div class="line"><a id="l01204" name="l01204"></a><span class="lineno"> 1204</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_function" href="classripple_1_1ApplyContext.html#aaf553f68175966af2a29eafaf78e596e">size</a>() > <a class="code hl_variable" href="namespaceripple.html#a5680c439ff8f669653267ca5aad8b341">oversizeMetaDataCap</a>)</div>
|
||||
<div class="line"><a id="l01205" name="l01205"></a><span class="lineno"> 1205</span> result = <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caad531e9d2f46a3a6e6f01934097e7053">tecOVERSIZE</a>;</div>
|
||||
<div class="line"><a id="l01206" name="l01206"></a><span class="lineno"> 1206</span> </div>
|
||||
<div class="line"><a id="l01207" name="l01207"></a><span class="lineno"> 1207</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="namespaceripple.html#ae193bf65f233ba37c47a7a8fc49a26e4">isTecClaim</a>(result) && (<a class="code hl_function" href="classripple_1_1Transactor.html#a9acc4edc9b8f2a11a27fbcf5e93e2fe2">view</a>().flags() & <a class="code hl_enumvalue" href="namespaceripple.html#ad2487abbcc1a5d6064b72144b461df6ea72934cf56aa148d1f25bf08fe8922150">tapFAIL_HARD</a>))</div>
|
||||
<div class="line"><a id="l01208" name="l01208"></a><span class="lineno"> 1208</span> {</div>
|
||||
<div class="line"><a id="l01209" name="l01209"></a><span class="lineno"> 1209</span> <span class="comment">// If the tapFAIL_HARD flag is set, a tec result</span></div>
|
||||
<div class="line"><a id="l01210" name="l01210"></a><span class="lineno"> 1210</span> <span class="comment">// must not do anything</span></div>
|
||||
<div class="line"><a id="l01211" name="l01211"></a><span class="lineno"> 1211</span> <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_function" href="classripple_1_1ApplyContext.html#a5967451fa668bfc8b6e6bf763da92aa7">discard</a>();</div>
|
||||
<div class="line"><a id="l01212" name="l01212"></a><span class="lineno"> 1212</span> applied = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a id="l01213" name="l01213"></a><span class="lineno"> 1213</span> }</div>
|
||||
<div class="line"><a id="l01214" name="l01214"></a><span class="lineno"> 1214</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (</div>
|
||||
<div class="line"><a id="l01215" name="l01215"></a><span class="lineno"> 1215</span> (result == <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caad531e9d2f46a3a6e6f01934097e7053">tecOVERSIZE</a>) || (result == <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca82773cd87fbf942a9cb626416218f52b">tecKILLED</a>) ||</div>
|
||||
<div class="line"><a id="l01216" name="l01216"></a><span class="lineno"> 1216</span> (result == <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca576f5411ab4458ec9842480e7ebe7072">tecINCOMPLETE</a>) || (result == <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caede598f88bbd44e4df1c4e0d418c4cdc">tecEXPIRED</a>) ||</div>
|
||||
<div class="line"><a id="l01217" name="l01217"></a><span class="lineno"> 1217</span> (<a class="code hl_function" href="namespaceripple.html#aaad7838ce24fa0ffc4c6e388b18c86a4">isTecClaimHardFail</a>(result, <a class="code hl_function" href="classripple_1_1Transactor.html#a9acc4edc9b8f2a11a27fbcf5e93e2fe2">view</a>().flags())))</div>
|
||||
<div class="line"><a id="l01218" name="l01218"></a><span class="lineno"> 1218</span> {</div>
|
||||
<div class="line"><a id="l01219" name="l01219"></a><span class="lineno"> 1219</span> JLOG(<a class="code hl_variable" href="classripple_1_1Transactor.html#ab84d1ef5275a1c6c63176c11d72d6235">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>()) << <span class="stringliteral">"reapplying because of "</span> << <a class="code hl_function" href="namespaceripple.html#a875ae996b37ed036597d70628ae053e3">transToken</a>(result);</div>
|
||||
<div class="line"><a id="l01220" name="l01220"></a><span class="lineno"> 1220</span> </div>
|
||||
<div class="line"><a id="l01221" name="l01221"></a><span class="lineno"> 1221</span> <span class="comment">// FIXME: This mechanism for doing work while returning a `tec` is</span></div>
|
||||
<div class="line"><a id="l01222" name="l01222"></a><span class="lineno"> 1222</span> <span class="comment">// awkward and very limiting. A more general purpose approach</span></div>
|
||||
<div class="line"><a id="l01223" name="l01223"></a><span class="lineno"> 1223</span> <span class="comment">// should be used, making it possible to do more useful work</span></div>
|
||||
<div class="line"><a id="l01224" name="l01224"></a><span class="lineno"> 1224</span> <span class="comment">// when transactions fail with a `tec` code.</span></div>
|
||||
<div class="line"><a id="l01225" name="l01225"></a><span class="lineno"> 1225</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint256></a> removedOffers;</div>
|
||||
<div class="line"><a id="l01226" name="l01226"></a><span class="lineno"> 1226</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint256></a> removedTrustLines;</div>
|
||||
<div class="line"><a id="l01227" name="l01227"></a><span class="lineno"> 1227</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint256></a> expiredNFTokenOffers;</div>
|
||||
<div class="line"><a id="l01228" name="l01228"></a><span class="lineno"> 1228</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint256></a> expiredCredentials;</div>
|
||||
<div class="line"><a id="l01229" name="l01229"></a><span class="lineno"> 1229</span> </div>
|
||||
<div class="line"><a id="l01230" name="l01230"></a><span class="lineno"> 1230</span> <span class="keywordtype">bool</span> <span class="keyword">const</span> doOffers =</div>
|
||||
<div class="line"><a id="l01231" name="l01231"></a><span class="lineno"> 1231</span> ((result == <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caad531e9d2f46a3a6e6f01934097e7053">tecOVERSIZE</a>) || (result == <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca82773cd87fbf942a9cb626416218f52b">tecKILLED</a>));</div>
|
||||
<div class="line"><a id="l01232" name="l01232"></a><span class="lineno"> 1232</span> <span class="keywordtype">bool</span> <span class="keyword">const</span> doLines = (result == <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca576f5411ab4458ec9842480e7ebe7072">tecINCOMPLETE</a>);</div>
|
||||
<div class="line"><a id="l01233" name="l01233"></a><span class="lineno"> 1233</span> <span class="keywordtype">bool</span> <span class="keyword">const</span> doNFTokenOffers = (result == <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caede598f88bbd44e4df1c4e0d418c4cdc">tecEXPIRED</a>);</div>
|
||||
<div class="line"><a id="l01234" name="l01234"></a><span class="lineno"> 1234</span> <span class="keywordtype">bool</span> <span class="keyword">const</span> doCredentials = (result == <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caede598f88bbd44e4df1c4e0d418c4cdc">tecEXPIRED</a>);</div>
|
||||
<div class="line"><a id="l01235" name="l01235"></a><span class="lineno"> 1235</span> <span class="keywordflow">if</span> (doOffers || doLines || doNFTokenOffers || doCredentials)</div>
|
||||
<div class="line"><a id="l01236" name="l01236"></a><span class="lineno"> 1236</span> {</div>
|
||||
<div class="line"><a id="l01237" name="l01237"></a><span class="lineno"> 1237</span> <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_function" href="classripple_1_1ApplyContext.html#a04256a4e26ba636830cb0c6cf1c41bee">visit</a>([doOffers,</div>
|
||||
<div class="line"><a id="l01238" name="l01238"></a><span class="lineno"> 1238</span> &removedOffers,</div>
|
||||
<div class="line"><a id="l01239" name="l01239"></a><span class="lineno"> 1239</span> doLines,</div>
|
||||
<div class="line"><a id="l01240" name="l01240"></a><span class="lineno"> 1240</span> &removedTrustLines,</div>
|
||||
<div class="line"><a id="l01241" name="l01241"></a><span class="lineno"> 1241</span> doNFTokenOffers,</div>
|
||||
<div class="line"><a id="l01242" name="l01242"></a><span class="lineno"> 1242</span> &expiredNFTokenOffers,</div>
|
||||
<div class="line"><a id="l01243" name="l01243"></a><span class="lineno"> 1243</span> doCredentials,</div>
|
||||
<div class="line"><a id="l01244" name="l01244"></a><span class="lineno"> 1244</span> &expiredCredentials](</div>
|
||||
<div class="line"><a id="l01245" name="l01245"></a><span class="lineno"> 1245</span> <a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& index,</div>
|
||||
<div class="line"><a id="l01246" name="l01246"></a><span class="lineno"> 1246</span> <span class="keywordtype">bool</span> isDelete,</div>
|
||||
<div class="line"><a id="l01247" name="l01247"></a><span class="lineno"> 1247</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<SLE const></a> <span class="keyword">const</span>& before,</div>
|
||||
<div class="line"><a id="l01248" name="l01248"></a><span class="lineno"> 1248</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<SLE const></a> <span class="keyword">const</span>& <a class="code hl_function" href="namespaceripple.html#ac3e90afb749bb1f01e06729c7c860ba3">after</a>) {</div>
|
||||
<div class="line"><a id="l01249" name="l01249"></a><span class="lineno"> 1249</span> <span class="keywordflow">if</span> (isDelete)</div>
|
||||
<div class="line"><a id="l01250" name="l01250"></a><span class="lineno"> 1250</span> {</div>
|
||||
<div class="line"><a id="l01251" name="l01251"></a><span class="lineno"> 1251</span> XRPL_ASSERT(</div>
|
||||
<div class="line"><a id="l01252" name="l01252"></a><span class="lineno"> 1252</span> before && <a class="code hl_function" href="namespaceripple.html#ac3e90afb749bb1f01e06729c7c860ba3">after</a>,</div>
|
||||
<div class="line"><a id="l01253" name="l01253"></a><span class="lineno"> 1253</span> <span class="stringliteral">"ripple::Transactor::operator()::visit : non-null SLE "</span></div>
|
||||
<div class="line"><a id="l01254" name="l01254"></a><span class="lineno"> 1254</span> <span class="stringliteral">"inputs"</span>);</div>
|
||||
<div class="line"><a id="l01255" name="l01255"></a><span class="lineno"> 1255</span> <span class="keywordflow">if</span> (doOffers && before && <a class="code hl_function" href="namespaceripple.html#ac3e90afb749bb1f01e06729c7c860ba3">after</a> &&</div>
|
||||
<div class="line"><a id="l01256" name="l01256"></a><span class="lineno"> 1256</span> (before->getType() == ltOFFER) &&</div>
|
||||
<div class="line"><a id="l01257" name="l01257"></a><span class="lineno"> 1257</span> (before->getFieldAmount(sfTakerPays) ==</div>
|
||||
<div class="line"><a id="l01258" name="l01258"></a><span class="lineno"> 1258</span> <a class="code hl_function" href="namespaceripple.html#ac3e90afb749bb1f01e06729c7c860ba3">after</a>->getFieldAmount(sfTakerPays)))</div>
|
||||
<div class="line"><a id="l01259" name="l01259"></a><span class="lineno"> 1259</span> {</div>
|
||||
<div class="line"><a id="l01260" name="l01260"></a><span class="lineno"> 1260</span> <span class="comment">// Removal of offer found or made unfunded</span></div>
|
||||
<div class="line"><a id="l01261" name="l01261"></a><span class="lineno"> 1261</span> removedOffers.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(index);</div>
|
||||
<div class="line"><a id="l01262" name="l01262"></a><span class="lineno"> 1262</span> }</div>
|
||||
<div class="line"><a id="l01263" name="l01263"></a><span class="lineno"> 1263</span> </div>
|
||||
<div class="line"><a id="l01264" name="l01264"></a><span class="lineno"> 1264</span> <span class="keywordflow">if</span> (doLines && before && <a class="code hl_function" href="namespaceripple.html#ac3e90afb749bb1f01e06729c7c860ba3">after</a> &&</div>
|
||||
<div class="line"><a id="l01265" name="l01265"></a><span class="lineno"> 1265</span> (before->getType() == ltRIPPLE_STATE))</div>
|
||||
<div class="line"><a id="l01266" name="l01266"></a><span class="lineno"> 1266</span> {</div>
|
||||
<div class="line"><a id="l01267" name="l01267"></a><span class="lineno"> 1267</span> <span class="comment">// Removal of obsolete AMM trust line</span></div>
|
||||
<div class="line"><a id="l01268" name="l01268"></a><span class="lineno"> 1268</span> removedTrustLines.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(index);</div>
|
||||
<div class="line"><a id="l01269" name="l01269"></a><span class="lineno"> 1269</span> }</div>
|
||||
<div class="line"><a id="l01270" name="l01270"></a><span class="lineno"> 1270</span> </div>
|
||||
<div class="line"><a id="l01271" name="l01271"></a><span class="lineno"> 1271</span> <span class="keywordflow">if</span> (doNFTokenOffers && before && <a class="code hl_function" href="namespaceripple.html#ac3e90afb749bb1f01e06729c7c860ba3">after</a> &&</div>
|
||||
<div class="line"><a id="l01272" name="l01272"></a><span class="lineno"> 1272</span> (before->getType() == ltNFTOKEN_OFFER))</div>
|
||||
<div class="line"><a id="l01273" name="l01273"></a><span class="lineno"> 1273</span> expiredNFTokenOffers.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(index);</div>
|
||||
<div class="line"><a id="l01274" name="l01274"></a><span class="lineno"> 1274</span> </div>
|
||||
<div class="line"><a id="l01275" name="l01275"></a><span class="lineno"> 1275</span> <span class="keywordflow">if</span> (doCredentials && before && <a class="code hl_function" href="namespaceripple.html#ac3e90afb749bb1f01e06729c7c860ba3">after</a> &&</div>
|
||||
<div class="line"><a id="l01276" name="l01276"></a><span class="lineno"> 1276</span> (before->getType() == ltCREDENTIAL))</div>
|
||||
<div class="line"><a id="l01277" name="l01277"></a><span class="lineno"> 1277</span> expiredCredentials.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(index);</div>
|
||||
<div class="line"><a id="l01278" name="l01278"></a><span class="lineno"> 1278</span> }</div>
|
||||
<div class="line"><a id="l01279" name="l01279"></a><span class="lineno"> 1279</span> });</div>
|
||||
<div class="line"><a id="l01280" name="l01280"></a><span class="lineno"> 1280</span> }</div>
|
||||
<div class="line"><a id="l01281" name="l01281"></a><span class="lineno"> 1281</span> </div>
|
||||
<div class="line"><a id="l01282" name="l01282"></a><span class="lineno"> 1282</span> <span class="comment">// Reset the context, potentially adjusting the fee.</span></div>
|
||||
<div class="line"><a id="l01283" name="l01283"></a><span class="lineno"> 1283</span> {</div>
|
||||
<div class="line"><a id="l01284" name="l01284"></a><span class="lineno"> 1284</span> <span class="keyword">auto</span> <span class="keyword">const</span> resetResult = <a class="code hl_function" href="classripple_1_1Transactor.html#af81f796422a3f66771e31a6ecbbbf57b">reset</a>(fee);</div>
|
||||
<div class="line"><a id="l01285" name="l01285"></a><span class="lineno"> 1285</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="namespaceripple.html#ab48d5d1c4e2695c12f705e9d85fa560d">isTesSuccess</a>(resetResult.first))</div>
|
||||
<div class="line"><a id="l01286" name="l01286"></a><span class="lineno"> 1286</span> result = resetResult.first;</div>
|
||||
<div class="line"><a id="l01287" name="l01287"></a><span class="lineno"> 1287</span> </div>
|
||||
<div class="line"><a id="l01288" name="l01288"></a><span class="lineno"> 1288</span> fee = resetResult.second;</div>
|
||||
<div class="line"><a id="l01289" name="l01289"></a><span class="lineno"> 1289</span> }</div>
|
||||
<div class="line"><a id="l01290" name="l01290"></a><span class="lineno"> 1290</span> </div>
|
||||
<div class="line"><a id="l01291" name="l01291"></a><span class="lineno"> 1291</span> <span class="comment">// If necessary, remove any offers found unfunded during processing</span></div>
|
||||
<div class="line"><a id="l01292" name="l01292"></a><span class="lineno"> 1292</span> <span class="keywordflow">if</span> ((result == <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caad531e9d2f46a3a6e6f01934097e7053">tecOVERSIZE</a>) || (result == <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca82773cd87fbf942a9cb626416218f52b">tecKILLED</a>))</div>
|
||||
<div class="line"><a id="l01293" name="l01293"></a><span class="lineno"> 1293</span> <a class="code hl_function" href="namespaceripple.html#a6aab406eb9522bb36ba7247335e303ec">removeUnfundedOffers</a>(</div>
|
||||
<div class="line"><a id="l01294" name="l01294"></a><span class="lineno"> 1294</span> <a class="code hl_function" href="classripple_1_1Transactor.html#a9acc4edc9b8f2a11a27fbcf5e93e2fe2">view</a>(), removedOffers, <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_variable" href="classripple_1_1ApplyContext.html#a6ec1f10e560afe30ed435c3f7eea715d">app</a>.<a class="code hl_function" href="classripple_1_1Application.html#a2897c28a5b5040e80e66f676d201d03f">journal</a>(<span class="stringliteral">"View"</span>));</div>
|
||||
<div class="line"><a id="l01295" name="l01295"></a><span class="lineno"> 1295</span> </div>
|
||||
<div class="line"><a id="l01296" name="l01296"></a><span class="lineno"> 1296</span> <span class="keywordflow">if</span> (result == <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caede598f88bbd44e4df1c4e0d418c4cdc">tecEXPIRED</a>)</div>
|
||||
<div class="line"><a id="l01297" name="l01297"></a><span class="lineno"> 1297</span> <a class="code hl_function" href="namespaceripple.html#a8ba581584f364d79f3b5020b6a2c66da">removeExpiredNFTokenOffers</a>(</div>
|
||||
<div class="line"><a id="l01298" name="l01298"></a><span class="lineno"> 1298</span> <a class="code hl_function" href="classripple_1_1Transactor.html#a9acc4edc9b8f2a11a27fbcf5e93e2fe2">view</a>(), expiredNFTokenOffers, <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_variable" href="classripple_1_1ApplyContext.html#a6ec1f10e560afe30ed435c3f7eea715d">app</a>.<a class="code hl_function" href="classripple_1_1Application.html#a2897c28a5b5040e80e66f676d201d03f">journal</a>(<span class="stringliteral">"View"</span>));</div>
|
||||
<div class="line"><a id="l01299" name="l01299"></a><span class="lineno"> 1299</span> </div>
|
||||
<div class="line"><a id="l01300" name="l01300"></a><span class="lineno"> 1300</span> <span class="keywordflow">if</span> (result == <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca576f5411ab4458ec9842480e7ebe7072">tecINCOMPLETE</a>)</div>
|
||||
<div class="line"><a id="l01301" name="l01301"></a><span class="lineno"> 1301</span> <a class="code hl_function" href="namespaceripple.html#ac3e50b84e446c9a994a53e3cba303c65">removeDeletedTrustLines</a>(</div>
|
||||
<div class="line"><a id="l01302" name="l01302"></a><span class="lineno"> 1302</span> <a class="code hl_function" href="classripple_1_1Transactor.html#a9acc4edc9b8f2a11a27fbcf5e93e2fe2">view</a>(), removedTrustLines, <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_variable" href="classripple_1_1ApplyContext.html#a6ec1f10e560afe30ed435c3f7eea715d">app</a>.<a class="code hl_function" href="classripple_1_1Application.html#a2897c28a5b5040e80e66f676d201d03f">journal</a>(<span class="stringliteral">"View"</span>));</div>
|
||||
<div class="line"><a id="l01303" name="l01303"></a><span class="lineno"> 1303</span> </div>
|
||||
<div class="line"><a id="l01304" name="l01304"></a><span class="lineno"> 1304</span> <span class="keywordflow">if</span> (result == <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caede598f88bbd44e4df1c4e0d418c4cdc">tecEXPIRED</a>)</div>
|
||||
<div class="line"><a id="l01305" name="l01305"></a><span class="lineno"> 1305</span> <a class="code hl_function" href="namespaceripple.html#a84b29199ee335915baaf15ab781d8efa">removeExpiredCredentials</a>(</div>
|
||||
<div class="line"><a id="l01306" name="l01306"></a><span class="lineno"> 1306</span> <a class="code hl_function" href="classripple_1_1Transactor.html#a9acc4edc9b8f2a11a27fbcf5e93e2fe2">view</a>(), expiredCredentials, <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_variable" href="classripple_1_1ApplyContext.html#a6ec1f10e560afe30ed435c3f7eea715d">app</a>.<a class="code hl_function" href="classripple_1_1Application.html#a2897c28a5b5040e80e66f676d201d03f">journal</a>(<span class="stringliteral">"View"</span>));</div>
|
||||
<div class="line"><a id="l01307" name="l01307"></a><span class="lineno"> 1307</span> </div>
|
||||
<div class="line"><a id="l01308" name="l01308"></a><span class="lineno"> 1308</span> applied = <a class="code hl_function" href="namespaceripple.html#ae193bf65f233ba37c47a7a8fc49a26e4">isTecClaim</a>(result);</div>
|
||||
<div class="line"><a id="l01309" name="l01309"></a><span class="lineno"> 1309</span> }</div>
|
||||
<div class="line"><a id="l01310" name="l01310"></a><span class="lineno"> 1310</span> </div>
|
||||
<div class="line"><a id="l01311" name="l01311"></a><span class="lineno"> 1311</span> <span class="keywordflow">if</span> (applied)</div>
|
||||
<div class="line"><a id="l01312" name="l01312"></a><span class="lineno"> 1312</span> {</div>
|
||||
<div class="line"><a id="l01313" name="l01313"></a><span class="lineno"> 1313</span> <span class="comment">// Check invariants: if `tecINVARIANT_FAILED` is not returned, we can</span></div>
|
||||
<div class="line"><a id="l01314" name="l01314"></a><span class="lineno"> 1314</span> <span class="comment">// proceed to apply the tx</span></div>
|
||||
<div class="line"><a id="l01315" name="l01315"></a><span class="lineno"> 1315</span> result = <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_function" href="classripple_1_1ApplyContext.html#acf5f75ec76cec199781a945226834410">checkInvariants</a>(result, fee);</div>
|
||||
<div class="line"><a id="l01316" name="l01316"></a><span class="lineno"> 1316</span> </div>
|
||||
<div class="line"><a id="l01317" name="l01317"></a><span class="lineno"> 1317</span> <span class="keywordflow">if</span> (result == <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>)</div>
|
||||
<div class="line"><a id="l01318" name="l01318"></a><span class="lineno"> 1318</span> {</div>
|
||||
<div class="line"><a id="l01319" name="l01319"></a><span class="lineno"> 1319</span> <span class="comment">// if invariants checking failed again, reset the context and</span></div>
|
||||
<div class="line"><a id="l01320" name="l01320"></a><span class="lineno"> 1320</span> <span class="comment">// attempt to only claim a fee.</span></div>
|
||||
<div class="line"><a id="l01321" name="l01321"></a><span class="lineno"> 1321</span> <span class="keyword">auto</span> <span class="keyword">const</span> resetResult = <a class="code hl_function" href="classripple_1_1Transactor.html#af81f796422a3f66771e31a6ecbbbf57b">reset</a>(fee);</div>
|
||||
<div class="line"><a id="l01322" name="l01322"></a><span class="lineno"> 1322</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="namespaceripple.html#ab48d5d1c4e2695c12f705e9d85fa560d">isTesSuccess</a>(resetResult.first))</div>
|
||||
<div class="line"><a id="l01323" name="l01323"></a><span class="lineno"> 1323</span> result = resetResult.first;</div>
|
||||
<div class="line"><a id="l01324" name="l01324"></a><span class="lineno"> 1324</span> </div>
|
||||
<div class="line"><a id="l01325" name="l01325"></a><span class="lineno"> 1325</span> fee = resetResult.second;</div>
|
||||
<div class="line"><a id="l01173" name="l01173"></a><span class="lineno"> 1173</span> <span class="comment">// LCOV_EXCL_START</span></div>
|
||||
<div class="line"><a id="l01174" name="l01174"></a><span class="lineno"> 1174</span> JLOG(<a class="code hl_variable" href="classripple_1_1Transactor.html#ab84d1ef5275a1c6c63176c11d72d6235">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">fatal</a>()) << <span class="stringliteral">"Transaction serdes mismatch"</span>;</div>
|
||||
<div class="line"><a id="l01175" name="l01175"></a><span class="lineno"> 1175</span> JLOG(<a class="code hl_variable" href="classripple_1_1Transactor.html#ab84d1ef5275a1c6c63176c11d72d6235">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a87d6bd59020d94110027dcab3d9e3357">info</a>()) << <a class="code hl_function" href="namespaceripple.html#ac124fe6744b7fe887dec949b56b16d50">to_string</a>(<a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_variable" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>.<a class="code hl_function" href="classripple_1_1STTx.html#a489c8110e24455a2e7dac783f4760cc2">getJson</a>(<a class="code hl_enumvalue" href="structripple_1_1JsonOptions.html#ab85e43ec84df987200d3355c3ba89f0aa1917451e3686dfe8d5016670eb87ab33">JsonOptions::none</a>));</div>
|
||||
<div class="line"><a id="l01176" name="l01176"></a><span class="lineno"> 1176</span> JLOG(<a class="code hl_variable" href="classripple_1_1Transactor.html#ab84d1ef5275a1c6c63176c11d72d6235">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">fatal</a>()) << s2.<a class="code hl_function" href="classripple_1_1STTx.html#a489c8110e24455a2e7dac783f4760cc2">getJson</a>(<a class="code hl_enumvalue" href="structripple_1_1JsonOptions.html#ab85e43ec84df987200d3355c3ba89f0aa1917451e3686dfe8d5016670eb87ab33">JsonOptions::none</a>);</div>
|
||||
<div class="line"><a id="l01177" name="l01177"></a><span class="lineno"> 1177</span> UNREACHABLE(</div>
|
||||
<div class="line"><a id="l01178" name="l01178"></a><span class="lineno"> 1178</span> <span class="stringliteral">"ripple::Transactor::operator() : transaction serdes mismatch"</span>);</div>
|
||||
<div class="line"><a id="l01179" name="l01179"></a><span class="lineno"> 1179</span> <span class="comment">// LCOV_EXCL_STOP</span></div>
|
||||
<div class="line"><a id="l01180" name="l01180"></a><span class="lineno"> 1180</span> }</div>
|
||||
<div class="line"><a id="l01181" name="l01181"></a><span class="lineno"> 1181</span> }</div>
|
||||
<div class="line"><a id="l01182" name="l01182"></a><span class="lineno"> 1182</span><span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a id="l01183" name="l01183"></a><span class="lineno"> 1183</span> </div>
|
||||
<div class="line"><a id="l01184" name="l01184"></a><span class="lineno"> 1184</span> <span class="keywordflow">if</span> (<span class="keyword">auto</span> <span class="keyword">const</span>& trap = <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_variable" href="classripple_1_1ApplyContext.html#a6ec1f10e560afe30ed435c3f7eea715d">app</a>.<a class="code hl_function" href="classripple_1_1Application.html#a006577b8e45097a163d2a0eac4dbc19e">trapTxID</a>();</div>
|
||||
<div class="line"><a id="l01185" name="l01185"></a><span class="lineno"> 1185</span> trap && *trap == <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_variable" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>.<a class="code hl_function" href="classripple_1_1STTx.html#ad314af66e2542db537b3b5de291d33c3">getTransactionID</a>())</div>
|
||||
<div class="line"><a id="l01186" name="l01186"></a><span class="lineno"> 1186</span> {</div>
|
||||
<div class="line"><a id="l01187" name="l01187"></a><span class="lineno"> 1187</span> <a class="code hl_function" href="classripple_1_1Transactor.html#a5597401d095d153481ff61819fbb83dc">trapTransaction</a>(*trap);</div>
|
||||
<div class="line"><a id="l01188" name="l01188"></a><span class="lineno"> 1188</span> }</div>
|
||||
<div class="line"><a id="l01189" name="l01189"></a><span class="lineno"> 1189</span> </div>
|
||||
<div class="line"><a id="l01190" name="l01190"></a><span class="lineno"> 1190</span> <span class="keyword">auto</span> result = <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_variable" href="classripple_1_1ApplyContext.html#a110f980eedee306ab6d39f08e9532832">preclaimResult</a>;</div>
|
||||
<div class="line"><a id="l01191" name="l01191"></a><span class="lineno"> 1191</span> <span class="keywordflow">if</span> (result == <a class="code hl_enumvalue" href="namespaceripple.html#aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151">tesSUCCESS</a>)</div>
|
||||
<div class="line"><a id="l01192" name="l01192"></a><span class="lineno"> 1192</span> result = <a class="code hl_function" href="classripple_1_1Transactor.html#ac2faaa3bfd1c9b9f91ae24f367474d0f">apply</a>();</div>
|
||||
<div class="line"><a id="l01193" name="l01193"></a><span class="lineno"> 1193</span> </div>
|
||||
<div class="line"><a id="l01194" name="l01194"></a><span class="lineno"> 1194</span> <span class="comment">// No transaction can return temUNKNOWN from apply,</span></div>
|
||||
<div class="line"><a id="l01195" name="l01195"></a><span class="lineno"> 1195</span> <span class="comment">// and it can't be passed in from a preclaim.</span></div>
|
||||
<div class="line"><a id="l01196" name="l01196"></a><span class="lineno"> 1196</span> XRPL_ASSERT(</div>
|
||||
<div class="line"><a id="l01197" name="l01197"></a><span class="lineno"> 1197</span> result != <a class="code hl_enumvalue" href="namespaceripple.html#afe21c8454670d46fb93751a5edffed46a1dad6e2d630423dd67f4a540305f8b3c">temUNKNOWN</a>,</div>
|
||||
<div class="line"><a id="l01198" name="l01198"></a><span class="lineno"> 1198</span> <span class="stringliteral">"ripple::Transactor::operator() : result is not temUNKNOWN"</span>);</div>
|
||||
<div class="line"><a id="l01199" name="l01199"></a><span class="lineno"> 1199</span> </div>
|
||||
<div class="line"><a id="l01200" name="l01200"></a><span class="lineno"> 1200</span> <span class="keywordflow">if</span> (<span class="keyword">auto</span> stream = <a class="code hl_variable" href="classripple_1_1Transactor.html#ab84d1ef5275a1c6c63176c11d72d6235">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>())</div>
|
||||
<div class="line"><a id="l01201" name="l01201"></a><span class="lineno"> 1201</span> stream << <span class="stringliteral">"preclaim result: "</span> << <a class="code hl_function" href="namespaceripple.html#a875ae996b37ed036597d70628ae053e3">transToken</a>(result);</div>
|
||||
<div class="line"><a id="l01202" name="l01202"></a><span class="lineno"> 1202</span> </div>
|
||||
<div class="line"><a id="l01203" name="l01203"></a><span class="lineno"> 1203</span> <span class="keywordtype">bool</span> applied = <a class="code hl_function" href="namespaceripple.html#ab48d5d1c4e2695c12f705e9d85fa560d">isTesSuccess</a>(result);</div>
|
||||
<div class="line"><a id="l01204" name="l01204"></a><span class="lineno"> 1204</span> <span class="keyword">auto</span> fee = <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_variable" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>.<a class="code hl_function" href="classripple_1_1STObject.html#a8e207109e646759f4927d90e4404893f">getFieldAmount</a>(sfFee).<a class="code hl_function" href="classripple_1_1STAmount.html#a6c2ca92e9c91e2a34493d61e02d79ebf">xrp</a>();</div>
|
||||
<div class="line"><a id="l01205" name="l01205"></a><span class="lineno"> 1205</span> </div>
|
||||
<div class="line"><a id="l01206" name="l01206"></a><span class="lineno"> 1206</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_function" href="classripple_1_1ApplyContext.html#aaf553f68175966af2a29eafaf78e596e">size</a>() > <a class="code hl_variable" href="namespaceripple.html#a5680c439ff8f669653267ca5aad8b341">oversizeMetaDataCap</a>)</div>
|
||||
<div class="line"><a id="l01207" name="l01207"></a><span class="lineno"> 1207</span> result = <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caad531e9d2f46a3a6e6f01934097e7053">tecOVERSIZE</a>;</div>
|
||||
<div class="line"><a id="l01208" name="l01208"></a><span class="lineno"> 1208</span> </div>
|
||||
<div class="line"><a id="l01209" name="l01209"></a><span class="lineno"> 1209</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="namespaceripple.html#ae193bf65f233ba37c47a7a8fc49a26e4">isTecClaim</a>(result) && (<a class="code hl_function" href="classripple_1_1Transactor.html#a9acc4edc9b8f2a11a27fbcf5e93e2fe2">view</a>().flags() & <a class="code hl_enumvalue" href="namespaceripple.html#ad2487abbcc1a5d6064b72144b461df6ea72934cf56aa148d1f25bf08fe8922150">tapFAIL_HARD</a>))</div>
|
||||
<div class="line"><a id="l01210" name="l01210"></a><span class="lineno"> 1210</span> {</div>
|
||||
<div class="line"><a id="l01211" name="l01211"></a><span class="lineno"> 1211</span> <span class="comment">// If the tapFAIL_HARD flag is set, a tec result</span></div>
|
||||
<div class="line"><a id="l01212" name="l01212"></a><span class="lineno"> 1212</span> <span class="comment">// must not do anything</span></div>
|
||||
<div class="line"><a id="l01213" name="l01213"></a><span class="lineno"> 1213</span> <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_function" href="classripple_1_1ApplyContext.html#a5967451fa668bfc8b6e6bf763da92aa7">discard</a>();</div>
|
||||
<div class="line"><a id="l01214" name="l01214"></a><span class="lineno"> 1214</span> applied = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a id="l01215" name="l01215"></a><span class="lineno"> 1215</span> }</div>
|
||||
<div class="line"><a id="l01216" name="l01216"></a><span class="lineno"> 1216</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (</div>
|
||||
<div class="line"><a id="l01217" name="l01217"></a><span class="lineno"> 1217</span> (result == <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caad531e9d2f46a3a6e6f01934097e7053">tecOVERSIZE</a>) || (result == <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca82773cd87fbf942a9cb626416218f52b">tecKILLED</a>) ||</div>
|
||||
<div class="line"><a id="l01218" name="l01218"></a><span class="lineno"> 1218</span> (result == <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca576f5411ab4458ec9842480e7ebe7072">tecINCOMPLETE</a>) || (result == <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caede598f88bbd44e4df1c4e0d418c4cdc">tecEXPIRED</a>) ||</div>
|
||||
<div class="line"><a id="l01219" name="l01219"></a><span class="lineno"> 1219</span> (<a class="code hl_function" href="namespaceripple.html#aaad7838ce24fa0ffc4c6e388b18c86a4">isTecClaimHardFail</a>(result, <a class="code hl_function" href="classripple_1_1Transactor.html#a9acc4edc9b8f2a11a27fbcf5e93e2fe2">view</a>().flags())))</div>
|
||||
<div class="line"><a id="l01220" name="l01220"></a><span class="lineno"> 1220</span> {</div>
|
||||
<div class="line"><a id="l01221" name="l01221"></a><span class="lineno"> 1221</span> JLOG(<a class="code hl_variable" href="classripple_1_1Transactor.html#ab84d1ef5275a1c6c63176c11d72d6235">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>()) << <span class="stringliteral">"reapplying because of "</span> << <a class="code hl_function" href="namespaceripple.html#a875ae996b37ed036597d70628ae053e3">transToken</a>(result);</div>
|
||||
<div class="line"><a id="l01222" name="l01222"></a><span class="lineno"> 1222</span> </div>
|
||||
<div class="line"><a id="l01223" name="l01223"></a><span class="lineno"> 1223</span> <span class="comment">// FIXME: This mechanism for doing work while returning a `tec` is</span></div>
|
||||
<div class="line"><a id="l01224" name="l01224"></a><span class="lineno"> 1224</span> <span class="comment">// awkward and very limiting. A more general purpose approach</span></div>
|
||||
<div class="line"><a id="l01225" name="l01225"></a><span class="lineno"> 1225</span> <span class="comment">// should be used, making it possible to do more useful work</span></div>
|
||||
<div class="line"><a id="l01226" name="l01226"></a><span class="lineno"> 1226</span> <span class="comment">// when transactions fail with a `tec` code.</span></div>
|
||||
<div class="line"><a id="l01227" name="l01227"></a><span class="lineno"> 1227</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint256></a> removedOffers;</div>
|
||||
<div class="line"><a id="l01228" name="l01228"></a><span class="lineno"> 1228</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint256></a> removedTrustLines;</div>
|
||||
<div class="line"><a id="l01229" name="l01229"></a><span class="lineno"> 1229</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint256></a> expiredNFTokenOffers;</div>
|
||||
<div class="line"><a id="l01230" name="l01230"></a><span class="lineno"> 1230</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint256></a> expiredCredentials;</div>
|
||||
<div class="line"><a id="l01231" name="l01231"></a><span class="lineno"> 1231</span> </div>
|
||||
<div class="line"><a id="l01232" name="l01232"></a><span class="lineno"> 1232</span> <span class="keywordtype">bool</span> <span class="keyword">const</span> doOffers =</div>
|
||||
<div class="line"><a id="l01233" name="l01233"></a><span class="lineno"> 1233</span> ((result == <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caad531e9d2f46a3a6e6f01934097e7053">tecOVERSIZE</a>) || (result == <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca82773cd87fbf942a9cb626416218f52b">tecKILLED</a>));</div>
|
||||
<div class="line"><a id="l01234" name="l01234"></a><span class="lineno"> 1234</span> <span class="keywordtype">bool</span> <span class="keyword">const</span> doLines = (result == <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca576f5411ab4458ec9842480e7ebe7072">tecINCOMPLETE</a>);</div>
|
||||
<div class="line"><a id="l01235" name="l01235"></a><span class="lineno"> 1235</span> <span class="keywordtype">bool</span> <span class="keyword">const</span> doNFTokenOffers = (result == <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caede598f88bbd44e4df1c4e0d418c4cdc">tecEXPIRED</a>);</div>
|
||||
<div class="line"><a id="l01236" name="l01236"></a><span class="lineno"> 1236</span> <span class="keywordtype">bool</span> <span class="keyword">const</span> doCredentials = (result == <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caede598f88bbd44e4df1c4e0d418c4cdc">tecEXPIRED</a>);</div>
|
||||
<div class="line"><a id="l01237" name="l01237"></a><span class="lineno"> 1237</span> <span class="keywordflow">if</span> (doOffers || doLines || doNFTokenOffers || doCredentials)</div>
|
||||
<div class="line"><a id="l01238" name="l01238"></a><span class="lineno"> 1238</span> {</div>
|
||||
<div class="line"><a id="l01239" name="l01239"></a><span class="lineno"> 1239</span> <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_function" href="classripple_1_1ApplyContext.html#a04256a4e26ba636830cb0c6cf1c41bee">visit</a>([doOffers,</div>
|
||||
<div class="line"><a id="l01240" name="l01240"></a><span class="lineno"> 1240</span> &removedOffers,</div>
|
||||
<div class="line"><a id="l01241" name="l01241"></a><span class="lineno"> 1241</span> doLines,</div>
|
||||
<div class="line"><a id="l01242" name="l01242"></a><span class="lineno"> 1242</span> &removedTrustLines,</div>
|
||||
<div class="line"><a id="l01243" name="l01243"></a><span class="lineno"> 1243</span> doNFTokenOffers,</div>
|
||||
<div class="line"><a id="l01244" name="l01244"></a><span class="lineno"> 1244</span> &expiredNFTokenOffers,</div>
|
||||
<div class="line"><a id="l01245" name="l01245"></a><span class="lineno"> 1245</span> doCredentials,</div>
|
||||
<div class="line"><a id="l01246" name="l01246"></a><span class="lineno"> 1246</span> &expiredCredentials](</div>
|
||||
<div class="line"><a id="l01247" name="l01247"></a><span class="lineno"> 1247</span> <a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& index,</div>
|
||||
<div class="line"><a id="l01248" name="l01248"></a><span class="lineno"> 1248</span> <span class="keywordtype">bool</span> isDelete,</div>
|
||||
<div class="line"><a id="l01249" name="l01249"></a><span class="lineno"> 1249</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<SLE const></a> <span class="keyword">const</span>& before,</div>
|
||||
<div class="line"><a id="l01250" name="l01250"></a><span class="lineno"> 1250</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<SLE const></a> <span class="keyword">const</span>& <a class="code hl_function" href="namespaceripple.html#ac3e90afb749bb1f01e06729c7c860ba3">after</a>) {</div>
|
||||
<div class="line"><a id="l01251" name="l01251"></a><span class="lineno"> 1251</span> <span class="keywordflow">if</span> (isDelete)</div>
|
||||
<div class="line"><a id="l01252" name="l01252"></a><span class="lineno"> 1252</span> {</div>
|
||||
<div class="line"><a id="l01253" name="l01253"></a><span class="lineno"> 1253</span> XRPL_ASSERT(</div>
|
||||
<div class="line"><a id="l01254" name="l01254"></a><span class="lineno"> 1254</span> before && <a class="code hl_function" href="namespaceripple.html#ac3e90afb749bb1f01e06729c7c860ba3">after</a>,</div>
|
||||
<div class="line"><a id="l01255" name="l01255"></a><span class="lineno"> 1255</span> <span class="stringliteral">"ripple::Transactor::operator()::visit : non-null SLE "</span></div>
|
||||
<div class="line"><a id="l01256" name="l01256"></a><span class="lineno"> 1256</span> <span class="stringliteral">"inputs"</span>);</div>
|
||||
<div class="line"><a id="l01257" name="l01257"></a><span class="lineno"> 1257</span> <span class="keywordflow">if</span> (doOffers && before && <a class="code hl_function" href="namespaceripple.html#ac3e90afb749bb1f01e06729c7c860ba3">after</a> &&</div>
|
||||
<div class="line"><a id="l01258" name="l01258"></a><span class="lineno"> 1258</span> (before->getType() == ltOFFER) &&</div>
|
||||
<div class="line"><a id="l01259" name="l01259"></a><span class="lineno"> 1259</span> (before->getFieldAmount(sfTakerPays) ==</div>
|
||||
<div class="line"><a id="l01260" name="l01260"></a><span class="lineno"> 1260</span> <a class="code hl_function" href="namespaceripple.html#ac3e90afb749bb1f01e06729c7c860ba3">after</a>->getFieldAmount(sfTakerPays)))</div>
|
||||
<div class="line"><a id="l01261" name="l01261"></a><span class="lineno"> 1261</span> {</div>
|
||||
<div class="line"><a id="l01262" name="l01262"></a><span class="lineno"> 1262</span> <span class="comment">// Removal of offer found or made unfunded</span></div>
|
||||
<div class="line"><a id="l01263" name="l01263"></a><span class="lineno"> 1263</span> removedOffers.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(index);</div>
|
||||
<div class="line"><a id="l01264" name="l01264"></a><span class="lineno"> 1264</span> }</div>
|
||||
<div class="line"><a id="l01265" name="l01265"></a><span class="lineno"> 1265</span> </div>
|
||||
<div class="line"><a id="l01266" name="l01266"></a><span class="lineno"> 1266</span> <span class="keywordflow">if</span> (doLines && before && <a class="code hl_function" href="namespaceripple.html#ac3e90afb749bb1f01e06729c7c860ba3">after</a> &&</div>
|
||||
<div class="line"><a id="l01267" name="l01267"></a><span class="lineno"> 1267</span> (before->getType() == ltRIPPLE_STATE))</div>
|
||||
<div class="line"><a id="l01268" name="l01268"></a><span class="lineno"> 1268</span> {</div>
|
||||
<div class="line"><a id="l01269" name="l01269"></a><span class="lineno"> 1269</span> <span class="comment">// Removal of obsolete AMM trust line</span></div>
|
||||
<div class="line"><a id="l01270" name="l01270"></a><span class="lineno"> 1270</span> removedTrustLines.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(index);</div>
|
||||
<div class="line"><a id="l01271" name="l01271"></a><span class="lineno"> 1271</span> }</div>
|
||||
<div class="line"><a id="l01272" name="l01272"></a><span class="lineno"> 1272</span> </div>
|
||||
<div class="line"><a id="l01273" name="l01273"></a><span class="lineno"> 1273</span> <span class="keywordflow">if</span> (doNFTokenOffers && before && <a class="code hl_function" href="namespaceripple.html#ac3e90afb749bb1f01e06729c7c860ba3">after</a> &&</div>
|
||||
<div class="line"><a id="l01274" name="l01274"></a><span class="lineno"> 1274</span> (before->getType() == ltNFTOKEN_OFFER))</div>
|
||||
<div class="line"><a id="l01275" name="l01275"></a><span class="lineno"> 1275</span> expiredNFTokenOffers.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(index);</div>
|
||||
<div class="line"><a id="l01276" name="l01276"></a><span class="lineno"> 1276</span> </div>
|
||||
<div class="line"><a id="l01277" name="l01277"></a><span class="lineno"> 1277</span> <span class="keywordflow">if</span> (doCredentials && before && <a class="code hl_function" href="namespaceripple.html#ac3e90afb749bb1f01e06729c7c860ba3">after</a> &&</div>
|
||||
<div class="line"><a id="l01278" name="l01278"></a><span class="lineno"> 1278</span> (before->getType() == ltCREDENTIAL))</div>
|
||||
<div class="line"><a id="l01279" name="l01279"></a><span class="lineno"> 1279</span> expiredCredentials.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(index);</div>
|
||||
<div class="line"><a id="l01280" name="l01280"></a><span class="lineno"> 1280</span> }</div>
|
||||
<div class="line"><a id="l01281" name="l01281"></a><span class="lineno"> 1281</span> });</div>
|
||||
<div class="line"><a id="l01282" name="l01282"></a><span class="lineno"> 1282</span> }</div>
|
||||
<div class="line"><a id="l01283" name="l01283"></a><span class="lineno"> 1283</span> </div>
|
||||
<div class="line"><a id="l01284" name="l01284"></a><span class="lineno"> 1284</span> <span class="comment">// Reset the context, potentially adjusting the fee.</span></div>
|
||||
<div class="line"><a id="l01285" name="l01285"></a><span class="lineno"> 1285</span> {</div>
|
||||
<div class="line"><a id="l01286" name="l01286"></a><span class="lineno"> 1286</span> <span class="keyword">auto</span> <span class="keyword">const</span> resetResult = <a class="code hl_function" href="classripple_1_1Transactor.html#af81f796422a3f66771e31a6ecbbbf57b">reset</a>(fee);</div>
|
||||
<div class="line"><a id="l01287" name="l01287"></a><span class="lineno"> 1287</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="namespaceripple.html#ab48d5d1c4e2695c12f705e9d85fa560d">isTesSuccess</a>(resetResult.first))</div>
|
||||
<div class="line"><a id="l01288" name="l01288"></a><span class="lineno"> 1288</span> result = resetResult.first;</div>
|
||||
<div class="line"><a id="l01289" name="l01289"></a><span class="lineno"> 1289</span> </div>
|
||||
<div class="line"><a id="l01290" name="l01290"></a><span class="lineno"> 1290</span> fee = resetResult.second;</div>
|
||||
<div class="line"><a id="l01291" name="l01291"></a><span class="lineno"> 1291</span> }</div>
|
||||
<div class="line"><a id="l01292" name="l01292"></a><span class="lineno"> 1292</span> </div>
|
||||
<div class="line"><a id="l01293" name="l01293"></a><span class="lineno"> 1293</span> <span class="comment">// If necessary, remove any offers found unfunded during processing</span></div>
|
||||
<div class="line"><a id="l01294" name="l01294"></a><span class="lineno"> 1294</span> <span class="keywordflow">if</span> ((result == <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caad531e9d2f46a3a6e6f01934097e7053">tecOVERSIZE</a>) || (result == <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca82773cd87fbf942a9cb626416218f52b">tecKILLED</a>))</div>
|
||||
<div class="line"><a id="l01295" name="l01295"></a><span class="lineno"> 1295</span> <a class="code hl_function" href="namespaceripple.html#a6aab406eb9522bb36ba7247335e303ec">removeUnfundedOffers</a>(</div>
|
||||
<div class="line"><a id="l01296" name="l01296"></a><span class="lineno"> 1296</span> <a class="code hl_function" href="classripple_1_1Transactor.html#a9acc4edc9b8f2a11a27fbcf5e93e2fe2">view</a>(), removedOffers, <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_variable" href="classripple_1_1ApplyContext.html#a6ec1f10e560afe30ed435c3f7eea715d">app</a>.<a class="code hl_function" href="classripple_1_1Application.html#a2897c28a5b5040e80e66f676d201d03f">journal</a>(<span class="stringliteral">"View"</span>));</div>
|
||||
<div class="line"><a id="l01297" name="l01297"></a><span class="lineno"> 1297</span> </div>
|
||||
<div class="line"><a id="l01298" name="l01298"></a><span class="lineno"> 1298</span> <span class="keywordflow">if</span> (result == <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caede598f88bbd44e4df1c4e0d418c4cdc">tecEXPIRED</a>)</div>
|
||||
<div class="line"><a id="l01299" name="l01299"></a><span class="lineno"> 1299</span> <a class="code hl_function" href="namespaceripple.html#a8ba581584f364d79f3b5020b6a2c66da">removeExpiredNFTokenOffers</a>(</div>
|
||||
<div class="line"><a id="l01300" name="l01300"></a><span class="lineno"> 1300</span> <a class="code hl_function" href="classripple_1_1Transactor.html#a9acc4edc9b8f2a11a27fbcf5e93e2fe2">view</a>(), expiredNFTokenOffers, <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_variable" href="classripple_1_1ApplyContext.html#a6ec1f10e560afe30ed435c3f7eea715d">app</a>.<a class="code hl_function" href="classripple_1_1Application.html#a2897c28a5b5040e80e66f676d201d03f">journal</a>(<span class="stringliteral">"View"</span>));</div>
|
||||
<div class="line"><a id="l01301" name="l01301"></a><span class="lineno"> 1301</span> </div>
|
||||
<div class="line"><a id="l01302" name="l01302"></a><span class="lineno"> 1302</span> <span class="keywordflow">if</span> (result == <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca576f5411ab4458ec9842480e7ebe7072">tecINCOMPLETE</a>)</div>
|
||||
<div class="line"><a id="l01303" name="l01303"></a><span class="lineno"> 1303</span> <a class="code hl_function" href="namespaceripple.html#ac3e50b84e446c9a994a53e3cba303c65">removeDeletedTrustLines</a>(</div>
|
||||
<div class="line"><a id="l01304" name="l01304"></a><span class="lineno"> 1304</span> <a class="code hl_function" href="classripple_1_1Transactor.html#a9acc4edc9b8f2a11a27fbcf5e93e2fe2">view</a>(), removedTrustLines, <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_variable" href="classripple_1_1ApplyContext.html#a6ec1f10e560afe30ed435c3f7eea715d">app</a>.<a class="code hl_function" href="classripple_1_1Application.html#a2897c28a5b5040e80e66f676d201d03f">journal</a>(<span class="stringliteral">"View"</span>));</div>
|
||||
<div class="line"><a id="l01305" name="l01305"></a><span class="lineno"> 1305</span> </div>
|
||||
<div class="line"><a id="l01306" name="l01306"></a><span class="lineno"> 1306</span> <span class="keywordflow">if</span> (result == <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caede598f88bbd44e4df1c4e0d418c4cdc">tecEXPIRED</a>)</div>
|
||||
<div class="line"><a id="l01307" name="l01307"></a><span class="lineno"> 1307</span> <a class="code hl_function" href="namespaceripple.html#a84b29199ee335915baaf15ab781d8efa">removeExpiredCredentials</a>(</div>
|
||||
<div class="line"><a id="l01308" name="l01308"></a><span class="lineno"> 1308</span> <a class="code hl_function" href="classripple_1_1Transactor.html#a9acc4edc9b8f2a11a27fbcf5e93e2fe2">view</a>(), expiredCredentials, <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_variable" href="classripple_1_1ApplyContext.html#a6ec1f10e560afe30ed435c3f7eea715d">app</a>.<a class="code hl_function" href="classripple_1_1Application.html#a2897c28a5b5040e80e66f676d201d03f">journal</a>(<span class="stringliteral">"View"</span>));</div>
|
||||
<div class="line"><a id="l01309" name="l01309"></a><span class="lineno"> 1309</span> </div>
|
||||
<div class="line"><a id="l01310" name="l01310"></a><span class="lineno"> 1310</span> applied = <a class="code hl_function" href="namespaceripple.html#ae193bf65f233ba37c47a7a8fc49a26e4">isTecClaim</a>(result);</div>
|
||||
<div class="line"><a id="l01311" name="l01311"></a><span class="lineno"> 1311</span> }</div>
|
||||
<div class="line"><a id="l01312" name="l01312"></a><span class="lineno"> 1312</span> </div>
|
||||
<div class="line"><a id="l01313" name="l01313"></a><span class="lineno"> 1313</span> <span class="keywordflow">if</span> (applied)</div>
|
||||
<div class="line"><a id="l01314" name="l01314"></a><span class="lineno"> 1314</span> {</div>
|
||||
<div class="line"><a id="l01315" name="l01315"></a><span class="lineno"> 1315</span> <span class="comment">// Check invariants: if `tecINVARIANT_FAILED` is not returned, we can</span></div>
|
||||
<div class="line"><a id="l01316" name="l01316"></a><span class="lineno"> 1316</span> <span class="comment">// proceed to apply the tx</span></div>
|
||||
<div class="line"><a id="l01317" name="l01317"></a><span class="lineno"> 1317</span> result = <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_function" href="classripple_1_1ApplyContext.html#acf5f75ec76cec199781a945226834410">checkInvariants</a>(result, fee);</div>
|
||||
<div class="line"><a id="l01318" name="l01318"></a><span class="lineno"> 1318</span> </div>
|
||||
<div class="line"><a id="l01319" name="l01319"></a><span class="lineno"> 1319</span> <span class="keywordflow">if</span> (result == <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>)</div>
|
||||
<div class="line"><a id="l01320" name="l01320"></a><span class="lineno"> 1320</span> {</div>
|
||||
<div class="line"><a id="l01321" name="l01321"></a><span class="lineno"> 1321</span> <span class="comment">// if invariants checking failed again, reset the context and</span></div>
|
||||
<div class="line"><a id="l01322" name="l01322"></a><span class="lineno"> 1322</span> <span class="comment">// attempt to only claim a fee.</span></div>
|
||||
<div class="line"><a id="l01323" name="l01323"></a><span class="lineno"> 1323</span> <span class="keyword">auto</span> <span class="keyword">const</span> resetResult = <a class="code hl_function" href="classripple_1_1Transactor.html#af81f796422a3f66771e31a6ecbbbf57b">reset</a>(fee);</div>
|
||||
<div class="line"><a id="l01324" name="l01324"></a><span class="lineno"> 1324</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="namespaceripple.html#ab48d5d1c4e2695c12f705e9d85fa560d">isTesSuccess</a>(resetResult.first))</div>
|
||||
<div class="line"><a id="l01325" name="l01325"></a><span class="lineno"> 1325</span> result = resetResult.first;</div>
|
||||
<div class="line"><a id="l01326" name="l01326"></a><span class="lineno"> 1326</span> </div>
|
||||
<div class="line"><a id="l01327" name="l01327"></a><span class="lineno"> 1327</span> <span class="comment">// Check invariants again to ensure the fee claiming doesn't</span></div>
|
||||
<div class="line"><a id="l01328" name="l01328"></a><span class="lineno"> 1328</span> <span class="comment">// violate invariants.</span></div>
|
||||
<div class="line"><a id="l01329" name="l01329"></a><span class="lineno"> 1329</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="namespaceripple.html#ab48d5d1c4e2695c12f705e9d85fa560d">isTesSuccess</a>(result) || <a class="code hl_function" href="namespaceripple.html#ae193bf65f233ba37c47a7a8fc49a26e4">isTecClaim</a>(result))</div>
|
||||
<div class="line"><a id="l01330" name="l01330"></a><span class="lineno"> 1330</span> result = <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_function" href="classripple_1_1ApplyContext.html#acf5f75ec76cec199781a945226834410">checkInvariants</a>(result, fee);</div>
|
||||
<div class="line"><a id="l01331" name="l01331"></a><span class="lineno"> 1331</span> }</div>
|
||||
<div class="line"><a id="l01332" name="l01332"></a><span class="lineno"> 1332</span> </div>
|
||||
<div class="line"><a id="l01333" name="l01333"></a><span class="lineno"> 1333</span> <span class="comment">// We ran through the invariant checker, which can, in some cases,</span></div>
|
||||
<div class="line"><a id="l01334" name="l01334"></a><span class="lineno"> 1334</span> <span class="comment">// return a tef error code. Don't apply the transaction in that case.</span></div>
|
||||
<div class="line"><a id="l01335" name="l01335"></a><span class="lineno"> 1335</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="namespaceripple.html#ae193bf65f233ba37c47a7a8fc49a26e4">isTecClaim</a>(result) && !<a class="code hl_function" href="namespaceripple.html#ab48d5d1c4e2695c12f705e9d85fa560d">isTesSuccess</a>(result))</div>
|
||||
<div class="line"><a id="l01336" name="l01336"></a><span class="lineno"> 1336</span> applied = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a id="l01337" name="l01337"></a><span class="lineno"> 1337</span> }</div>
|
||||
<div class="line"><a id="l01338" name="l01338"></a><span class="lineno"> 1338</span> </div>
|
||||
<div class="line"><a id="l01339" name="l01339"></a><span class="lineno"> 1339</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional<TxMeta></a> metadata;</div>
|
||||
<div class="line"><a id="l01340" name="l01340"></a><span class="lineno"> 1340</span> <span class="keywordflow">if</span> (applied)</div>
|
||||
<div class="line"><a id="l01341" name="l01341"></a><span class="lineno"> 1341</span> {</div>
|
||||
<div class="line"><a id="l01342" name="l01342"></a><span class="lineno"> 1342</span> <span class="comment">// Transaction succeeded fully or (retries are not allowed and the</span></div>
|
||||
<div class="line"><a id="l01343" name="l01343"></a><span class="lineno"> 1343</span> <span class="comment">// transaction could claim a fee)</span></div>
|
||||
<div class="line"><a id="l01344" name="l01344"></a><span class="lineno"> 1344</span> </div>
|
||||
<div class="line"><a id="l01345" name="l01345"></a><span class="lineno"> 1345</span> <span class="comment">// The transactor and invariant checkers guarantee that this will</span></div>
|
||||
<div class="line"><a id="l01346" name="l01346"></a><span class="lineno"> 1346</span> <span class="comment">// *never* trigger but if it, somehow, happens, don't allow a tx</span></div>
|
||||
<div class="line"><a id="l01347" name="l01347"></a><span class="lineno"> 1347</span> <span class="comment">// that charges a negative fee.</span></div>
|
||||
<div class="line"><a id="l01348" name="l01348"></a><span class="lineno"> 1348</span> <span class="keywordflow">if</span> (fee < beast::zero)</div>
|
||||
<div class="line"><a id="l01349" name="l01349"></a><span class="lineno"> 1349</span> Throw<std::logic_error>(<span class="stringliteral">"fee charged is negative!"</span>);</div>
|
||||
<div class="line"><a id="l01350" name="l01350"></a><span class="lineno"> 1350</span> </div>
|
||||
<div class="line"><a id="l01351" name="l01351"></a><span class="lineno"> 1351</span> <span class="comment">// Charge whatever fee they specified. The fee has already been</span></div>
|
||||
<div class="line"><a id="l01352" name="l01352"></a><span class="lineno"> 1352</span> <span class="comment">// deducted from the balance of the account that issued the</span></div>
|
||||
<div class="line"><a id="l01353" name="l01353"></a><span class="lineno"> 1353</span> <span class="comment">// transaction. We just need to account for it in the ledger</span></div>
|
||||
<div class="line"><a id="l01354" name="l01354"></a><span class="lineno"> 1354</span> <span class="comment">// header.</span></div>
|
||||
<div class="line"><a id="l01355" name="l01355"></a><span class="lineno"> 1355</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="classripple_1_1Transactor.html#a9acc4edc9b8f2a11a27fbcf5e93e2fe2">view</a>().<a class="code hl_enumvalue" href="namespaceripple.html#a77adb10ef53a2e25195ccd38b46bfe9ba7cef8a734855777c2a9d0caf42666e69">open</a>() && fee != beast::zero)</div>
|
||||
<div class="line"><a id="l01356" name="l01356"></a><span class="lineno"> 1356</span> <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_function" href="classripple_1_1ApplyContext.html#a6dd28e2ef7cc9935403cbe303ebb5011">destroyXRP</a>(fee);</div>
|
||||
<div class="line"><a id="l01357" name="l01357"></a><span class="lineno"> 1357</span> </div>
|
||||
<div class="line"><a id="l01358" name="l01358"></a><span class="lineno"> 1358</span> <span class="comment">// Once we call apply, we will no longer be able to look at view()</span></div>
|
||||
<div class="line"><a id="l01359" name="l01359"></a><span class="lineno"> 1359</span> metadata = <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_function" href="classripple_1_1ApplyContext.html#a2dc715eb28bf35611c931d4a84de4028">apply</a>(result);</div>
|
||||
<div class="line"><a id="l01360" name="l01360"></a><span class="lineno"> 1360</span> }</div>
|
||||
<div class="line"><a id="l01361" name="l01361"></a><span class="lineno"> 1361</span> </div>
|
||||
<div class="line"><a id="l01362" name="l01362"></a><span class="lineno"> 1362</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_function" href="classripple_1_1ApplyContext.html#a530bda334e7e5d4463f0f4acc05c1f32">flags</a>() & <a class="code hl_enumvalue" href="namespaceripple.html#ad2487abbcc1a5d6064b72144b461df6eae1e50802d5dd4edba9c41f3589086a03">tapDRY_RUN</a>)</div>
|
||||
<div class="line"><a id="l01363" name="l01363"></a><span class="lineno"> 1363</span> {</div>
|
||||
<div class="line"><a id="l01364" name="l01364"></a><span class="lineno"> 1364</span> applied = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a id="l01365" name="l01365"></a><span class="lineno"> 1365</span> }</div>
|
||||
<div class="line"><a id="l01366" name="l01366"></a><span class="lineno"> 1366</span> </div>
|
||||
<div class="line"><a id="l01367" name="l01367"></a><span class="lineno"> 1367</span> JLOG(<a class="code hl_variable" href="classripple_1_1Transactor.html#ab84d1ef5275a1c6c63176c11d72d6235">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>()) << (applied ? <span class="stringliteral">"applied "</span> : <span class="stringliteral">"not applied "</span>)</div>
|
||||
<div class="line"><a id="l01368" name="l01368"></a><span class="lineno"> 1368</span> << <a class="code hl_function" href="namespaceripple.html#a875ae996b37ed036597d70628ae053e3">transToken</a>(result);</div>
|
||||
<div class="line"><a id="l01369" name="l01369"></a><span class="lineno"> 1369</span> </div>
|
||||
<div class="line"><a id="l01370" name="l01370"></a><span class="lineno"> 1370</span> <span class="keywordflow">return</span> {result, applied, metadata};</div>
|
||||
<div class="line"><a id="l01371" name="l01371"></a><span class="lineno"> 1371</span>}</div>
|
||||
<div class="line"><a id="l01327" name="l01327"></a><span class="lineno"> 1327</span> fee = resetResult.second;</div>
|
||||
<div class="line"><a id="l01328" name="l01328"></a><span class="lineno"> 1328</span> </div>
|
||||
<div class="line"><a id="l01329" name="l01329"></a><span class="lineno"> 1329</span> <span class="comment">// Check invariants again to ensure the fee claiming doesn't</span></div>
|
||||
<div class="line"><a id="l01330" name="l01330"></a><span class="lineno"> 1330</span> <span class="comment">// violate invariants.</span></div>
|
||||
<div class="line"><a id="l01331" name="l01331"></a><span class="lineno"> 1331</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="namespaceripple.html#ab48d5d1c4e2695c12f705e9d85fa560d">isTesSuccess</a>(result) || <a class="code hl_function" href="namespaceripple.html#ae193bf65f233ba37c47a7a8fc49a26e4">isTecClaim</a>(result))</div>
|
||||
<div class="line"><a id="l01332" name="l01332"></a><span class="lineno"> 1332</span> result = <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_function" href="classripple_1_1ApplyContext.html#acf5f75ec76cec199781a945226834410">checkInvariants</a>(result, fee);</div>
|
||||
<div class="line"><a id="l01333" name="l01333"></a><span class="lineno"> 1333</span> }</div>
|
||||
<div class="line"><a id="l01334" name="l01334"></a><span class="lineno"> 1334</span> </div>
|
||||
<div class="line"><a id="l01335" name="l01335"></a><span class="lineno"> 1335</span> <span class="comment">// We ran through the invariant checker, which can, in some cases,</span></div>
|
||||
<div class="line"><a id="l01336" name="l01336"></a><span class="lineno"> 1336</span> <span class="comment">// return a tef error code. Don't apply the transaction in that case.</span></div>
|
||||
<div class="line"><a id="l01337" name="l01337"></a><span class="lineno"> 1337</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="namespaceripple.html#ae193bf65f233ba37c47a7a8fc49a26e4">isTecClaim</a>(result) && !<a class="code hl_function" href="namespaceripple.html#ab48d5d1c4e2695c12f705e9d85fa560d">isTesSuccess</a>(result))</div>
|
||||
<div class="line"><a id="l01338" name="l01338"></a><span class="lineno"> 1338</span> applied = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a id="l01339" name="l01339"></a><span class="lineno"> 1339</span> }</div>
|
||||
<div class="line"><a id="l01340" name="l01340"></a><span class="lineno"> 1340</span> </div>
|
||||
<div class="line"><a id="l01341" name="l01341"></a><span class="lineno"> 1341</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional<TxMeta></a> metadata;</div>
|
||||
<div class="line"><a id="l01342" name="l01342"></a><span class="lineno"> 1342</span> <span class="keywordflow">if</span> (applied)</div>
|
||||
<div class="line"><a id="l01343" name="l01343"></a><span class="lineno"> 1343</span> {</div>
|
||||
<div class="line"><a id="l01344" name="l01344"></a><span class="lineno"> 1344</span> <span class="comment">// Transaction succeeded fully or (retries are not allowed and the</span></div>
|
||||
<div class="line"><a id="l01345" name="l01345"></a><span class="lineno"> 1345</span> <span class="comment">// transaction could claim a fee)</span></div>
|
||||
<div class="line"><a id="l01346" name="l01346"></a><span class="lineno"> 1346</span> </div>
|
||||
<div class="line"><a id="l01347" name="l01347"></a><span class="lineno"> 1347</span> <span class="comment">// The transactor and invariant checkers guarantee that this will</span></div>
|
||||
<div class="line"><a id="l01348" name="l01348"></a><span class="lineno"> 1348</span> <span class="comment">// *never* trigger but if it, somehow, happens, don't allow a tx</span></div>
|
||||
<div class="line"><a id="l01349" name="l01349"></a><span class="lineno"> 1349</span> <span class="comment">// that charges a negative fee.</span></div>
|
||||
<div class="line"><a id="l01350" name="l01350"></a><span class="lineno"> 1350</span> <span class="keywordflow">if</span> (fee < beast::zero)</div>
|
||||
<div class="line"><a id="l01351" name="l01351"></a><span class="lineno"> 1351</span> Throw<std::logic_error>(<span class="stringliteral">"fee charged is negative!"</span>);</div>
|
||||
<div class="line"><a id="l01352" name="l01352"></a><span class="lineno"> 1352</span> </div>
|
||||
<div class="line"><a id="l01353" name="l01353"></a><span class="lineno"> 1353</span> <span class="comment">// Charge whatever fee they specified. The fee has already been</span></div>
|
||||
<div class="line"><a id="l01354" name="l01354"></a><span class="lineno"> 1354</span> <span class="comment">// deducted from the balance of the account that issued the</span></div>
|
||||
<div class="line"><a id="l01355" name="l01355"></a><span class="lineno"> 1355</span> <span class="comment">// transaction. We just need to account for it in the ledger</span></div>
|
||||
<div class="line"><a id="l01356" name="l01356"></a><span class="lineno"> 1356</span> <span class="comment">// header.</span></div>
|
||||
<div class="line"><a id="l01357" name="l01357"></a><span class="lineno"> 1357</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="classripple_1_1Transactor.html#a9acc4edc9b8f2a11a27fbcf5e93e2fe2">view</a>().<a class="code hl_enumvalue" href="namespaceripple.html#a77adb10ef53a2e25195ccd38b46bfe9ba7cef8a734855777c2a9d0caf42666e69">open</a>() && fee != beast::zero)</div>
|
||||
<div class="line"><a id="l01358" name="l01358"></a><span class="lineno"> 1358</span> <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_function" href="classripple_1_1ApplyContext.html#a6dd28e2ef7cc9935403cbe303ebb5011">destroyXRP</a>(fee);</div>
|
||||
<div class="line"><a id="l01359" name="l01359"></a><span class="lineno"> 1359</span> </div>
|
||||
<div class="line"><a id="l01360" name="l01360"></a><span class="lineno"> 1360</span> <span class="comment">// Once we call apply, we will no longer be able to look at view()</span></div>
|
||||
<div class="line"><a id="l01361" name="l01361"></a><span class="lineno"> 1361</span> metadata = <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_function" href="classripple_1_1ApplyContext.html#a2dc715eb28bf35611c931d4a84de4028">apply</a>(result);</div>
|
||||
<div class="line"><a id="l01362" name="l01362"></a><span class="lineno"> 1362</span> }</div>
|
||||
<div class="line"><a id="l01363" name="l01363"></a><span class="lineno"> 1363</span> </div>
|
||||
<div class="line"><a id="l01364" name="l01364"></a><span class="lineno"> 1364</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_function" href="classripple_1_1ApplyContext.html#a530bda334e7e5d4463f0f4acc05c1f32">flags</a>() & <a class="code hl_enumvalue" href="namespaceripple.html#ad2487abbcc1a5d6064b72144b461df6eae1e50802d5dd4edba9c41f3589086a03">tapDRY_RUN</a>)</div>
|
||||
<div class="line"><a id="l01365" name="l01365"></a><span class="lineno"> 1365</span> {</div>
|
||||
<div class="line"><a id="l01366" name="l01366"></a><span class="lineno"> 1366</span> applied = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a id="l01367" name="l01367"></a><span class="lineno"> 1367</span> }</div>
|
||||
<div class="line"><a id="l01368" name="l01368"></a><span class="lineno"> 1368</span> </div>
|
||||
<div class="line"><a id="l01369" name="l01369"></a><span class="lineno"> 1369</span> JLOG(<a class="code hl_variable" href="classripple_1_1Transactor.html#ab84d1ef5275a1c6c63176c11d72d6235">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>()) << (applied ? <span class="stringliteral">"applied "</span> : <span class="stringliteral">"not applied "</span>)</div>
|
||||
<div class="line"><a id="l01370" name="l01370"></a><span class="lineno"> 1370</span> << <a class="code hl_function" href="namespaceripple.html#a875ae996b37ed036597d70628ae053e3">transToken</a>(result);</div>
|
||||
<div class="line"><a id="l01371" name="l01371"></a><span class="lineno"> 1371</span> </div>
|
||||
<div class="line"><a id="l01372" name="l01372"></a><span class="lineno"> 1372</span> <span class="keywordflow">return</span> {result, applied, metadata};</div>
|
||||
<div class="line"><a id="l01373" name="l01373"></a><span class="lineno"> 1373</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l01372" name="l01372"></a><span class="lineno"> 1372</span> </div>
|
||||
<div class="line"><a id="l01373" name="l01373"></a><span class="lineno"> 1373</span>} <span class="comment">// namespace ripple</span></div>
|
||||
<div class="line"><a id="l01374" name="l01374"></a><span class="lineno"> 1374</span> </div>
|
||||
<div class="line"><a id="l01375" name="l01375"></a><span class="lineno"> 1375</span>} <span class="comment">// namespace ripple</span></div>
|
||||
<div class="ttc" id="aclassbeast_1_1Journal_html"><div class="ttname"><a href="classbeast_1_1Journal.html">beast::Journal</a></div><div class="ttdoc">A generic endpoint for log messages.</div><div class="ttdef"><b>Definition</b> <a href="Journal_8h_source.html#l00059">Journal.h:60</a></div></div>
|
||||
<div class="ttc" id="aclassbeast_1_1Journal_html_a3dfb8e2e3eecccdb5cf78ff21bca069c"><div class="ttname"><a href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">beast::Journal::fatal</a></div><div class="ttdeci">Stream fatal() const</div><div class="ttdef"><b>Definition</b> <a href="Journal_8h_source.html#l00352">Journal.h:352</a></div></div>
|
||||
<div class="ttc" id="aclassbeast_1_1Journal_html_a49b0713e65bb8e2c51b76fbf16252afe"><div class="ttname"><a href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">beast::Journal::error</a></div><div class="ttdeci">Stream error() const</div><div class="ttdef"><b>Definition</b> <a href="Journal_8h_source.html#l00346">Journal.h:346</a></div></div>
|
||||
@@ -1534,7 +1536,7 @@ $(document).ready(function() { init_codefold(0); });
|
||||
<div class="ttc" id="aclassripple_1_1ApplyContext_html_acf5f75ec76cec199781a945226834410"><div class="ttname"><a href="classripple_1_1ApplyContext.html#acf5f75ec76cec199781a945226834410">ripple::ApplyContext::checkInvariants</a></div><div class="ttdeci">TER checkInvariants(TER const result, XRPAmount const fee)</div><div class="ttdoc">Applies all invariant checkers one by one.</div><div class="ttdef"><b>Definition</b> <a href="ApplyContext_8cpp_source.html#l00151">ApplyContext.cpp:151</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplyView_html"><div class="ttname"><a href="classripple_1_1ApplyView.html">ripple::ApplyView</a></div><div class="ttdoc">Writeable view to a ledger, for applying a transaction.</div><div class="ttdef"><b>Definition</b> <a href="ApplyView_8h_source.html#l00142">ApplyView.h:143</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplyView_html_a542437b9b59a623e755979acdc075af5"><div class="ttname"><a href="classripple_1_1ApplyView.html#a542437b9b59a623e755979acdc075af5">ripple::ApplyView::update</a></div><div class="ttdeci">virtual void update(std::shared_ptr< SLE > const &sle)=0</div><div class="ttdoc">Indicate changes to a peeked SLE.</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplyView_html_a5a06441ef4fdb9b7f6e51437ce4a959f"><div class="ttname"><a href="classripple_1_1ApplyView.html#a5a06441ef4fdb9b7f6e51437ce4a959f">ripple::ApplyView::dirRemove</a></div><div class="ttdeci">bool dirRemove(Keylet const &directory, std::uint64_t page, uint256 const &key, bool keepRoot)</div><div class="ttdoc">Remove an entry from a directory.</div><div class="ttdef"><b>Definition</b> <a href="ApplyView_8cpp_source.html#l00189">ApplyView.cpp:189</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplyView_html_a5a06441ef4fdb9b7f6e51437ce4a959f"><div class="ttname"><a href="classripple_1_1ApplyView.html#a5a06441ef4fdb9b7f6e51437ce4a959f">ripple::ApplyView::dirRemove</a></div><div class="ttdeci">bool dirRemove(Keylet const &directory, std::uint64_t page, uint256 const &key, bool keepRoot)</div><div class="ttdoc">Remove an entry from a directory.</div><div class="ttdef"><b>Definition</b> <a href="ApplyView_8cpp_source.html#l00191">ApplyView.cpp:191</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplyView_html_afa666aaa8eb0080d96f910f8a719291d"><div class="ttname"><a href="classripple_1_1ApplyView.html#afa666aaa8eb0080d96f910f8a719291d">ripple::ApplyView::peek</a></div><div class="ttdeci">virtual std::shared_ptr< SLE > peek(Keylet const &k)=0</div><div class="ttdoc">Prepare to modify the SLE associated with key.</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplyView_html_afda9c12acbda605becf20f54d45587d4"><div class="ttname"><a href="classripple_1_1ApplyView.html#afda9c12acbda605becf20f54d45587d4">ripple::ApplyView::erase</a></div><div class="ttdeci">virtual void erase(std::shared_ptr< SLE > const &sle)=0</div><div class="ttdoc">Remove a peeked SLE.</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Config_html_a11b953ea00abeec2a4a0428cd1efcb7e"><div class="ttname"><a href="classripple_1_1Config.html#a11b953ea00abeec2a4a0428cd1efcb7e">ripple::Config::NETWORK_ID</a></div><div class="ttdeci">uint32_t NETWORK_ID</div><div class="ttdef"><b>Definition</b> <a href="Config_8h_source.html#l00156">Config.h:156</a></div></div>
|
||||
@@ -1646,7 +1648,7 @@ $(document).ready(function() { init_codefold(0); });
|
||||
<div class="ttc" id="anamespaceripple_html_a2ec27d00ce38a9962f60eaacbc0f0bf1"><div class="ttname"><a href="namespaceripple.html#a2ec27d00ce38a9962f60eaacbc0f0bf1">ripple::unfundedOfferRemoveLimit</a></div><div class="ttdeci">std::size_t constexpr unfundedOfferRemoveLimit</div><div class="ttdoc">The maximum number of unfunded offers to delete at once.</div><div class="ttdef"><b>Definition</b> <a href="Protocol_8h_source.html#l00047">Protocol.h:47</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a44ef1894259db001cbfaab1f484204fd"><div class="ttname"><a href="namespaceripple.html#a44ef1894259db001cbfaab1f484204fd">ripple::expiredOfferRemoveLimit</a></div><div class="ttdeci">std::size_t constexpr expiredOfferRemoveLimit</div><div class="ttdoc">The maximum number of expired offers to delete at once.</div><div class="ttdef"><b>Definition</b> <a href="Protocol_8h_source.html#l00050">Protocol.h:50</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a4a9c7b33fef9015d6406302ef80b63c5a74277ce2a45a0b253c18a4aa3c57b7c7"><div class="ttname"><a href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5a74277ce2a45a0b253c18a4aa3c57b7c7">ripple::lsfDisableMaster</a></div><div class="ttdeci">@ lsfDisableMaster</div><div class="ttdef"><b>Definition</b> <a href="LedgerFormats_8h_source.html#l00131">LedgerFormats.h:131</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a4e760dff6bf16c74e7ffd43b240718b0"><div class="ttname"><a href="namespaceripple.html#a4e760dff6bf16c74e7ffd43b240718b0">ripple::adjustOwnerCount</a></div><div class="ttdeci">void adjustOwnerCount(ApplyView &view, std::shared_ptr< SLE > const &sle, std::int32_t amount, beast::Journal j)</div><div class="ttdoc">Adjust the owner count up or down.</div><div class="ttdef"><b>Definition</b> <a href="View_8cpp_source.html#l01029">View.cpp:1029</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a4e760dff6bf16c74e7ffd43b240718b0"><div class="ttname"><a href="namespaceripple.html#a4e760dff6bf16c74e7ffd43b240718b0">ripple::adjustOwnerCount</a></div><div class="ttdeci">void adjustOwnerCount(ApplyView &view, std::shared_ptr< SLE > const &sle, std::int32_t amount, beast::Journal j)</div><div class="ttdoc">Adjust the owner count up or down.</div><div class="ttdef"><b>Definition</b> <a href="View_8cpp_source.html#l01032">View.cpp:1032</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a5680c439ff8f669653267ca5aad8b341"><div class="ttname"><a href="namespaceripple.html#a5680c439ff8f669653267ca5aad8b341">ripple::oversizeMetaDataCap</a></div><div class="ttdeci">std::size_t constexpr oversizeMetaDataCap</div><div class="ttdoc">The maximum number of metadata entries allowed in one transaction.</div><div class="ttdef"><b>Definition</b> <a href="Protocol_8h_source.html#l00053">Protocol.h:53</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a614d8681c8dff84ac2257939751987c5"><div class="ttname"><a href="namespaceripple.html#a614d8681c8dff84ac2257939751987c5">ripple::calcAccountID</a></div><div class="ttdeci">AccountID calcAccountID(PublicKey const &pk)</div><div class="ttdef"><b>Definition</b> <a href="AccountID_8cpp_source.html#l00168">AccountID.cpp:168</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a6aab406eb9522bb36ba7247335e303ec"><div class="ttname"><a href="namespaceripple.html#a6aab406eb9522bb36ba7247335e303ec">ripple::removeUnfundedOffers</a></div><div class="ttdeci">static void removeUnfundedOffers(ApplyView &view, std::vector< uint256 > const &offers, beast::Journal viewJ)</div><div class="ttdef"><b>Definition</b> <a href="Transactor_8cpp_source.html#l01009">Transactor.cpp:1009</a></div></div>
|
||||
@@ -1684,10 +1686,10 @@ $(document).ready(function() { init_codefold(0); });
|
||||
<div class="ttc" id="anamespaceripple_html_abcad59b0151763334cc398263373bcdda1e2ba91f36984d755d5edb5bf58ae60c"><div class="ttname"><a href="namespaceripple.html#abcad59b0151763334cc398263373bcdda1e2ba91f36984d755d5edb5bf58ae60c">ripple::Validity::SigBad</a></div><div class="ttdeci">@ SigBad</div><div class="ttdoc">Signature is bad. Didn't do local checks.</div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ac124fe6744b7fe887dec949b56b16d50"><div class="ttname"><a href="namespaceripple.html#ac124fe6744b7fe887dec949b56b16d50">ripple::to_string</a></div><div class="ttdeci">std::string to_string(base_uint< Bits, Tag > const &a)</div><div class="ttdef"><b>Definition</b> <a href="base__uint_8h_source.html#l00630">base_uint.h:630</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ac3e50b84e446c9a994a53e3cba303c65"><div class="ttname"><a href="namespaceripple.html#ac3e50b84e446c9a994a53e3cba303c65">ripple::removeDeletedTrustLines</a></div><div class="ttdeci">static void removeDeletedTrustLines(ApplyView &view, std::vector< uint256 > const &trustLines, beast::Journal viewJ)</div><div class="ttdef"><b>Definition</b> <a href="Transactor_8cpp_source.html#l01061">Transactor.cpp:1061</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ac3e90afb749bb1f01e06729c7c860ba3"><div class="ttname"><a href="namespaceripple.html#ac3e90afb749bb1f01e06729c7c860ba3">ripple::after</a></div><div class="ttdeci">bool after(NetClock::time_point now, std::uint32_t mark)</div><div class="ttdoc">Has the specified time passed?</div><div class="ttdef"><b>Definition</b> <a href="View_8cpp_source.html#l03239">View.cpp:3239</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ac3e90afb749bb1f01e06729c7c860ba3"><div class="ttname"><a href="namespaceripple.html#ac3e90afb749bb1f01e06729c7c860ba3">ripple::after</a></div><div class="ttdeci">bool after(NetClock::time_point now, std::uint32_t mark)</div><div class="ttdoc">Has the specified time passed?</div><div class="ttdef"><b>Definition</b> <a href="View_8cpp_source.html#l03243">View.cpp:3243</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ac8844b7ad1603892172e8e6d1044de00"><div class="ttname"><a href="namespaceripple.html#ac8844b7ad1603892172e8e6d1044de00">ripple::tfUniversalMask</a></div><div class="ttdeci">constexpr std::uint32_t tfUniversalMask</div><div class="ttdef"><b>Definition</b> <a href="TxFlags_8h_source.html#l00063">TxFlags.h:63</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ac9d3948299b3e1819062bb1327c26610"><div class="ttname"><a href="namespaceripple.html#ac9d3948299b3e1819062bb1327c26610">ripple::scaleFeeLoad</a></div><div class="ttdeci">XRPAmount scaleFeeLoad(XRPAmount fee, LoadFeeTrack const &feeTrack, Fees const &fees, bool bUnlimited)</div><div class="ttdef"><b>Definition</b> <a href="LoadFeeTrack_8cpp_source.html#l00084">LoadFeeTrack.cpp:84</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_acf638a8149337a894d6e530c586569b4"><div class="ttname"><a href="namespaceripple.html#acf638a8149337a894d6e530c586569b4">ripple::deleteAMMTrustLine</a></div><div class="ttdeci">TER deleteAMMTrustLine(ApplyView &view, std::shared_ptr< SLE > sleState, std::optional< AccountID > const &ammAccountID, beast::Journal j)</div><div class="ttdoc">Delete trustline to AMM.</div><div class="ttdef"><b>Definition</b> <a href="View_8cpp_source.html#l02780">View.cpp:2780</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_acf638a8149337a894d6e530c586569b4"><div class="ttname"><a href="namespaceripple.html#acf638a8149337a894d6e530c586569b4">ripple::deleteAMMTrustLine</a></div><div class="ttdeci">TER deleteAMMTrustLine(ApplyView &view, std::shared_ptr< SLE > sleState, std::optional< AccountID > const &ammAccountID, beast::Journal j)</div><div class="ttdoc">Delete trustline to AMM.</div><div class="ttdef"><b>Definition</b> <a href="View_8cpp_source.html#l02784">View.cpp:2784</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ad2487abbcc1a5d6064b72144b461df6e"><div class="ttname"><a href="namespaceripple.html#ad2487abbcc1a5d6064b72144b461df6e">ripple::ApplyFlags</a></div><div class="ttdeci">ApplyFlags</div><div class="ttdef"><b>Definition</b> <a href="ApplyView_8h_source.html#l00030">ApplyView.h:30</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ad2487abbcc1a5d6064b72144b461df6ea72934cf56aa148d1f25bf08fe8922150"><div class="ttname"><a href="namespaceripple.html#ad2487abbcc1a5d6064b72144b461df6ea72934cf56aa148d1f25bf08fe8922150">ripple::tapFAIL_HARD</a></div><div class="ttdeci">@ tapFAIL_HARD</div><div class="ttdef"><b>Definition</b> <a href="ApplyView_8h_source.html#l00035">ApplyView.h:35</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ad2487abbcc1a5d6064b72144b461df6ea920ed5574f81ea8ed083c5e258513793"><div class="ttname"><a href="namespaceripple.html#ad2487abbcc1a5d6064b72144b461df6ea920ed5574f81ea8ed083c5e258513793">ripple::tapUNLIMITED</a></div><div class="ttdeci">@ tapUNLIMITED</div><div class="ttdef"><b>Definition</b> <a href="ApplyView_8h_source.html#l00042">ApplyView.h:42</a></div></div>
|
||||
@@ -1701,7 +1703,7 @@ $(document).ready(function() { init_codefold(0); });
|
||||
<div class="ttc" id="anamespaceripple_html_adebe4d783be9c979e67fdbb2bc27162fad237d4c433f46906a2b8b2e1624c1aff"><div class="ttname"><a href="namespaceripple.html#adebe4d783be9c979e67fdbb2bc27162fad237d4c433f46906a2b8b2e1624c1aff">ripple::terPRE_TICKET</a></div><div class="ttdeci">@ terPRE_TICKET</div><div class="ttdef"><b>Definition</b> <a href="TER_8h_source.html#l00226">TER.h:226</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ae193bf65f233ba37c47a7a8fc49a26e4"><div class="ttname"><a href="namespaceripple.html#ae193bf65f233ba37c47a7a8fc49a26e4">ripple::isTecClaim</a></div><div class="ttdeci">bool isTecClaim(TER x) noexcept</div><div class="ttdef"><b>Definition</b> <a href="TER_8h_source.html#l00681">TER.h:681</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ae3d0707c1a91a7c56842e505972bcbb0"><div class="ttname"><a href="namespaceripple.html#ae3d0707c1a91a7c56842e505972bcbb0">ripple::preflight0</a></div><div class="ttdeci">NotTEC preflight0(PreflightContext const &ctx, std::uint32_t flagMask)</div><div class="ttdoc">Performs early sanity checks on the txid.</div><div class="ttdef"><b>Definition</b> <a href="Transactor_8cpp_source.html#l00044">Transactor.cpp:44</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_af0fbc47b561662920c4ae9345fe9a027"><div class="ttname"><a href="namespaceripple.html#af0fbc47b561662920c4ae9345fe9a027">ripple::offerDelete</a></div><div class="ttdeci">TER offerDelete(ApplyView &view, std::shared_ptr< SLE > const &sle, beast::Journal j)</div><div class="ttdoc">Delete an offer.</div><div class="ttdef"><b>Definition</b> <a href="View_8cpp_source.html#l01634">View.cpp:1634</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_af0fbc47b561662920c4ae9345fe9a027"><div class="ttname"><a href="namespaceripple.html#af0fbc47b561662920c4ae9345fe9a027">ripple::offerDelete</a></div><div class="ttdeci">TER offerDelete(ApplyView &view, std::shared_ptr< SLE > const &sle, beast::Journal j)</div><div class="ttdoc">Delete an offer.</div><div class="ttdef"><b>Definition</b> <a href="View_8cpp_source.html#l01637">View.cpp:1637</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_af99ba2263d2a1e29207c40a35fc9f6b3"><div class="ttname"><a href="namespaceripple.html#af99ba2263d2a1e29207c40a35fc9f6b3">ripple::NotTEC</a></div><div class="ttdeci">TERSubset< CanCvtToNotTEC > NotTEC</div><div class="ttdef"><b>Definition</b> <a href="TER_8h_source.html#l00605">TER.h:605</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_afaf6a2c3fd25d8d826f03812dfbf2798"><div class="ttname"><a href="namespaceripple.html#afaf6a2c3fd25d8d826f03812dfbf2798">ripple::tfInnerBatchTxn</a></div><div class="ttdeci">constexpr std::uint32_t tfInnerBatchTxn</div><div class="ttdef"><b>Definition</b> <a href="TxFlags_8h_source.html#l00061">TxFlags.h:61</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_afe21c8454670d46fb93751a5edffed46a099c540ff97d54cf841bbe8fff2f3936"><div class="ttname"><a href="namespaceripple.html#afe21c8454670d46fb93751a5edffed46a099c540ff97d54cf841bbe8fff2f3936">ripple::temBAD_SRC_ACCOUNT</a></div><div class="ttdeci">@ temBAD_SRC_ACCOUNT</div><div class="ttdef"><b>Definition</b> <a href="TER_8h_source.html#l00106">TER.h:106</a></div></div>
|
||||
|
||||
Reference in New Issue
Block a user