This commit is contained in:
bthomee
2025-05-20 18:10:54 +00:00
parent 39d241def5
commit 90cc35d381
3215 changed files with 96027 additions and 70734 deletions

View File

@@ -216,7 +216,7 @@ $(function() {
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> <a class="code hl_class" href="classripple_1_1Issue.html">Issue</a> <span class="keyword">const</span>&amp; deliver,</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional&lt;Quality&gt;</a> <span class="keyword">const</span>&amp; limitQuality,</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional&lt;Issue&gt;</a> <span class="keyword">const</span>&amp; sendMaxIssue,</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> <a class="code hl_class" href="classripple_1_1STPath.html">STPath</a> <span class="keyword">const</span>&amp; path,</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> <a class="code hl_class" href="classripple_1_1STPath.html">STPath</a> <span class="keyword">const</span>&amp; <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1path.html">path</a>,</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <span class="keywordtype">bool</span> ownerPaysTransferFee,</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> <a class="code hl_enumeration" href="namespaceripple.html#a786c40cb27211e1704047accb2ca26bd">OfferCrossing</a> offerCrossing,</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> <a class="code hl_class" href="classripple_1_1AMMContext.html">AMMContext</a>&amp; ammContext,</div>
@@ -231,7 +231,7 @@ $(function() {
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> (deliver.<a class="code hl_variable" href="classripple_1_1Issue.html#a46e4805870b1bad6a8691bed0b8acec8">account</a> == <a class="code hl_function" href="namespaceripple.html#a065cda95aed9cb1d66fb81cad0867ef6">noAccount</a>()))</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="keywordflow">return</span> {<a class="code hl_enumvalue" href="namespaceripple.html#afe21c8454670d46fb93751a5edffed46a301b180a711f213c51de73aba9d28de5">temBAD_PATH</a>, Strand{}};</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> </div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> <span class="keyword">const</span>&amp; pe : path)</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> <span class="keyword">const</span>&amp; pe : <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1path.html">path</a>)</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> {</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <span class="keyword">auto</span> <span class="keyword">const</span> t = pe.getNodeType();</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> </div>
@@ -277,20 +277,20 @@ $(function() {
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;STPathElement&gt;</a> normPath;</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> <span class="comment">// reserve enough for the path, the implied source, destination,</span></div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> <span class="comment">// sendmax and deliver.</span></div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> normPath.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/reserve.html">reserve</a>(4 + path.size());</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> normPath.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/reserve.html">reserve</a>(4 + <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1path.html">path</a>.size());</div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> {</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> normPath.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/emplace_back.html">emplace_back</a>(</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> <a class="code hl_enumvalue" href="classripple_1_1STPathElement.html#add7ef24fbb39a048d81cdfb65aac5ae3ad9c29914b76f0214942819e528705d43">STPathElement::typeAll</a>, src, curIssue.<a class="code hl_variable" href="classripple_1_1Issue.html#a4b723aa4198e4c630e41de06586e2fe7">currency</a>, curIssue.<a class="code hl_variable" href="classripple_1_1Issue.html#a46e4805870b1bad6a8691bed0b8acec8">account</a>);</div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> </div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> <span class="keywordflow">if</span> (sendMaxIssue &amp;&amp; sendMaxIssue-&gt;account != src &amp;&amp;</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> (path.empty() || !path[0].isAccount() ||</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> path[0].getAccountID() != sendMaxIssue-&gt;account))</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> (<a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1path.html">path</a>.empty() || !<a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1path.html">path</a>[0].isAccount() ||</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1path.html">path</a>[0].getAccountID() != sendMaxIssue-&gt;account))</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> {</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> normPath.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/emplace_back.html">emplace_back</a>(</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> sendMaxIssue-&gt;account, std::nullopt, std::nullopt);</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> }</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> </div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> <span class="keyword">const</span>&amp; i : path)</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> <span class="keyword">const</span>&amp; i : <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1path.html">path</a>)</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> normPath.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(i);</div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> </div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> {</div>
@@ -326,7 +326,7 @@ $(function() {
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> </div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> <span class="keyword">auto</span> <span class="keyword">const</span> strandSrc = normPath.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/front.html">front</a>().getAccountID();</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> <span class="keyword">auto</span> <span class="keyword">const</span> strandDst = normPath.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/back.html">back</a>().getAccountID();</div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> <span class="keywordtype">bool</span> <span class="keyword">const</span> <a class="code hl_function" href="namespaceripple.html#a64db4e9a01a15836948b70c1689ef2ca">isDefaultPath</a> = path.empty();</div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> <span class="keywordtype">bool</span> <span class="keyword">const</span> <a class="code hl_function" href="namespaceripple.html#a64db4e9a01a15836948b70c1689ef2ca">isDefaultPath</a> = <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1path.html">path</a>.empty();</div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> </div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> Strand result;</div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> result.reserve(2 * normPath.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>());</div>
@@ -549,7 +549,7 @@ $(function() {
<div class="line"><a id="l00471" name="l00471"></a><span class="lineno"> 471</span> <a class="code hl_class" href="classripple_1_1Issue.html">Issue</a> <span class="keyword">const</span>&amp; deliver,</div>
<div class="line"><a id="l00472" name="l00472"></a><span class="lineno"> 472</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional&lt;Quality&gt;</a> <span class="keyword">const</span>&amp; limitQuality,</div>
<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"> 473</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional&lt;Issue&gt;</a> <span class="keyword">const</span>&amp; sendMax,</div>
<div class="line"><a id="l00474" name="l00474"></a><span class="lineno"> 474</span> <a class="code hl_class" href="classripple_1_1STPathSet.html">STPathSet</a> <span class="keyword">const</span>&amp; paths,</div>
<div class="line"><a id="l00474" name="l00474"></a><span class="lineno"> 474</span> <a class="code hl_class" href="classripple_1_1STPathSet.html">STPathSet</a> <span class="keyword">const</span>&amp; <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1paths.html">paths</a>,</div>
<div class="line"><a id="l00475" name="l00475"></a><span class="lineno"> 475</span> <span class="keywordtype">bool</span> addDefaultPath,</div>
<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"> 476</span> <span class="keywordtype">bool</span> ownerPaysTransferFee,</div>
<div class="line"><a id="l00477" name="l00477"></a><span class="lineno"> 477</span> <a class="code hl_enumeration" href="namespaceripple.html#a786c40cb27211e1704047accb2ca26bd">OfferCrossing</a> offerCrossing,</div>
@@ -557,7 +557,7 @@ $(function() {
<div class="line"><a id="l00479" name="l00479"></a><span class="lineno"> 479</span> <a class="code hl_class" href="classbeast_1_1Journal.html">beast::Journal</a> j)</div>
<div class="line"><a id="l00480" name="l00480"></a><span class="lineno"> 480</span>{</div>
<div class="line"><a id="l00481" name="l00481"></a><span class="lineno"> 481</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;Strand&gt;</a> result;</div>
<div class="line"><a id="l00482" name="l00482"></a><span class="lineno"> 482</span> result.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/reserve.html">reserve</a>(1 + paths.<a class="code hl_function" href="classripple_1_1STPathSet.html#af74f528bb7846fccf7665ec4e0e6667d">size</a>());</div>
<div class="line"><a id="l00482" name="l00482"></a><span class="lineno"> 482</span> result.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/vector/reserve.html">reserve</a>(1 + <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1paths.html">paths</a>.size());</div>
<div class="line"><a id="l00483" name="l00483"></a><span class="lineno"> 483</span> <span class="comment">// Insert the strand into result if it is not already part of the vector</span></div>
<div class="line"><a id="l00484" name="l00484"></a><span class="lineno"> 484</span> <span class="keyword">auto</span> insert = [&amp;](Strand s) {</div>
<div class="line"><a id="l00485" name="l00485"></a><span class="lineno"> 485</span> <span class="keywordtype">bool</span> <span class="keyword">const</span> hasStrand =</div>
@@ -581,15 +581,15 @@ $(function() {
<div class="line"><a id="l00503" name="l00503"></a><span class="lineno"> 503</span> offerCrossing,</div>
<div class="line"><a id="l00504" name="l00504"></a><span class="lineno"> 504</span> ammContext,</div>
<div class="line"><a id="l00505" name="l00505"></a><span class="lineno"> 505</span> j);</div>
<div class="line"><a id="l00506" name="l00506"></a><span class="lineno"> 506</span> <span class="keyword">auto</span> <span class="keyword">const</span> ter = sp.first;</div>
<div class="line"><a id="l00506" name="l00506"></a><span class="lineno"> 506</span> <span class="keyword">auto</span> <span class="keyword">const</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1ter.html">ter</a> = sp.first;</div>
<div class="line"><a id="l00507" name="l00507"></a><span class="lineno"> 507</span> <span class="keyword">auto</span>&amp; strand = sp.second;</div>
<div class="line"><a id="l00508" name="l00508"></a><span class="lineno"> 508</span> </div>
<div class="line"><a id="l00509" name="l00509"></a><span class="lineno"> 509</span> <span class="keywordflow">if</span> (ter != <a class="code hl_enumvalue" href="namespaceripple.html#aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151">tesSUCCESS</a>)</div>
<div class="line"><a id="l00509" name="l00509"></a><span class="lineno"> 509</span> <span class="keywordflow">if</span> (<a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1ter.html">ter</a> != <a class="code hl_enumvalue" href="namespaceripple.html#aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151">tesSUCCESS</a>)</div>
<div class="line"><a id="l00510" name="l00510"></a><span class="lineno"> 510</span> {</div>
<div class="line"><a id="l00511" name="l00511"></a><span class="lineno"> 511</span> JLOG(j.<a class="code hl_function" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>()) &lt;&lt; <span class="stringliteral">&quot;failed to add default path&quot;</span>;</div>
<div class="line"><a id="l00512" name="l00512"></a><span class="lineno"> 512</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="namespaceripple.html#a8a24af8b5fd8d16856553e7358feb10d">isTemMalformed</a>(ter) || paths.<a class="code hl_function" href="classripple_1_1STPathSet.html#a22435db9f32e0a4de785c3249e0f917d">empty</a>())</div>
<div class="line"><a id="l00512" name="l00512"></a><span class="lineno"> 512</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="namespaceripple.html#a8a24af8b5fd8d16856553e7358feb10d">isTemMalformed</a>(<a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1ter.html">ter</a>) || <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1paths.html">paths</a>.empty())</div>
<div class="line"><a id="l00513" name="l00513"></a><span class="lineno"> 513</span> {</div>
<div class="line"><a id="l00514" name="l00514"></a><span class="lineno"> 514</span> <span class="keywordflow">return</span> {ter, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;Strand&gt;</a>{}};</div>
<div class="line"><a id="l00514" name="l00514"></a><span class="lineno"> 514</span> <span class="keywordflow">return</span> {<a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1ter.html">ter</a>, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;Strand&gt;</a>{}};</div>
<div class="line"><a id="l00515" name="l00515"></a><span class="lineno"> 515</span> }</div>
<div class="line"><a id="l00516" name="l00516"></a><span class="lineno"> 516</span> }</div>
<div class="line"><a id="l00517" name="l00517"></a><span class="lineno"> 517</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strand.empty())</div>
@@ -603,7 +603,7 @@ $(function() {
<div class="line"><a id="l00525" name="l00525"></a><span class="lineno"> 525</span> insert(std::move(strand));</div>
<div class="line"><a id="l00526" name="l00526"></a><span class="lineno"> 526</span> }</div>
<div class="line"><a id="l00527" name="l00527"></a><span class="lineno"> 527</span> }</div>
<div class="line"><a id="l00528" name="l00528"></a><span class="lineno"> 528</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (paths.<a class="code hl_function" href="classripple_1_1STPathSet.html#a22435db9f32e0a4de785c3249e0f917d">empty</a>())</div>
<div class="line"><a id="l00528" name="l00528"></a><span class="lineno"> 528</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1paths.html">paths</a>.empty())</div>
<div class="line"><a id="l00529" name="l00529"></a><span class="lineno"> 529</span> {</div>
<div class="line"><a id="l00530" name="l00530"></a><span class="lineno"> 530</span> JLOG(j.<a class="code hl_function" href="classbeast_1_1Journal.html#a556228cb60bcf405c225d3f64b7b01ae">debug</a>()) &lt;&lt; <span class="stringliteral">&quot;Flow: Invalid transaction: No paths and direct &quot;</span></div>
<div class="line"><a id="l00531" name="l00531"></a><span class="lineno"> 531</span> <span class="stringliteral">&quot;ripple not allowed.&quot;</span>;</div>
@@ -611,7 +611,7 @@ $(function() {
<div class="line"><a id="l00533" name="l00533"></a><span class="lineno"> 533</span> }</div>
<div class="line"><a id="l00534" name="l00534"></a><span class="lineno"> 534</span> </div>
<div class="line"><a id="l00535" name="l00535"></a><span class="lineno"> 535</span> <a class="code hl_class" href="classripple_1_1TERSubset.html">TER</a> lastFailTer = <a class="code hl_enumvalue" href="namespaceripple.html#aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151">tesSUCCESS</a>;</div>
<div class="line"><a id="l00536" name="l00536"></a><span class="lineno"> 536</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> <span class="keyword">const</span>&amp; p : paths)</div>
<div class="line"><a id="l00536" name="l00536"></a><span class="lineno"> 536</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> <span class="keyword">const</span>&amp; p : <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1paths.html">paths</a>)</div>
<div class="line"><a id="l00537" name="l00537"></a><span class="lineno"> 537</span> {</div>
<div class="line"><a id="l00538" name="l00538"></a><span class="lineno"> 538</span> <span class="keyword">auto</span> sp = <a class="code hl_function" href="namespaceripple.html#a3d781a79cc01e8ae4d0c3f9f71527838">toStrand</a>(</div>
<div class="line"><a id="l00539" name="l00539"></a><span class="lineno"> 539</span> view,</div>
@@ -625,16 +625,16 @@ $(function() {
<div class="line"><a id="l00547" name="l00547"></a><span class="lineno"> 547</span> offerCrossing,</div>
<div class="line"><a id="l00548" name="l00548"></a><span class="lineno"> 548</span> ammContext,</div>
<div class="line"><a id="l00549" name="l00549"></a><span class="lineno"> 549</span> j);</div>
<div class="line"><a id="l00550" name="l00550"></a><span class="lineno"> 550</span> <span class="keyword">auto</span> ter = sp.first;</div>
<div class="line"><a id="l00550" name="l00550"></a><span class="lineno"> 550</span> <span class="keyword">auto</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1ter.html">ter</a> = sp.first;</div>
<div class="line"><a id="l00551" name="l00551"></a><span class="lineno"> 551</span> <span class="keyword">auto</span>&amp; strand = sp.second;</div>
<div class="line"><a id="l00552" name="l00552"></a><span class="lineno"> 552</span> </div>
<div class="line"><a id="l00553" name="l00553"></a><span class="lineno"> 553</span> <span class="keywordflow">if</span> (ter != <a class="code hl_enumvalue" href="namespaceripple.html#aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151">tesSUCCESS</a>)</div>
<div class="line"><a id="l00553" name="l00553"></a><span class="lineno"> 553</span> <span class="keywordflow">if</span> (<a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1ter.html">ter</a> != <a class="code hl_enumvalue" href="namespaceripple.html#aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151">tesSUCCESS</a>)</div>
<div class="line"><a id="l00554" name="l00554"></a><span class="lineno"> 554</span> {</div>
<div class="line"><a id="l00555" name="l00555"></a><span class="lineno"> 555</span> lastFailTer = ter;</div>
<div class="line"><a id="l00556" name="l00556"></a><span class="lineno"> 556</span> JLOG(j.<a class="code hl_function" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>()) &lt;&lt; <span class="stringliteral">&quot;failed to add path: ter: &quot;</span> &lt;&lt; ter</div>
<div class="line"><a id="l00555" name="l00555"></a><span class="lineno"> 555</span> lastFailTer = <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1ter.html">ter</a>;</div>
<div class="line"><a id="l00556" name="l00556"></a><span class="lineno"> 556</span> JLOG(j.<a class="code hl_function" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>()) &lt;&lt; <span class="stringliteral">&quot;failed to add path: ter: &quot;</span> &lt;&lt; <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1ter.html">ter</a></div>
<div class="line"><a id="l00557" name="l00557"></a><span class="lineno"> 557</span> &lt;&lt; <span class="stringliteral">&quot;path: &quot;</span> &lt;&lt; p.getJson(<a class="code hl_enumvalue" href="structripple_1_1JsonOptions.html#ab85e43ec84df987200d3355c3ba89f0aa1917451e3686dfe8d5016670eb87ab33">JsonOptions::none</a>);</div>
<div class="line"><a id="l00558" name="l00558"></a><span class="lineno"> 558</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="namespaceripple.html#a8a24af8b5fd8d16856553e7358feb10d">isTemMalformed</a>(ter))</div>
<div class="line"><a id="l00559" name="l00559"></a><span class="lineno"> 559</span> <span class="keywordflow">return</span> {ter, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;Strand&gt;</a>{}};</div>
<div class="line"><a id="l00558" name="l00558"></a><span class="lineno"> 558</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="namespaceripple.html#a8a24af8b5fd8d16856553e7358feb10d">isTemMalformed</a>(<a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1ter.html">ter</a>))</div>
<div class="line"><a id="l00559" name="l00559"></a><span class="lineno"> 559</span> <span class="keywordflow">return</span> {<a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1ter.html">ter</a>, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;Strand&gt;</a>{}};</div>
<div class="line"><a id="l00560" name="l00560"></a><span class="lineno"> 560</span> }</div>
<div class="line"><a id="l00561" name="l00561"></a><span class="lineno"> 561</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strand.empty())</div>
<div class="line"><a id="l00562" name="l00562"></a><span class="lineno"> 562</span> {</div>
@@ -721,9 +721,9 @@ $(function() {
<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#l00322">Journal.h:322</a></div></div>
<div class="ttc" id="aclassbeast_1_1Journal_html_ad8fefe3e8ad583e1ed1bf02094ac3d8f"><div class="ttname"><a href="classbeast_1_1Journal.html#ad8fefe3e8ad583e1ed1bf02094ac3d8f">beast::Journal::warn</a></div><div class="ttdeci">Stream warn() const</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00340">Journal.h:340</a></div></div>
<div class="ttc" id="aclassripple_1_1AMMContext_html"><div class="ttname"><a href="classripple_1_1AMMContext.html">ripple::AMMContext</a></div><div class="ttdoc">Maintains AMM info per overall payment engine execution and individual iteration.</div><div class="ttdef"><b>Definition:</b> <a href="AMMContext_8h_source.html#l00035">AMMContext.h:36</a></div></div>
<div class="ttc" id="aclassripple_1_1IOUAmount_html"><div class="ttname"><a href="classripple_1_1IOUAmount.html">ripple::IOUAmount</a></div><div class="ttdoc">Floating point representation of amounts with high dynamic range.</div><div class="ttdef"><b>Definition:</b> <a href="IOUAmount_8h_source.html#l00045">IOUAmount.h:47</a></div></div>
<div class="ttc" id="aclassripple_1_1IOUAmount_html_a4123b52991469e91f146e23382f49d6c"><div class="ttname"><a href="classripple_1_1IOUAmount.html#a4123b52991469e91f146e23382f49d6c">ripple::IOUAmount::exponent</a></div><div class="ttdeci">int exponent() const noexcept</div><div class="ttdef"><b>Definition:</b> <a href="IOUAmount_8h_source.html#l00167">IOUAmount.h:167</a></div></div>
<div class="ttc" id="aclassripple_1_1IOUAmount_html_a7569b6462cf1abb6018ccfbe8428bfab"><div class="ttname"><a href="classripple_1_1IOUAmount.html#a7569b6462cf1abb6018ccfbe8428bfab">ripple::IOUAmount::mantissa</a></div><div class="ttdeci">std::int64_t mantissa() const noexcept</div><div class="ttdef"><b>Definition:</b> <a href="IOUAmount_8h_source.html#l00173">IOUAmount.h:173</a></div></div>
<div class="ttc" id="aclassripple_1_1IOUAmount_html"><div class="ttname"><a href="classripple_1_1IOUAmount.html">ripple::IOUAmount</a></div><div class="ttdoc">Floating point representation of amounts with high dynamic range.</div><div class="ttdef"><b>Definition:</b> <a href="IOUAmount_8h_source.html#l00044">IOUAmount.h:46</a></div></div>
<div class="ttc" id="aclassripple_1_1IOUAmount_html_a4123b52991469e91f146e23382f49d6c"><div class="ttname"><a href="classripple_1_1IOUAmount.html#a4123b52991469e91f146e23382f49d6c">ripple::IOUAmount::exponent</a></div><div class="ttdeci">int exponent() const noexcept</div><div class="ttdef"><b>Definition:</b> <a href="IOUAmount_8h_source.html#l00166">IOUAmount.h:166</a></div></div>
<div class="ttc" id="aclassripple_1_1IOUAmount_html_a7569b6462cf1abb6018ccfbe8428bfab"><div class="ttname"><a href="classripple_1_1IOUAmount.html#a7569b6462cf1abb6018ccfbe8428bfab">ripple::IOUAmount::mantissa</a></div><div class="ttdeci">std::int64_t mantissa() const noexcept</div><div class="ttdef"><b>Definition:</b> <a href="IOUAmount_8h_source.html#l00172">IOUAmount.h:172</a></div></div>
<div class="ttc" id="aclassripple_1_1Issue_html"><div class="ttname"><a href="classripple_1_1Issue.html">ripple::Issue</a></div><div class="ttdoc">A currency issued by an account.</div><div class="ttdef"><b>Definition:</b> <a href="Issue_8h_source.html#l00035">Issue.h:36</a></div></div>
<div class="ttc" id="aclassripple_1_1Issue_html_a46e4805870b1bad6a8691bed0b8acec8"><div class="ttname"><a href="classripple_1_1Issue.html#a46e4805870b1bad6a8691bed0b8acec8">ripple::Issue::account</a></div><div class="ttdeci">AccountID account</div><div class="ttdef"><b>Definition:</b> <a href="Issue_8h_source.html#l00039">Issue.h:39</a></div></div>
<div class="ttc" id="aclassripple_1_1Issue_html_a4b723aa4198e4c630e41de06586e2fe7"><div class="ttname"><a href="classripple_1_1Issue.html#a4b723aa4198e4c630e41de06586e2fe7">ripple::Issue::currency</a></div><div class="ttdeci">Currency currency</div><div class="ttdef"><b>Definition:</b> <a href="Issue_8h_source.html#l00038">Issue.h:38</a></div></div>
@@ -740,13 +740,14 @@ $(function() {
<div class="ttc" id="aclassripple_1_1STPathElement_html_add7ef24fbb39a048d81cdfb65aac5ae3ad2680a488d17facbb27aac3e63f136a1"><div class="ttname"><a href="classripple_1_1STPathElement.html#add7ef24fbb39a048d81cdfb65aac5ae3ad2680a488d17facbb27aac3e63f136a1">ripple::STPathElement::typeCurrency</a></div><div class="ttdeci">@ typeCurrency</div><div class="ttdef"><b>Definition:</b> <a href="STPathSet_8h_source.html#l00050">STPathSet.h:50</a></div></div>
<div class="ttc" id="aclassripple_1_1STPathElement_html_add7ef24fbb39a048d81cdfb65aac5ae3ad9c29914b76f0214942819e528705d43"><div class="ttname"><a href="classripple_1_1STPathElement.html#add7ef24fbb39a048d81cdfb65aac5ae3ad9c29914b76f0214942819e528705d43">ripple::STPathElement::typeAll</a></div><div class="ttdeci">@ typeAll</div><div class="ttdef"><b>Definition:</b> <a href="STPathSet_8h_source.html#l00053">STPathSet.h:53</a></div></div>
<div class="ttc" id="aclassripple_1_1STPathSet_html"><div class="ttname"><a href="classripple_1_1STPathSet.html">ripple::STPathSet</a></div><div class="ttdef"><b>Definition:</b> <a href="STPathSet_8h_source.html#l00177">STPathSet.h:178</a></div></div>
<div class="ttc" id="aclassripple_1_1STPathSet_html_a22435db9f32e0a4de785c3249e0f917d"><div class="ttname"><a href="classripple_1_1STPathSet.html#a22435db9f32e0a4de785c3249e0f917d">ripple::STPathSet::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdef"><b>Definition:</b> <a href="STPathSet_8h_source.html#l00508">STPathSet.h:508</a></div></div>
<div class="ttc" id="aclassripple_1_1STPathSet_html_af74f528bb7846fccf7665ec4e0e6667d"><div class="ttname"><a href="classripple_1_1STPathSet.html#af74f528bb7846fccf7665ec4e0e6667d">ripple::STPathSet::size</a></div><div class="ttdeci">std::vector&lt; STPath &gt;::size_type size() const</div><div class="ttdef"><b>Definition:</b> <a href="STPathSet_8h_source.html#l00502">STPathSet.h:502</a></div></div>
<div class="ttc" id="aclassripple_1_1STPath_html"><div class="ttname"><a href="classripple_1_1STPath.html">ripple::STPath</a></div><div class="ttdef"><b>Definition:</b> <a href="STPathSet_8h_source.html#l00119">STPathSet.h:120</a></div></div>
<div class="ttc" id="aclassripple_1_1Step_html"><div class="ttname"><a href="classripple_1_1Step.html">ripple::Step</a></div><div class="ttdoc">A step in a payment path.</div><div class="ttdef"><b>Definition:</b> <a href="Steps_8h_source.html#l00084">Steps.h:85</a></div></div>
<div class="ttc" id="aclassripple_1_1TERSubset_html"><div class="ttname"><a href="classripple_1_1TERSubset.html">ripple::TERSubset&lt; CanCvtToTER &gt;</a></div></div>
<div class="ttc" id="aclassripple_1_1XRPAmount_html"><div class="ttname"><a href="classripple_1_1XRPAmount.html">ripple::XRPAmount</a></div><div class="ttdef"><b>Definition:</b> <a href="XRPAmount_8h_source.html#l00039">XRPAmount.h:43</a></div></div>
<div class="ttc" id="aclassripple_1_1base__uint_html"><div class="ttname"><a href="classripple_1_1base__uint.html">ripple::base_uint&lt; 160, detail::AccountIDTag &gt;</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1path_html"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1path.html">ripple::test::jtx::path</a></div><div class="ttdoc">Add a path.</div><div class="ttdef"><b>Definition:</b> <a href="paths_8h_source.html#l00057">paths.h:58</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1paths_html"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1paths.html">ripple::test::jtx::paths</a></div><div class="ttdoc">Set Paths, SendMax on a JTx.</div><div class="ttdef"><b>Definition:</b> <a href="paths_8h_source.html#l00034">paths.h:35</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1ter_html"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1ter.html">ripple::test::jtx::ter</a></div><div class="ttdoc">Set the expected result code for a JTx The test will fail if the code doesn't match.</div><div class="ttdef"><b>Definition:</b> <a href="ter_8h_source.html#l00034">ter.h:35</a></div></div>
<div class="ttc" id="aemplace_back_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/emplace_back.html">std::vector::emplace_back</a></div><div class="ttdeci">T emplace_back(T... args)</div></div>
<div class="ttc" id="aemplace_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/optional/emplace.html">std::optional::emplace</a></div><div class="ttdeci">T emplace(T... args)</div></div>
<div class="ttc" id="aempty_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/empty.html">std::vector::empty</a></div><div class="ttdeci">T empty(T... args)</div></div>
@@ -771,12 +772,12 @@ $(function() {
<div class="ttc" id="anamespaceripple_html_a768e10d7d7bb643dccf0325cf1cd9256"><div class="ttname"><a href="namespaceripple.html#a768e10d7d7bb643dccf0325cf1cd9256">ripple::isDirectXrpToXrp&lt; IOUAmount, XRPAmount &gt;</a></div><div class="ttdeci">template bool isDirectXrpToXrp&lt; IOUAmount, XRPAmount &gt;(Strand const &amp;strand)</div></div>
<div class="ttc" id="anamespaceripple_html_a786c40cb27211e1704047accb2ca26bd"><div class="ttname"><a href="namespaceripple.html#a786c40cb27211e1704047accb2ca26bd">ripple::OfferCrossing</a></div><div class="ttdeci">OfferCrossing</div><div class="ttdef"><b>Definition:</b> <a href="Steps_8h_source.html#l00044">Steps.h:44</a></div></div>
<div class="ttc" id="anamespaceripple_html_a7ed8dc85e6410852cc2ea4c6d12b7fdb"><div class="ttname"><a href="namespaceripple.html#a7ed8dc85e6410852cc2ea4c6d12b7fdb">ripple::make_BookStepXI</a></div><div class="ttdeci">std::pair&lt; TER, std::unique_ptr&lt; Step &gt; &gt; make_BookStepXI(StrandContext const &amp;ctx, Issue const &amp;out)</div><div class="ttdef"><b>Definition:</b> <a href="BookStep_8cpp_source.html#l01484">BookStep.cpp:1484</a></div></div>
<div class="ttc" id="anamespaceripple_html_a8a24af8b5fd8d16856553e7358feb10d"><div class="ttname"><a href="namespaceripple.html#a8a24af8b5fd8d16856553e7358feb10d">ripple::isTemMalformed</a></div><div class="ttdeci">bool isTemMalformed(TER x)</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00638">TER.h:638</a></div></div>
<div class="ttc" id="anamespaceripple_html_a8a24af8b5fd8d16856553e7358feb10d"><div class="ttname"><a href="namespaceripple.html#a8a24af8b5fd8d16856553e7358feb10d">ripple::isTemMalformed</a></div><div class="ttdeci">bool isTemMalformed(TER x)</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00654">TER.h:654</a></div></div>
<div class="ttc" id="anamespaceripple_html_a8ccabfbbb65455ce08cdf7d024b768fe"><div class="ttname"><a href="namespaceripple.html#a8ccabfbbb65455ce08cdf7d024b768fe">ripple::make_BookStepIX</a></div><div class="ttdeci">std::pair&lt; TER, std::unique_ptr&lt; Step &gt; &gt; make_BookStepIX(StrandContext const &amp;ctx, Issue const &amp;in)</div><div class="ttdef"><b>Definition:</b> <a href="BookStep_8cpp_source.html#l01478">BookStep.cpp:1478</a></div></div>
<div class="ttc" id="anamespaceripple_html_a919e13014bb6aa8cf75f424e7552811b"><div class="ttname"><a href="namespaceripple.html#a919e13014bb6aa8cf75f424e7552811b">ripple::isDirectXrpToXrp&lt; XRPAmount, IOUAmount &gt;</a></div><div class="ttdeci">template bool isDirectXrpToXrp&lt; XRPAmount, IOUAmount &gt;(Strand const &amp;strand)</div></div>
<div class="ttc" id="anamespaceripple_html_a91af9326e7f471001066b6b59f24599c"><div class="ttname"><a href="namespaceripple.html#a91af9326e7f471001066b6b59f24599c">ripple::xrpCurrency</a></div><div class="ttdeci">Currency const &amp; xrpCurrency()</div><div class="ttdoc">XRP currency.</div><div class="ttdef"><b>Definition:</b> <a href="UintTypes_8cpp_source.html#l00119">UintTypes.cpp:119</a></div></div>
<div class="ttc" id="anamespaceripple_html_a948ed7ae32de8014f0a5f421f36bedc1"><div class="ttname"><a href="namespaceripple.html#a948ed7ae32de8014f0a5f421f36bedc1">ripple::checkNear</a></div><div class="ttdeci">bool checkNear(IOUAmount const &amp;expected, IOUAmount const &amp;actual)</div><div class="ttdef"><b>Definition:</b> <a href="PaySteps_8cpp_source.html#l00034">PaySteps.cpp:34</a></div></div>
<div class="ttc" id="anamespaceripple_html_aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151"><div class="ttname"><a href="namespaceripple.html#aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151">ripple::tesSUCCESS</a></div><div class="ttdeci">@ tesSUCCESS</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00243">TER.h:242</a></div></div>
<div class="ttc" id="anamespaceripple_html_aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151"><div class="ttname"><a href="namespaceripple.html#aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151">ripple::tesSUCCESS</a></div><div class="ttdeci">@ tesSUCCESS</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00245">TER.h:244</a></div></div>
<div class="ttc" id="anamespaceripple_html_aac90126f05dbf5927af55dde5bb0933d"><div class="ttname"><a href="namespaceripple.html#aac90126f05dbf5927af55dde5bb0933d">ripple::make_BookStepII</a></div><div class="ttdeci">std::pair&lt; TER, std::unique_ptr&lt; Step &gt; &gt; make_BookStepII(StrandContext const &amp;ctx, Issue const &amp;in, Issue const &amp;out)</div><div class="ttdef"><b>Definition:</b> <a href="BookStep_8cpp_source.html#l01472">BookStep.cpp:1472</a></div></div>
<div class="ttc" id="anamespaceripple_html_ab9034e2ea3c8d81bf0e36f6dc2074108"><div class="ttname"><a href="namespaceripple.html#ab9034e2ea3c8d81bf0e36f6dc2074108">ripple::make_DirectStepI</a></div><div class="ttdeci">std::pair&lt; TER, std::unique_ptr&lt; Step &gt; &gt; make_DirectStepI(StrandContext const &amp;ctx, AccountID const &amp;src, AccountID const &amp;dst, Currency const &amp;c)</div><div class="ttdef"><b>Definition:</b> <a href="DirectStep_8cpp_source.html#l00985">DirectStep.cpp:985</a></div></div>
<div class="ttc" id="anamespaceripple_html_ac06771af6625c1d8cd71e57570e84136"><div class="ttname"><a href="namespaceripple.html#ac06771af6625c1d8cd71e57570e84136">ripple::isDirectXrpToXrp</a></div><div class="ttdeci">bool isDirectXrpToXrp(Strand const &amp;strand)</div><div class="ttdef"><b>Definition:</b> <a href="PaySteps_8cpp_source.html#l00617">PaySteps.cpp:617</a></div></div>