This commit is contained in:
ximinez
2025-01-31 18:44:55 +00:00
parent 4ff80d2438
commit c7ce48f391
2107 changed files with 34044 additions and 28711 deletions

View File

@@ -351,136 +351,150 @@ $(function() {
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> }</div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> </div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> <span class="comment">// Calculate owner funds</span></div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> ownerFunds_ = <a class="code hl_function" href="namespaceripple.html#a5441d13c9f36c9971aa1e05dc6ff44b8">accountFundsHelper</a>(</div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> view_,</div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> offer_.owner(),</div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> amount.out,</div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> offer_.issueOut(),</div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span> <a class="code hl_enumvalue" href="namespaceripple.html#a17a9a9b903b66e49f5413d82ce79f085a852cabbbe21a9b4d63aff777eceab2fd">fhZERO_IF_FROZEN</a>,</div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> j_);</div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> </div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> <span class="comment">// Check for unfunded offer</span></div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> <span class="keywordflow">if</span> (*ownerFunds_ &lt;= beast::zero)</div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> {</div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> <span class="comment">// If the owner&#39;s balance in the pristine view is the same,</span></div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> <span class="comment">// we haven&#39;t modified the balance and therefore the</span></div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span> <span class="comment">// offer is &quot;found unfunded&quot; versus &quot;became unfunded&quot;</span></div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span> <span class="keyword">auto</span> <span class="keyword">const</span> original_funds = <a class="code hl_function" href="namespaceripple.html#a5441d13c9f36c9971aa1e05dc6ff44b8">accountFundsHelper</a>(</div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span> cancelView_,</div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span> offer_.owner(),</div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span> amount.out,</div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> offer_.issueOut(),</div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span> <a class="code hl_enumvalue" href="namespaceripple.html#a17a9a9b903b66e49f5413d82ce79f085a852cabbbe21a9b4d63aff777eceab2fd">fhZERO_IF_FROZEN</a>,</div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span> j_);</div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> <span class="keywordtype">bool</span> <span class="keyword">const</span> deepFrozen = <a class="code hl_function" href="namespaceripple.html#a404d9916466863a4ea76e0ec0b79d730">isDeepFrozen</a>(</div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> view_,</div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> offer_.owner(),</div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> offer_.issueIn().currency,</div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> offer_.issueIn().account);</div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> <span class="keywordflow">if</span> (deepFrozen)</div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span> {</div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> JLOG(j_.<a class="code hl_function" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>())</div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> &lt;&lt; <span class="stringliteral">&quot;Removing deep frozen unfunded offer &quot;</span> &lt;&lt; entry-&gt;key();</div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> permRmOffer(entry-&gt;key());</div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> offer_ = <a class="code hl_class" href="classripple_1_1TOffer.html">TOffer&lt;TIn, TOut&gt;</a>{};</div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> }</div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> </div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span> <span class="comment">// Calculate owner funds</span></div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span> ownerFunds_ = <a class="code hl_function" href="namespaceripple.html#a5441d13c9f36c9971aa1e05dc6ff44b8">accountFundsHelper</a>(</div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span> view_,</div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span> offer_.owner(),</div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span> amount.out,</div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> offer_.issueOut(),</div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span> <a class="code hl_enumvalue" href="namespaceripple.html#a17a9a9b903b66e49f5413d82ce79f085a852cabbbe21a9b4d63aff777eceab2fd">fhZERO_IF_FROZEN</a>,</div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span> j_);</div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span> </div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span> <span class="keywordflow">if</span> (original_funds == *ownerFunds_)</div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> {</div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> permRmOffer(entry-&gt;key());</div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span> JLOG(j_.<a class="code hl_function" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>()) &lt;&lt; <span class="stringliteral">&quot;Removing unfunded offer &quot;</span> &lt;&lt; entry-&gt;key();</div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span> }</div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> {</div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> JLOG(j_.<a class="code hl_function" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>())</div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span> &lt;&lt; <span class="stringliteral">&quot;Removing became unfunded offer &quot;</span> &lt;&lt; entry-&gt;key();</div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> }</div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span> offer_ = <a class="code hl_class" href="classripple_1_1TOffer.html">TOffer&lt;TIn, TOut&gt;</a>{};</div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span> <span class="comment">// See comment at top of loop for how the offer is removed</span></div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span> }</div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> </div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> <span class="keywordtype">bool</span> <span class="keyword">const</span> rmSmallIncreasedQOffer = [&amp;] {</div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> <span class="keywordtype">bool</span> <span class="keyword">const</span> inIsXRP = <a class="code hl_function" href="namespaceripple.html#a20d30277b9c78756b3d14493055a307c">isXRP</a>(offer_.issueIn());</div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span> <span class="keywordtype">bool</span> <span class="keyword">const</span> outIsXRP = <a class="code hl_function" href="namespaceripple.html#a20d30277b9c78756b3d14493055a307c">isXRP</a>(offer_.issueOut());</div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span> <span class="keywordflow">if</span> (inIsXRP &amp;&amp; !outIsXRP)</div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> {</div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span> <span class="comment">// Without the `if constexpr`, the</span></div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span> <span class="comment">// `shouldRmSmallIncreasedQOffer` template will be instantiated</span></div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> <span class="comment">// even if it is never used. This can cause compiler errors in</span></div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> <span class="comment">// some cases, hence the `if constexpr` guard.</span></div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span> <span class="comment">// Note that TIn can be XRPAmount or STAmount, and TOut can be</span></div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span> <span class="comment">// IOUAmount or STAmount.</span></div>
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span> <span class="keywordflow">if</span> <span class="keyword">constexpr</span> (!(std::is_same_v&lt;TIn, IOUAmount&gt; ||</div>
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span> std::is_same_v&lt;TOut, XRPAmount&gt;))</div>
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span> <span class="keywordflow">return</span> shouldRmSmallIncreasedQOffer&lt;XRPAmount, IOUAmount&gt;();</div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span> }</div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span> <span class="keywordflow">if</span> (!inIsXRP &amp;&amp; outIsXRP)</div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span> {</div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> <span class="comment">// See comment above for `if constexpr` rationale</span></div>
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span> <span class="keywordflow">if</span> <span class="keyword">constexpr</span> (!(std::is_same_v&lt;TIn, XRPAmount&gt; ||</div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> std::is_same_v&lt;TOut, IOUAmount&gt;))</div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span> <span class="keywordflow">return</span> shouldRmSmallIncreasedQOffer&lt;IOUAmount, XRPAmount&gt;();</div>
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span> }</div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span> <span class="keywordflow">if</span> (!inIsXRP &amp;&amp; !outIsXRP)</div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span> {</div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span> <span class="comment">// See comment above for `if constexpr` rationale</span></div>
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span> <span class="keywordflow">if</span> <span class="keyword">constexpr</span> (!(std::is_same_v&lt;TIn, XRPAmount&gt; ||</div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span> <span class="comment">// Check for unfunded offer</span></div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> <span class="keywordflow">if</span> (*ownerFunds_ &lt;= beast::zero)</div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> {</div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span> <span class="comment">// If the owner&#39;s balance in the pristine view is the same,</span></div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span> <span class="comment">// we haven&#39;t modified the balance and therefore the</span></div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span> <span class="comment">// offer is &quot;found unfunded&quot; versus &quot;became unfunded&quot;</span></div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> <span class="keyword">auto</span> <span class="keyword">const</span> original_funds = <a class="code hl_function" href="namespaceripple.html#a5441d13c9f36c9971aa1e05dc6ff44b8">accountFundsHelper</a>(</div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> cancelView_,</div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span> offer_.owner(),</div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> amount.out,</div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span> offer_.issueOut(),</div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span> <a class="code hl_enumvalue" href="namespaceripple.html#a17a9a9b903b66e49f5413d82ce79f085a852cabbbe21a9b4d63aff777eceab2fd">fhZERO_IF_FROZEN</a>,</div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span> j_);</div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span> </div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> <span class="keywordflow">if</span> (original_funds == *ownerFunds_)</div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> {</div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> permRmOffer(entry-&gt;key());</div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span> JLOG(j_.<a class="code hl_function" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>()) &lt;&lt; <span class="stringliteral">&quot;Removing unfunded offer &quot;</span> &lt;&lt; entry-&gt;key();</div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span> }</div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span> {</div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span> JLOG(j_.<a class="code hl_function" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>())</div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> &lt;&lt; <span class="stringliteral">&quot;Removing became unfunded offer &quot;</span> &lt;&lt; entry-&gt;key();</div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> }</div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span> offer_ = <a class="code hl_class" href="classripple_1_1TOffer.html">TOffer&lt;TIn, TOut&gt;</a>{};</div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span> <span class="comment">// See comment at top of loop for how the offer is removed</span></div>
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span> }</div>
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span> </div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span> <span class="keywordtype">bool</span> <span class="keyword">const</span> rmSmallIncreasedQOffer = [&amp;] {</div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span> <span class="keywordtype">bool</span> <span class="keyword">const</span> inIsXRP = <a class="code hl_function" href="namespaceripple.html#a20d30277b9c78756b3d14493055a307c">isXRP</a>(offer_.issueIn());</div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span> <span class="keywordtype">bool</span> <span class="keyword">const</span> outIsXRP = <a class="code hl_function" href="namespaceripple.html#a20d30277b9c78756b3d14493055a307c">isXRP</a>(offer_.issueOut());</div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> <span class="keywordflow">if</span> (inIsXRP &amp;&amp; !outIsXRP)</div>
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span> {</div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> <span class="comment">// Without the `if constexpr`, the</span></div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span> <span class="comment">// `shouldRmSmallIncreasedQOffer` template will be instantiated</span></div>
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span> <span class="comment">// even if it is never used. This can cause compiler errors in</span></div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span> <span class="comment">// some cases, hence the `if constexpr` guard.</span></div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span> <span class="comment">// Note that TIn can be XRPAmount or STAmount, and TOut can be</span></div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span> <span class="comment">// IOUAmount or STAmount.</span></div>
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span> <span class="keywordflow">if</span> <span class="keyword">constexpr</span> (!(std::is_same_v&lt;TIn, IOUAmount&gt; ||</div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span> std::is_same_v&lt;TOut, XRPAmount&gt;))</div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span> <span class="keywordflow">return</span> shouldRmSmallIncreasedQOffer&lt;IOUAmount, IOUAmount&gt;();</div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span> <span class="keywordflow">return</span> shouldRmSmallIncreasedQOffer&lt;XRPAmount, IOUAmount&gt;();</div>
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span> }</div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span> UNREACHABLE(</div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span> <span class="stringliteral">&quot;rippls::TOfferStreamBase::step::rmSmallIncreasedQOffer : XRP &quot;</span></div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span> <span class="stringliteral">&quot;vs XRP offer&quot;</span>);</div>
<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"> 347</span> }();</div>
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span> </div>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span> <span class="keywordflow">if</span> (rmSmallIncreasedQOffer)</div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span> {</div>
<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"> 351</span> <span class="keyword">auto</span> <span class="keyword">const</span> original_funds = <a class="code hl_function" href="namespaceripple.html#a5441d13c9f36c9971aa1e05dc6ff44b8">accountFundsHelper</a>(</div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span> cancelView_,</div>
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span> offer_.owner(),</div>
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span> amount.out,</div>
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span> offer_.issueOut(),</div>
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span> <a class="code hl_enumvalue" href="namespaceripple.html#a17a9a9b903b66e49f5413d82ce79f085a852cabbbe21a9b4d63aff777eceab2fd">fhZERO_IF_FROZEN</a>,</div>
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span> j_);</div>
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"> 358</span> </div>
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span> <span class="keywordflow">if</span> (original_funds == *ownerFunds_)</div>
<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span> {</div>
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span> permRmOffer(entry-&gt;key());</div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"> 362</span> JLOG(j_.<a class="code hl_function" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>())</div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span> &lt;&lt; <span class="stringliteral">&quot;Removing tiny offer due to reduced quality &quot;</span></div>
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span> &lt;&lt; entry-&gt;key();</div>
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"> 365</span> }</div>
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span> {</div>
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"> 368</span> JLOG(j_.<a class="code hl_function" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>()) &lt;&lt; <span class="stringliteral">&quot;Removing tiny offer that became tiny due &quot;</span></div>
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"> 369</span> <span class="stringliteral">&quot;to reduced quality &quot;</span></div>
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"> 370</span> &lt;&lt; entry-&gt;key();</div>
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span> }</div>
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span> offer_ = <a class="code hl_class" href="classripple_1_1TOffer.html">TOffer&lt;TIn, TOut&gt;</a>{};</div>
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span> <span class="comment">// See comment at top of loop for how the offer is removed</span></div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span> }</div>
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span> </div>
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"> 378</span> }</div>
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"> 379</span> </div>
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span>}</div>
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span> </div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span><span class="keywordtype">void</span></div>
<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"><a class="line" href="classripple_1_1OfferStream.html#ac1d8ec4a933ecd3986985d3231e278c2"> 384</a></span>OfferStream::permRmOffer(<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>&amp; offerIndex)</div>
<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"> 385</span>{</div>
<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"> 386</span> <a class="code hl_function" href="namespaceripple.html#a66af773abebf361a8c930c1dc457a740">offerDelete</a>(cancelView_, cancelView_.peek(keylet::offer(offerIndex)), j_);</div>
<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"> 387</span>}</div>
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"> 388</span> </div>
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"> 389</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> TIn, <span class="keyword">class</span> TOut&gt;</div>
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"> 390</span><span class="keywordtype">void</span></div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"><a class="line" href="classripple_1_1FlowOfferStream.html#a9940206ba76f1698cbbf2db11afa12d5"> 391</a></span><a class="code hl_class" href="classripple_1_1FlowOfferStream.html">FlowOfferStream&lt;TIn, TOut&gt;::permRmOffer</a>(<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>&amp; offerIndex)</div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span>{</div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span> permToRemove_.insert(offerIndex);</div>
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span>}</div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span> </div>
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span><span class="keyword">template</span> <span class="keyword">class </span><a class="code hl_class" href="classripple_1_1FlowOfferStream.html">FlowOfferStream&lt;STAmount, STAmount&gt;</a>;</div>
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"> 397</span><span class="keyword">template</span> <span class="keyword">class </span><a class="code hl_class" href="classripple_1_1FlowOfferStream.html">FlowOfferStream&lt;IOUAmount, IOUAmount&gt;</a>;</div>
<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"> 398</span><span class="keyword">template</span> <span class="keyword">class </span><a class="code hl_class" href="classripple_1_1FlowOfferStream.html">FlowOfferStream&lt;XRPAmount, IOUAmount&gt;</a>;</div>
<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"> 399</span><span class="keyword">template</span> <span class="keyword">class </span><a class="code hl_class" href="classripple_1_1FlowOfferStream.html">FlowOfferStream&lt;IOUAmount, XRPAmount&gt;</a>;</div>
<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"> 400</span> </div>
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</span><span class="keyword">template</span> <span class="keyword">class </span><a class="code hl_class" href="classripple_1_1TOfferStreamBase.html">TOfferStreamBase&lt;STAmount, STAmount&gt;</a>;</div>
<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"> 402</span><span class="keyword">template</span> <span class="keyword">class </span><a class="code hl_class" href="classripple_1_1TOfferStreamBase.html">TOfferStreamBase&lt;IOUAmount, IOUAmount&gt;</a>;</div>
<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"> 403</span><span class="keyword">template</span> <span class="keyword">class </span><a class="code hl_class" href="classripple_1_1TOfferStreamBase.html">TOfferStreamBase&lt;XRPAmount, IOUAmount&gt;</a>;</div>
<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"> 404</span><span class="keyword">template</span> <span class="keyword">class </span><a class="code hl_class" href="classripple_1_1TOfferStreamBase.html">TOfferStreamBase&lt;IOUAmount, XRPAmount&gt;</a>;</div>
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"> 405</span>} <span class="comment">// namespace ripple</span></div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span> <span class="keywordflow">if</span> (!inIsXRP &amp;&amp; outIsXRP)</div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span> {</div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span> <span class="comment">// See comment above for `if constexpr` rationale</span></div>
<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span> <span class="keywordflow">if</span> <span class="keyword">constexpr</span> (!(std::is_same_v&lt;TIn, XRPAmount&gt; ||</div>
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"> 347</span> std::is_same_v&lt;TOut, IOUAmount&gt;))</div>
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span> <span class="keywordflow">return</span> shouldRmSmallIncreasedQOffer&lt;IOUAmount, XRPAmount&gt;();</div>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span> }</div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span> <span class="keywordflow">if</span> (!inIsXRP &amp;&amp; !outIsXRP)</div>
<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"> 351</span> {</div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span> <span class="comment">// See comment above for `if constexpr` rationale</span></div>
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span> <span class="keywordflow">if</span> <span class="keyword">constexpr</span> (!(std::is_same_v&lt;TIn, XRPAmount&gt; ||</div>
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span> std::is_same_v&lt;TOut, XRPAmount&gt;))</div>
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span> <span class="keywordflow">return</span> shouldRmSmallIncreasedQOffer&lt;IOUAmount, IOUAmount&gt;();</div>
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span> }</div>
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span> UNREACHABLE(</div>
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"> 358</span> <span class="stringliteral">&quot;rippls::TOfferStreamBase::step::rmSmallIncreasedQOffer : XRP &quot;</span></div>
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span> <span class="stringliteral">&quot;vs XRP offer&quot;</span>);</div>
<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span> }();</div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"> 362</span> </div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span> <span class="keywordflow">if</span> (rmSmallIncreasedQOffer)</div>
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span> {</div>
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"> 365</span> <span class="keyword">auto</span> <span class="keyword">const</span> original_funds = <a class="code hl_function" href="namespaceripple.html#a5441d13c9f36c9971aa1e05dc6ff44b8">accountFundsHelper</a>(</div>
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span> cancelView_,</div>
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span> offer_.owner(),</div>
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"> 368</span> amount.out,</div>
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"> 369</span> offer_.issueOut(),</div>
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"> 370</span> <a class="code hl_enumvalue" href="namespaceripple.html#a17a9a9b903b66e49f5413d82ce79f085a852cabbbe21a9b4d63aff777eceab2fd">fhZERO_IF_FROZEN</a>,</div>
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span> j_);</div>
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span> </div>
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span> <span class="keywordflow">if</span> (original_funds == *ownerFunds_)</div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span> {</div>
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span> permRmOffer(entry-&gt;key());</div>
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span> JLOG(j_.<a class="code hl_function" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>())</div>
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span> &lt;&lt; <span class="stringliteral">&quot;Removing tiny offer due to reduced quality &quot;</span></div>
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"> 378</span> &lt;&lt; entry-&gt;key();</div>
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"> 379</span> }</div>
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span> {</div>
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span> JLOG(j_.<a class="code hl_function" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>()) &lt;&lt; <span class="stringliteral">&quot;Removing tiny offer that became tiny due &quot;</span></div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span> <span class="stringliteral">&quot;to reduced quality &quot;</span></div>
<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"> 384</span> &lt;&lt; entry-&gt;key();</div>
<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"> 385</span> }</div>
<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"> 386</span> offer_ = <a class="code hl_class" href="classripple_1_1TOffer.html">TOffer&lt;TIn, TOut&gt;</a>{};</div>
<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"> 387</span> <span class="comment">// See comment at top of loop for how the offer is removed</span></div>
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"> 388</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"> 389</span> }</div>
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"> 390</span> </div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span> }</div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span> </div>
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span>}</div>
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span> </div>
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"> 397</span><span class="keywordtype">void</span></div>
<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"><a class="line" href="classripple_1_1OfferStream.html#ac1d8ec4a933ecd3986985d3231e278c2"> 398</a></span>OfferStream::permRmOffer(<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>&amp; offerIndex)</div>
<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"> 399</span>{</div>
<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"> 400</span> <a class="code hl_function" href="namespaceripple.html#a66af773abebf361a8c930c1dc457a740">offerDelete</a>(cancelView_, cancelView_.peek(keylet::offer(offerIndex)), j_);</div>
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</span>}</div>
<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"> 402</span> </div>
<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"> 403</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> TIn, <span class="keyword">class</span> TOut&gt;</div>
<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"> 404</span><span class="keywordtype">void</span></div>
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"><a class="line" href="classripple_1_1FlowOfferStream.html#a9940206ba76f1698cbbf2db11afa12d5"> 405</a></span><a class="code hl_class" href="classripple_1_1FlowOfferStream.html">FlowOfferStream&lt;TIn, TOut&gt;::permRmOffer</a>(<a class="code hl_class" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>&amp; offerIndex)</div>
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"> 406</span>{</div>
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"> 407</span> permToRemove_.insert(offerIndex);</div>
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span>}</div>
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span> </div>
<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"> 410</span><span class="keyword">template</span> <span class="keyword">class </span><a class="code hl_class" href="classripple_1_1FlowOfferStream.html">FlowOfferStream&lt;STAmount, STAmount&gt;</a>;</div>
<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"> 411</span><span class="keyword">template</span> <span class="keyword">class </span><a class="code hl_class" href="classripple_1_1FlowOfferStream.html">FlowOfferStream&lt;IOUAmount, IOUAmount&gt;</a>;</div>
<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"> 412</span><span class="keyword">template</span> <span class="keyword">class </span><a class="code hl_class" href="classripple_1_1FlowOfferStream.html">FlowOfferStream&lt;XRPAmount, IOUAmount&gt;</a>;</div>
<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"> 413</span><span class="keyword">template</span> <span class="keyword">class </span><a class="code hl_class" href="classripple_1_1FlowOfferStream.html">FlowOfferStream&lt;IOUAmount, XRPAmount&gt;</a>;</div>
<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"> 414</span> </div>
<div class="line"><a id="l00415" name="l00415"></a><span class="lineno"> 415</span><span class="keyword">template</span> <span class="keyword">class </span><a class="code hl_class" href="classripple_1_1TOfferStreamBase.html">TOfferStreamBase&lt;STAmount, STAmount&gt;</a>;</div>
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"> 416</span><span class="keyword">template</span> <span class="keyword">class </span><a class="code hl_class" href="classripple_1_1TOfferStreamBase.html">TOfferStreamBase&lt;IOUAmount, IOUAmount&gt;</a>;</div>
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"> 417</span><span class="keyword">template</span> <span class="keyword">class </span><a class="code hl_class" href="classripple_1_1TOfferStreamBase.html">TOfferStreamBase&lt;XRPAmount, IOUAmount&gt;</a>;</div>
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"> 418</span><span class="keyword">template</span> <span class="keyword">class </span><a class="code hl_class" href="classripple_1_1TOfferStreamBase.html">TOfferStreamBase&lt;IOUAmount, XRPAmount&gt;</a>;</div>
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"> 419</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#l00058">Journal.h:59</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#l00335">Journal.h:335</a></div></div>
<div class="ttc" id="aclassbeast_1_1Journal_html_abbe082bd27ca0f1d1365af2824e4f85b"><div class="ttname"><a href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">beast::Journal::trace</a></div><div class="ttdeci">Stream trace() const</div><div class="ttdoc">Severity stream access functions.</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00311">Journal.h:311</a></div></div>
@@ -512,15 +526,16 @@ $(function() {
<div class="ttc" id="anamespaceripple_1_1keylet_html_aa756e0f59b26042ed00a4d0ba6e96951"><div class="ttname"><a href="namespaceripple_1_1keylet.html#aa756e0f59b26042ed00a4d0ba6e96951">ripple::keylet::account</a></div><div class="ttdeci">Keylet account(AccountID const &amp;id) noexcept</div><div class="ttdoc">AccountID root.</div><div class="ttdef"><b>Definition:</b> <a href="Indexes_8cpp_source.html#l00160">Indexes.cpp:160</a></div></div>
<div class="ttc" id="anamespaceripple_1_1keylet_html_aaa5be5f268b3d5d79e99ce5bcbc4fab2"><div class="ttname"><a href="namespaceripple_1_1keylet.html#aaa5be5f268b3d5d79e99ce5bcbc4fab2">ripple::keylet::page</a></div><div class="ttdeci">Keylet page(uint256 const &amp;root, std::uint64_t index=0) noexcept</div><div class="ttdoc">A page in a directory.</div><div class="ttdef"><b>Definition:</b> <a href="Indexes_8cpp_source.html#l00356">Indexes.cpp:356</a></div></div>
<div class="ttc" id="anamespaceripple_html"><div class="ttname"><a href="namespaceripple.html">ripple</a></div><div class="ttdoc">Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.</div><div class="ttdef"><b>Definition:</b> <a href="algorithm_8h_source.html#l00026">algorithm.h:26</a></div></div>
<div class="ttc" id="anamespaceripple_html_a15bb971c7e554fc3df218aba54c33fcc"><div class="ttname"><a href="namespaceripple.html#a15bb971c7e554fc3df218aba54c33fcc">ripple::accountFunds</a></div><div class="ttdeci">STAmount accountFunds(ReadView const &amp;view, AccountID const &amp;id, STAmount const &amp;saDefault, FreezeHandling freezeHandling, beast::Journal j)</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l00366">View.cpp:366</a></div></div>
<div class="ttc" id="anamespaceripple_html_a15bb971c7e554fc3df218aba54c33fcc"><div class="ttname"><a href="namespaceripple.html#a15bb971c7e554fc3df218aba54c33fcc">ripple::accountFunds</a></div><div class="ttdeci">STAmount accountFunds(ReadView const &amp;view, AccountID const &amp;id, STAmount const &amp;saDefault, FreezeHandling freezeHandling, beast::Journal j)</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l00405">View.cpp:405</a></div></div>
<div class="ttc" id="anamespaceripple_html_a17a9a9b903b66e49f5413d82ce79f085"><div class="ttname"><a href="namespaceripple.html#a17a9a9b903b66e49f5413d82ce79f085">ripple::FreezeHandling</a></div><div class="ttdeci">FreezeHandling</div><div class="ttdoc">Controls the treatment of frozen account balances.</div><div class="ttdef"><b>Definition:</b> <a href="View_8h_source.html#l00080">View.h:80</a></div></div>
<div class="ttc" id="anamespaceripple_html_a17a9a9b903b66e49f5413d82ce79f085a852cabbbe21a9b4d63aff777eceab2fd"><div class="ttname"><a href="namespaceripple.html#a17a9a9b903b66e49f5413d82ce79f085a852cabbbe21a9b4d63aff777eceab2fd">ripple::fhZERO_IF_FROZEN</a></div><div class="ttdeci">@ fhZERO_IF_FROZEN</div><div class="ttdef"><b>Definition:</b> <a href="View_8h_source.html#l00080">View.h:80</a></div></div>
<div class="ttc" id="anamespaceripple_html_a20d30277b9c78756b3d14493055a307c"><div class="ttname"><a href="namespaceripple.html#a20d30277b9c78756b3d14493055a307c">ripple::isXRP</a></div><div class="ttdeci">bool isXRP(AccountID const &amp;c)</div><div class="ttdef"><b>Definition:</b> <a href="AccountID_8h_source.html#l00091">AccountID.h:91</a></div></div>
<div class="ttc" id="anamespaceripple_html_a404d9916466863a4ea76e0ec0b79d730"><div class="ttname"><a href="namespaceripple.html#a404d9916466863a4ea76e0ec0b79d730">ripple::isDeepFrozen</a></div><div class="ttdeci">bool isDeepFrozen(ReadView const &amp;view, AccountID const &amp;account, Currency const &amp;currency, AccountID const &amp;issuer)</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l00271">View.cpp:271</a></div></div>
<div class="ttc" id="anamespaceripple_html_a5441d13c9f36c9971aa1e05dc6ff44b8"><div class="ttname"><a href="namespaceripple.html#a5441d13c9f36c9971aa1e05dc6ff44b8">ripple::accountFundsHelper</a></div><div class="ttdeci">static STAmount accountFundsHelper(ReadView const &amp;view, AccountID const &amp;id, STAmount const &amp;saDefault, Issue const &amp;, FreezeHandling freezeHandling, beast::Journal j)</div><div class="ttdef"><b>Definition:</b> <a href="OfferStream_8cpp_source.html#l00096">OfferStream.cpp:96</a></div></div>
<div class="ttc" id="anamespaceripple_html_a65dcac5799993b276e705961c3eee024"><div class="ttname"><a href="namespaceripple.html#a65dcac5799993b276e705961c3eee024">ripple::toAmount&lt; IOUAmount &gt;</a></div><div class="ttdeci">IOUAmount toAmount&lt; IOUAmount &gt;(STAmount const &amp;amt)</div><div class="ttdef"><b>Definition:</b> <a href="AmountConversions_8h_source.html#l00074">AmountConversions.h:75</a></div></div>
<div class="ttc" id="anamespaceripple_html_a66af773abebf361a8c930c1dc457a740"><div class="ttname"><a href="namespaceripple.html#a66af773abebf361a8c930c1dc457a740">ripple::offerDelete</a></div><div class="ttdeci">TER offerDelete(ApplyView &amp;view, std::shared_ptr&lt; SLE &gt; const &amp;sle, beast::Journal j)</div><div class="ttdoc">Delete an offer.</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l01010">View.cpp:1010</a></div></div>
<div class="ttc" id="anamespaceripple_html_a66af773abebf361a8c930c1dc457a740"><div class="ttname"><a href="namespaceripple.html#a66af773abebf361a8c930c1dc457a740">ripple::offerDelete</a></div><div class="ttdeci">TER offerDelete(ApplyView &amp;view, std::shared_ptr&lt; SLE &gt; const &amp;sle, beast::Journal j)</div><div class="ttdoc">Delete an offer.</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l01054">View.cpp:1054</a></div></div>
<div class="ttc" id="anamespaceripple_html_aa761b49f905eb9fd8c8ae754a0eb7504"><div class="ttname"><a href="namespaceripple.html#aa761b49f905eb9fd8c8ae754a0eb7504">ripple::erase</a></div><div class="ttdeci">void erase(STObject &amp;st, TypedField&lt; U &gt; const &amp;f)</div><div class="ttdoc">Remove a field in an STObject.</div><div class="ttdef"><b>Definition:</b> <a href="STExchange_8h_source.html#l00171">STExchange.h:171</a></div></div>
<div class="ttc" id="anamespaceripple_html_ab001e43f50e612727b1ce5985a2770d6"><div class="ttname"><a href="namespaceripple.html#ab001e43f50e612727b1ce5985a2770d6">ripple::accountHolds</a></div><div class="ttdeci">STAmount accountHolds(ReadView const &amp;view, AccountID const &amp;account, Currency const &amp;currency, AccountID const &amp;issuer, FreezeHandling zeroIfFrozen, beast::Journal j)</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l00271">View.cpp:271</a></div></div>
<div class="ttc" id="anamespaceripple_html_ab001e43f50e612727b1ce5985a2770d6"><div class="ttname"><a href="namespaceripple.html#ab001e43f50e612727b1ce5985a2770d6">ripple::accountHolds</a></div><div class="ttdeci">STAmount accountHolds(ReadView const &amp;view, AccountID const &amp;account, Currency const &amp;currency, AccountID const &amp;issuer, FreezeHandling zeroIfFrozen, beast::Journal j)</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l00297">View.cpp:297</a></div></div>
<div class="ttc" id="anamespaceripple_html_ae6e8e9019a9847036cd2872feeb31e37"><div class="ttname"><a href="namespaceripple.html#ae6e8e9019a9847036cd2872feeb31e37">ripple::toAmount&lt; XRPAmount &gt;</a></div><div class="ttdeci">XRPAmount toAmount&lt; XRPAmount &gt;(STAmount const &amp;amt)</div><div class="ttdef"><b>Definition:</b> <a href="AmountConversions_8h_source.html#l00089">AmountConversions.h:90</a></div></div>
<div class="ttc" id="ashared_ptr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a></div></div>
<div class="ttc" id="atime_point_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/chrono/time_point.html">std::chrono::time_point</a></div></div>