This commit is contained in:
bthomee
2025-11-13 03:45:48 -08:00
parent 8f13cb7002
commit 6ccc5de558
467 changed files with 23791 additions and 24029 deletions

View File

@@ -3698,332 +3698,324 @@ $(document).ready(function() { init_codefold(0); });
<div class="line"><a id="l03534" name="l03534"></a><span class="lineno"> 3534</span> <span class="comment">// Attach signers to alice.</span></div>
<div class="line"><a id="l03535" name="l03535"></a><span class="lineno"> 3535</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a2f130edacc0e266d31bd9d4fe4def16c">signers</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, 2, {{becky, 1}, {bogie, 1}}), <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1sig.html">sig</a>(alie));</div>
<div class="line"><a id="l03536" name="l03536"></a><span class="lineno"> 3536</span> env.close();</div>
<div class="line"><a id="l03537" name="l03537"></a><span class="lineno"> 3537</span> <span class="keywordtype">int</span> <span class="keyword">const</span> signerListOwners{features[featureMultiSignReserve] ? 2 : 5};</div>
<div class="line"><a id="l03538" name="l03538"></a><span class="lineno"> 3538</span> env.require(<a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owners.html">owners</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, signerListOwners + 0));</div>
<div class="line"><a id="l03539" name="l03539"></a><span class="lineno"> 3539</span> </div>
<div class="line"><a id="l03540" name="l03540"></a><span class="lineno"> 3540</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1msig.html">msig</a> <span class="keyword">const</span> ms{becky, bogie};</div>
<div class="line"><a id="l03541" name="l03541"></a><span class="lineno"> 3541</span> </div>
<div class="line"><a id="l03542" name="l03542"></a><span class="lineno"> 3542</span> <span class="comment">// Multisign all AMM transactions</span></div>
<div class="line"><a id="l03543" name="l03543"></a><span class="lineno"> 3543</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1AMM.html">AMM</a> ammAlice(</div>
<div class="line"><a id="l03544" name="l03544"></a><span class="lineno"> 3544</span> env,</div>
<div class="line"><a id="l03545" name="l03545"></a><span class="lineno"> 3545</span> <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>,</div>
<div class="line"><a id="l03546" name="l03546"></a><span class="lineno"> 3546</span> <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10&#39;000),</div>
<div class="line"><a id="l03547" name="l03547"></a><span class="lineno"> 3547</span> <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(10&#39;000),</div>
<div class="line"><a id="l03548" name="l03548"></a><span class="lineno"> 3548</span> <span class="keyword">false</span>,</div>
<div class="line"><a id="l03549" name="l03549"></a><span class="lineno"> 3549</span> 0,</div>
<div class="line"><a id="l03550" name="l03550"></a><span class="lineno"> 3550</span> <a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMMTest.html#a7ade4a3adf6abbc6a83126be11f44539">ammCrtFee</a>(env).<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a47271eb5e7eb9b5aada383ccfaf9c0cf">drops</a>(),</div>
<div class="line"><a id="l03537" name="l03537"></a><span class="lineno"> 3537</span> env.require(<a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1owners.html">owners</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, 2));</div>
<div class="line"><a id="l03538" name="l03538"></a><span class="lineno"> 3538</span> </div>
<div class="line"><a id="l03539" name="l03539"></a><span class="lineno"> 3539</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1msig.html">msig</a> <span class="keyword">const</span> ms{becky, bogie};</div>
<div class="line"><a id="l03540" name="l03540"></a><span class="lineno"> 3540</span> </div>
<div class="line"><a id="l03541" name="l03541"></a><span class="lineno"> 3541</span> <span class="comment">// Multisign all AMM transactions</span></div>
<div class="line"><a id="l03542" name="l03542"></a><span class="lineno"> 3542</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1AMM.html">AMM</a> ammAlice(</div>
<div class="line"><a id="l03543" name="l03543"></a><span class="lineno"> 3543</span> env,</div>
<div class="line"><a id="l03544" name="l03544"></a><span class="lineno"> 3544</span> <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>,</div>
<div class="line"><a id="l03545" name="l03545"></a><span class="lineno"> 3545</span> <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10&#39;000),</div>
<div class="line"><a id="l03546" name="l03546"></a><span class="lineno"> 3546</span> <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(10&#39;000),</div>
<div class="line"><a id="l03547" name="l03547"></a><span class="lineno"> 3547</span> <span class="keyword">false</span>,</div>
<div class="line"><a id="l03548" name="l03548"></a><span class="lineno"> 3548</span> 0,</div>
<div class="line"><a id="l03549" name="l03549"></a><span class="lineno"> 3549</span> <a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMMTest.html#a7ade4a3adf6abbc6a83126be11f44539">ammCrtFee</a>(env).<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a47271eb5e7eb9b5aada383ccfaf9c0cf">drops</a>(),</div>
<div class="line"><a id="l03550" name="l03550"></a><span class="lineno"> 3550</span> <a class="code hl_variableRef" href="http://en.cppreference.com/w/cpp/types/is_same.html">std::nullopt</a>,</div>
<div class="line"><a id="l03551" name="l03551"></a><span class="lineno"> 3551</span> <a class="code hl_variableRef" href="http://en.cppreference.com/w/cpp/types/is_same.html">std::nullopt</a>,</div>
<div class="line"><a id="l03552" name="l03552"></a><span class="lineno"> 3552</span> <a class="code hl_variableRef" href="http://en.cppreference.com/w/cpp/types/is_same.html">std::nullopt</a>,</div>
<div class="line"><a id="l03553" name="l03553"></a><span class="lineno"> 3553</span> ms,</div>
<div class="line"><a id="l03554" name="l03554"></a><span class="lineno"> 3554</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="l03555" name="l03555"></a><span class="lineno"> 3555</span> BEAST_EXPECT(ammAlice.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMM.html#a88653ee0b6d0c6312c031bea9479ebe5">expectBalances</a>(</div>
<div class="line"><a id="l03556" name="l03556"></a><span class="lineno"> 3556</span> <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10&#39;000), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(10&#39;000), ammAlice.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMM.html#a698d79806ae1471df7682814db3018c9">tokens</a>()));</div>
<div class="line"><a id="l03557" name="l03557"></a><span class="lineno"> 3557</span> </div>
<div class="line"><a id="l03558" name="l03558"></a><span class="lineno"> 3558</span> ammAlice.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMM.html#a8f755873bcc0f4ac06f99f27618e0cd5">deposit</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, 1&#39;000&#39;000);</div>
<div class="line"><a id="l03559" name="l03559"></a><span class="lineno"> 3559</span> BEAST_EXPECT(ammAlice.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMM.html#a88653ee0b6d0c6312c031bea9479ebe5">expectBalances</a>(</div>
<div class="line"><a id="l03560" name="l03560"></a><span class="lineno"> 3560</span> <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(11&#39;000), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(11&#39;000), <a class="code hl_class" href="classripple_1_1IOUAmount.html">IOUAmount</a>{11&#39;000&#39;000, 0}));</div>
<div class="line"><a id="l03561" name="l03561"></a><span class="lineno"> 3561</span> </div>
<div class="line"><a id="l03562" name="l03562"></a><span class="lineno"> 3562</span> ammAlice.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMM.html#a857bda17195c076d9fa61883f03984fe">withdraw</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, 1&#39;000&#39;000);</div>
<div class="line"><a id="l03563" name="l03563"></a><span class="lineno"> 3563</span> BEAST_EXPECT(ammAlice.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMM.html#a88653ee0b6d0c6312c031bea9479ebe5">expectBalances</a>(</div>
<div class="line"><a id="l03564" name="l03564"></a><span class="lineno"> 3564</span> <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10&#39;000), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(10&#39;000), ammAlice.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMM.html#a698d79806ae1471df7682814db3018c9">tokens</a>()));</div>
<div class="line"><a id="l03565" name="l03565"></a><span class="lineno"> 3565</span> </div>
<div class="line"><a id="l03566" name="l03566"></a><span class="lineno"> 3566</span> ammAlice.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMM.html#a1f4c7268e3143c142cd9763e1b5595f2">vote</a>({}, 1&#39;000);</div>
<div class="line"><a id="l03567" name="l03567"></a><span class="lineno"> 3567</span> BEAST_EXPECT(ammAlice.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMM.html#a7b8b82f23b5bda291a992947b10abc3e">expectTradingFee</a>(1&#39;000));</div>
<div class="line"><a id="l03568" name="l03568"></a><span class="lineno"> 3568</span> </div>
<div class="line"><a id="l03569" name="l03569"></a><span class="lineno"> 3569</span> env(ammAlice.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMM.html#ab2af4e89db3a578be63b8f6e2a10aed3">bid</a>({.account = alice, .bidMin = 100}), ms).close();</div>
<div class="line"><a id="l03570" name="l03570"></a><span class="lineno"> 3570</span> BEAST_EXPECT(ammAlice.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMM.html#a40f978b02390af8c727e8c0a9fa7d03f">expectAuctionSlot</a>(100, 0, <a class="code hl_class" href="classripple_1_1IOUAmount.html">IOUAmount</a>{4&#39;000}));</div>
<div class="line"><a id="l03571" name="l03571"></a><span class="lineno"> 3571</span> <span class="comment">// 4000 tokens burnt</span></div>
<div class="line"><a id="l03572" name="l03572"></a><span class="lineno"> 3572</span> BEAST_EXPECT(ammAlice.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMM.html#a88653ee0b6d0c6312c031bea9479ebe5">expectBalances</a>(</div>
<div class="line"><a id="l03573" name="l03573"></a><span class="lineno"> 3573</span> <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10&#39;000), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(10&#39;000), <a class="code hl_class" href="classripple_1_1IOUAmount.html">IOUAmount</a>{9&#39;996&#39;000, 0}));</div>
<div class="line"><a id="l03574" name="l03574"></a><span class="lineno"> 3574</span> }</div>
<div class="line"><a id="l03552" name="l03552"></a><span class="lineno"> 3552</span> ms,</div>
<div class="line"><a id="l03553" name="l03553"></a><span class="lineno"> 3553</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="l03554" name="l03554"></a><span class="lineno"> 3554</span> BEAST_EXPECT(ammAlice.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMM.html#a88653ee0b6d0c6312c031bea9479ebe5">expectBalances</a>(</div>
<div class="line"><a id="l03555" name="l03555"></a><span class="lineno"> 3555</span> <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10&#39;000), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(10&#39;000), ammAlice.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMM.html#a698d79806ae1471df7682814db3018c9">tokens</a>()));</div>
<div class="line"><a id="l03556" name="l03556"></a><span class="lineno"> 3556</span> </div>
<div class="line"><a id="l03557" name="l03557"></a><span class="lineno"> 3557</span> ammAlice.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMM.html#a8f755873bcc0f4ac06f99f27618e0cd5">deposit</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, 1&#39;000&#39;000);</div>
<div class="line"><a id="l03558" name="l03558"></a><span class="lineno"> 3558</span> BEAST_EXPECT(ammAlice.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMM.html#a88653ee0b6d0c6312c031bea9479ebe5">expectBalances</a>(</div>
<div class="line"><a id="l03559" name="l03559"></a><span class="lineno"> 3559</span> <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(11&#39;000), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(11&#39;000), <a class="code hl_class" href="classripple_1_1IOUAmount.html">IOUAmount</a>{11&#39;000&#39;000, 0}));</div>
<div class="line"><a id="l03560" name="l03560"></a><span class="lineno"> 3560</span> </div>
<div class="line"><a id="l03561" name="l03561"></a><span class="lineno"> 3561</span> ammAlice.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMM.html#a857bda17195c076d9fa61883f03984fe">withdraw</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, 1&#39;000&#39;000);</div>
<div class="line"><a id="l03562" name="l03562"></a><span class="lineno"> 3562</span> BEAST_EXPECT(ammAlice.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMM.html#a88653ee0b6d0c6312c031bea9479ebe5">expectBalances</a>(</div>
<div class="line"><a id="l03563" name="l03563"></a><span class="lineno"> 3563</span> <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10&#39;000), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(10&#39;000), ammAlice.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMM.html#a698d79806ae1471df7682814db3018c9">tokens</a>()));</div>
<div class="line"><a id="l03564" name="l03564"></a><span class="lineno"> 3564</span> </div>
<div class="line"><a id="l03565" name="l03565"></a><span class="lineno"> 3565</span> ammAlice.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMM.html#a1f4c7268e3143c142cd9763e1b5595f2">vote</a>({}, 1&#39;000);</div>
<div class="line"><a id="l03566" name="l03566"></a><span class="lineno"> 3566</span> BEAST_EXPECT(ammAlice.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMM.html#a7b8b82f23b5bda291a992947b10abc3e">expectTradingFee</a>(1&#39;000));</div>
<div class="line"><a id="l03567" name="l03567"></a><span class="lineno"> 3567</span> </div>
<div class="line"><a id="l03568" name="l03568"></a><span class="lineno"> 3568</span> env(ammAlice.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMM.html#ab2af4e89db3a578be63b8f6e2a10aed3">bid</a>({.account = alice, .bidMin = 100}), ms).close();</div>
<div class="line"><a id="l03569" name="l03569"></a><span class="lineno"> 3569</span> BEAST_EXPECT(ammAlice.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMM.html#a40f978b02390af8c727e8c0a9fa7d03f">expectAuctionSlot</a>(100, 0, <a class="code hl_class" href="classripple_1_1IOUAmount.html">IOUAmount</a>{4&#39;000}));</div>
<div class="line"><a id="l03570" name="l03570"></a><span class="lineno"> 3570</span> <span class="comment">// 4000 tokens burnt</span></div>
<div class="line"><a id="l03571" name="l03571"></a><span class="lineno"> 3571</span> BEAST_EXPECT(ammAlice.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMM.html#a88653ee0b6d0c6312c031bea9479ebe5">expectBalances</a>(</div>
<div class="line"><a id="l03572" name="l03572"></a><span class="lineno"> 3572</span> <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10&#39;000), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(10&#39;000), <a class="code hl_class" href="classripple_1_1IOUAmount.html">IOUAmount</a>{9&#39;996&#39;000, 0}));</div>
<div class="line"><a id="l03573" name="l03573"></a><span class="lineno"> 3573</span> }</div>
</div>
<div class="line"><a id="l03575" name="l03575"></a><span class="lineno"> 3575</span> </div>
<div class="line"><a id="l03576" name="l03576"></a><span class="lineno"> 3576</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen03577" data-start="{" data-end="}">
<div class="line"><a id="l03577" name="l03577"></a><span class="lineno"><a class="line" href="structripple_1_1test_1_1AMMExtended__test.html#a74dd4d93fcc0432a1150abfc2a2d9ac1"> 3577</a></span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a74dd4d93fcc0432a1150abfc2a2d9ac1">testToStrand</a>(<a class="code hl_class" href="classripple_1_1FeatureBitset.html">FeatureBitset</a> features)</div>
<div class="line"><a id="l03578" name="l03578"></a><span class="lineno"> 3578</span> {</div>
<div class="line"><a id="l03579" name="l03579"></a><span class="lineno"> 3579</span> <a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">testcase</a>(<span class="stringliteral">&quot;To Strand&quot;</span>);</div>
<div class="line"><a id="l03580" name="l03580"></a><span class="lineno"> 3580</span> </div>
<div class="line"><a id="l03581" name="l03581"></a><span class="lineno"> 3581</span> <span class="keyword">using namespace </span>jtx;</div>
<div class="line"><a id="l03582" name="l03582"></a><span class="lineno"> 3582</span> </div>
<div class="line"><a id="l03583" name="l03583"></a><span class="lineno"> 3583</span> <span class="comment">// cannot have more than one offer with the same output issue</span></div>
<div class="line"><a id="l03584" name="l03584"></a><span class="lineno"> 3584</span> </div>
<div class="line"><a id="l03585" name="l03585"></a><span class="lineno"> 3585</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env(*<span class="keyword">this</span>, features);</div>
<div class="line"><a id="l03586" name="l03586"></a><span class="lineno"> 3586</span> </div>
<div class="line"><a id="l03587" name="l03587"></a><span class="lineno"> 3587</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a7465bcfa8bde2f58f93cee57934f7df8">fund</a>(</div>
<div class="line"><a id="l03588" name="l03588"></a><span class="lineno"> 3588</span> env,</div>
<div class="line"><a id="l03589" name="l03589"></a><span class="lineno"> 3589</span> <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a632ccc576a9415e4648b80fa52886e54">gw</a>,</div>
<div class="line"><a id="l03590" name="l03590"></a><span class="lineno"> 3590</span> {<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#aeedbd0d6402d225e41bd10251a7a0127">carol</a>},</div>
<div class="line"><a id="l03591" name="l03591"></a><span class="lineno"> 3591</span> <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10&#39;000),</div>
<div class="line"><a id="l03592" name="l03592"></a><span class="lineno"> 3592</span> {<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(2&#39;000), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a80494932440025696dc4729725928d2c">EUR</a>(1&#39;000)});</div>
<div class="line"><a id="l03593" name="l03593"></a><span class="lineno"> 3593</span> </div>
<div class="line"><a id="l03594" name="l03594"></a><span class="lineno"> 3594</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1AMM.html">AMM</a> bobXRP_USD(env, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(1&#39;000), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(1&#39;000));</div>
<div class="line"><a id="l03595" name="l03595"></a><span class="lineno"> 3595</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1AMM.html">AMM</a> bobUSD_EUR(env, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(1&#39;000), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a80494932440025696dc4729725928d2c">EUR</a>(1&#39;000));</div>
<div class="line"><a id="l03596" name="l03596"></a><span class="lineno"> 3596</span> </div>
<div class="line"><a id="l03597" name="l03597"></a><span class="lineno"> 3597</span> <span class="comment">// payment path: XRP -&gt; XRP/USD -&gt; USD/EUR -&gt; EUR/USD</span></div>
<div class="line"><a id="l03598" name="l03598"></a><span class="lineno"> 3598</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a66b99468a4160bccaa9959a444b40d40">pay</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#aeedbd0d6402d225e41bd10251a7a0127">carol</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(100)),</div>
<div class="line"><a id="l03599" name="l03599"></a><span class="lineno"> 3599</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1path.html">path</a>(~<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>, ~<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a80494932440025696dc4729725928d2c">EUR</a>, ~<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>),</div>
<div class="line"><a id="l03600" name="l03600"></a><span class="lineno"> 3600</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1sendmax.html">sendmax</a>(<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(200)),</div>
<div class="line"><a id="l03601" name="l03601"></a><span class="lineno"> 3601</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code hl_variable" href="namespaceripple.html#aab3ff08970a7fcec2229fc4c9e5f7d38">tfNoRippleDirect</a>),</div>
<div class="line"><a id="l03602" name="l03602"></a><span class="lineno"> 3602</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#afe21c8454670d46fb93751a5edffed46a12457d1044fb018f478405504184dc79">temBAD_PATH_LOOP</a>));</div>
<div class="line"><a id="l03603" name="l03603"></a><span class="lineno"> 3603</span> }</div>
<div class="line"><a id="l03574" name="l03574"></a><span class="lineno"> 3574</span> </div>
<div class="line"><a id="l03575" name="l03575"></a><span class="lineno"> 3575</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen03576" data-start="{" data-end="}">
<div class="line"><a id="l03576" name="l03576"></a><span class="lineno"><a class="line" href="structripple_1_1test_1_1AMMExtended__test.html#a74dd4d93fcc0432a1150abfc2a2d9ac1"> 3576</a></span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a74dd4d93fcc0432a1150abfc2a2d9ac1">testToStrand</a>(<a class="code hl_class" href="classripple_1_1FeatureBitset.html">FeatureBitset</a> features)</div>
<div class="line"><a id="l03577" name="l03577"></a><span class="lineno"> 3577</span> {</div>
<div class="line"><a id="l03578" name="l03578"></a><span class="lineno"> 3578</span> <a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">testcase</a>(<span class="stringliteral">&quot;To Strand&quot;</span>);</div>
<div class="line"><a id="l03579" name="l03579"></a><span class="lineno"> 3579</span> </div>
<div class="line"><a id="l03580" name="l03580"></a><span class="lineno"> 3580</span> <span class="keyword">using namespace </span>jtx;</div>
<div class="line"><a id="l03581" name="l03581"></a><span class="lineno"> 3581</span> </div>
<div class="line"><a id="l03582" name="l03582"></a><span class="lineno"> 3582</span> <span class="comment">// cannot have more than one offer with the same output issue</span></div>
<div class="line"><a id="l03583" name="l03583"></a><span class="lineno"> 3583</span> </div>
<div class="line"><a id="l03584" name="l03584"></a><span class="lineno"> 3584</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env(*<span class="keyword">this</span>, features);</div>
<div class="line"><a id="l03585" name="l03585"></a><span class="lineno"> 3585</span> </div>
<div class="line"><a id="l03586" name="l03586"></a><span class="lineno"> 3586</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a7465bcfa8bde2f58f93cee57934f7df8">fund</a>(</div>
<div class="line"><a id="l03587" name="l03587"></a><span class="lineno"> 3587</span> env,</div>
<div class="line"><a id="l03588" name="l03588"></a><span class="lineno"> 3588</span> <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a632ccc576a9415e4648b80fa52886e54">gw</a>,</div>
<div class="line"><a id="l03589" name="l03589"></a><span class="lineno"> 3589</span> {<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#aeedbd0d6402d225e41bd10251a7a0127">carol</a>},</div>
<div class="line"><a id="l03590" name="l03590"></a><span class="lineno"> 3590</span> <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10&#39;000),</div>
<div class="line"><a id="l03591" name="l03591"></a><span class="lineno"> 3591</span> {<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(2&#39;000), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a80494932440025696dc4729725928d2c">EUR</a>(1&#39;000)});</div>
<div class="line"><a id="l03592" name="l03592"></a><span class="lineno"> 3592</span> </div>
<div class="line"><a id="l03593" name="l03593"></a><span class="lineno"> 3593</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1AMM.html">AMM</a> bobXRP_USD(env, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(1&#39;000), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(1&#39;000));</div>
<div class="line"><a id="l03594" name="l03594"></a><span class="lineno"> 3594</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1AMM.html">AMM</a> bobUSD_EUR(env, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(1&#39;000), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a80494932440025696dc4729725928d2c">EUR</a>(1&#39;000));</div>
<div class="line"><a id="l03595" name="l03595"></a><span class="lineno"> 3595</span> </div>
<div class="line"><a id="l03596" name="l03596"></a><span class="lineno"> 3596</span> <span class="comment">// payment path: XRP -&gt; XRP/USD -&gt; USD/EUR -&gt; EUR/USD</span></div>
<div class="line"><a id="l03597" name="l03597"></a><span class="lineno"> 3597</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a66b99468a4160bccaa9959a444b40d40">pay</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#aeedbd0d6402d225e41bd10251a7a0127">carol</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(100)),</div>
<div class="line"><a id="l03598" name="l03598"></a><span class="lineno"> 3598</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1path.html">path</a>(~<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>, ~<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a80494932440025696dc4729725928d2c">EUR</a>, ~<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>),</div>
<div class="line"><a id="l03599" name="l03599"></a><span class="lineno"> 3599</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1sendmax.html">sendmax</a>(<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(200)),</div>
<div class="line"><a id="l03600" name="l03600"></a><span class="lineno"> 3600</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code hl_variable" href="namespaceripple.html#aab3ff08970a7fcec2229fc4c9e5f7d38">tfNoRippleDirect</a>),</div>
<div class="line"><a id="l03601" name="l03601"></a><span class="lineno"> 3601</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#afe21c8454670d46fb93751a5edffed46a12457d1044fb018f478405504184dc79">temBAD_PATH_LOOP</a>));</div>
<div class="line"><a id="l03602" name="l03602"></a><span class="lineno"> 3602</span> }</div>
</div>
<div class="line"><a id="l03604" name="l03604"></a><span class="lineno"> 3604</span> </div>
<div class="line"><a id="l03605" name="l03605"></a><span class="lineno"> 3605</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen03606" data-start="{" data-end="}">
<div class="line"><a id="l03606" name="l03606"></a><span class="lineno"><a class="line" href="structripple_1_1test_1_1AMMExtended__test.html#a8b7661580251d8b2e017f30964142669"> 3606</a></span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a8b7661580251d8b2e017f30964142669">testRIPD1373</a>(<a class="code hl_class" href="classripple_1_1FeatureBitset.html">FeatureBitset</a> features)</div>
<div class="line"><a id="l03607" name="l03607"></a><span class="lineno"> 3607</span> {</div>
<div class="line"><a id="l03608" name="l03608"></a><span class="lineno"> 3608</span> <span class="keyword">using namespace </span>jtx;</div>
<div class="line"><a id="l03609" name="l03609"></a><span class="lineno"> 3609</span> <a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">testcase</a>(<span class="stringliteral">&quot;RIPD1373&quot;</span>);</div>
<div class="line"><a id="l03610" name="l03610"></a><span class="lineno"> 3610</span> </div>
<div class="line"><a id="l03611" name="l03611"></a><span class="lineno"> 3611</span> {</div>
<div class="line"><a id="l03612" name="l03612"></a><span class="lineno"> 3612</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env(*<span class="keyword">this</span>, features);</div>
<div class="line"><a id="l03613" name="l03613"></a><span class="lineno"> 3613</span> <span class="keyword">auto</span> <span class="keyword">const</span> BobUSD = <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>[<span class="stringliteral">&quot;USD&quot;</span>];</div>
<div class="line"><a id="l03614" name="l03614"></a><span class="lineno"> 3614</span> <span class="keyword">auto</span> <span class="keyword">const</span> BobEUR = <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>[<span class="stringliteral">&quot;EUR&quot;</span>];</div>
<div class="line"><a id="l03615" name="l03615"></a><span class="lineno"> 3615</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a7465bcfa8bde2f58f93cee57934f7df8">fund</a>(env, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a632ccc576a9415e4648b80fa52886e54">gw</a>, {<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>}, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10&#39;000));</div>
<div class="line"><a id="l03616" name="l03616"></a><span class="lineno"> 3616</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a90fecf3c0f6cdc1c40761e19917bf65a">trust</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(1&#39;000), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>);</div>
<div class="line"><a id="l03617" name="l03617"></a><span class="lineno"> 3617</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a90fecf3c0f6cdc1c40761e19917bf65a">trust</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a80494932440025696dc4729725928d2c">EUR</a>(1&#39;000), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>);</div>
<div class="line"><a id="l03618" name="l03618"></a><span class="lineno"> 3618</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
<div class="line"><a id="l03619" name="l03619"></a><span class="lineno"> 3619</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a7465bcfa8bde2f58f93cee57934f7df8">fund</a>(</div>
<div class="line"><a id="l03620" name="l03620"></a><span class="lineno"> 3620</span> env,</div>
<div class="line"><a id="l03621" name="l03621"></a><span class="lineno"> 3621</span> <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>,</div>
<div class="line"><a id="l03622" name="l03622"></a><span class="lineno"> 3622</span> {<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a632ccc576a9415e4648b80fa52886e54">gw</a>},</div>
<div class="line"><a id="l03623" name="l03623"></a><span class="lineno"> 3623</span> {BobUSD(100), BobEUR(100)},</div>
<div class="line"><a id="l03624" name="l03624"></a><span class="lineno"> 3624</span> Fund::IOUOnly);</div>
<div class="line"><a id="l03625" name="l03625"></a><span class="lineno"> 3625</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
<div class="line"><a id="l03626" name="l03626"></a><span class="lineno"> 3626</span> </div>
<div class="line"><a id="l03627" name="l03627"></a><span class="lineno"> 3627</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1AMM.html">AMM</a> ammBobXRP_USD(env, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(100), BobUSD(100));</div>
<div class="line"><a id="l03628" name="l03628"></a><span class="lineno"> 3628</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#ac423e2aa3fd7a14ae651849b430994f1">offer</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a632ccc576a9415e4648b80fa52886e54">gw</a>, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(100), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(100)), <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code hl_variable" href="namespaceripple.html#a61d9fbb44b335fbb5e82e3211e6639a2">tfPassive</a>));</div>
<div class="line"><a id="l03629" name="l03629"></a><span class="lineno"> 3629</span> </div>
<div class="line"><a id="l03630" name="l03630"></a><span class="lineno"> 3630</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1AMM.html">AMM</a> ammBobUSD_EUR(env, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, BobUSD(100), BobEUR(100));</div>
<div class="line"><a id="l03631" name="l03631"></a><span class="lineno"> 3631</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#ac423e2aa3fd7a14ae651849b430994f1">offer</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a632ccc576a9415e4648b80fa52886e54">gw</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(100), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a80494932440025696dc4729725928d2c">EUR</a>(100)), <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code hl_variable" href="namespaceripple.html#a61d9fbb44b335fbb5e82e3211e6639a2">tfPassive</a>));</div>
<div class="line"><a id="l03632" name="l03632"></a><span class="lineno"> 3632</span> </div>
<div class="line"><a id="l03633" name="l03633"></a><span class="lineno"> 3633</span> <a class="code hl_class" href="classripple_1_1test_1_1Path.html">Path</a> <span class="keyword">const</span> p = [&amp;] {</div>
<div class="line"><a id="l03634" name="l03634"></a><span class="lineno"> 3634</span> <a class="code hl_class" href="classripple_1_1test_1_1Path.html">Path</a> result;</div>
<div class="line"><a id="l03635" name="l03635"></a><span class="lineno"> 3635</span> result.<a class="code hl_function" href="classripple_1_1test_1_1Path.html#a8e448cc1407c2580623232bc146837f6">push_back</a>(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#ae46705d6303e606f7b4ee59ab463d76a">allpe</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a632ccc576a9415e4648b80fa52886e54">gw</a>, BobUSD));</div>
<div class="line"><a id="l03636" name="l03636"></a><span class="lineno"> 3636</span> result.<a class="code hl_function" href="classripple_1_1test_1_1Path.html#a8e448cc1407c2580623232bc146837f6">push_back</a>(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#adf8b78da0ef68228d35b6865677d6031">cpe</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a80494932440025696dc4729725928d2c">EUR</a>.<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1IOU.html#a03e0ced7e587d6635b1fd137f34aac8f">currency</a>));</div>
<div class="line"><a id="l03637" name="l03637"></a><span class="lineno"> 3637</span> <span class="keywordflow">return</span> result;</div>
<div class="line"><a id="l03638" name="l03638"></a><span class="lineno"> 3638</span> }();</div>
<div class="line"><a id="l03639" name="l03639"></a><span class="lineno"> 3639</span> </div>
<div class="line"><a id="l03640" name="l03640"></a><span class="lineno"> 3640</span> <a class="code hl_class" href="classripple_1_1test_1_1PathSet.html">PathSet</a> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1paths.html">paths</a>(p);</div>
<div class="line"><a id="l03641" name="l03641"></a><span class="lineno"> 3641</span> </div>
<div class="line"><a id="l03642" name="l03642"></a><span class="lineno"> 3642</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a66b99468a4160bccaa9959a444b40d40">pay</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a80494932440025696dc4729725928d2c">EUR</a>(1)),</div>
<div class="line"><a id="l03643" name="l03643"></a><span class="lineno"> 3643</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1json.html">json</a>(<a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1paths.html">paths</a>.json()),</div>
<div class="line"><a id="l03644" name="l03644"></a><span class="lineno"> 3644</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1sendmax.html">sendmax</a>(<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10)),</div>
<div class="line"><a id="l03645" name="l03645"></a><span class="lineno"> 3645</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code hl_variable" href="namespaceripple.html#aab3ff08970a7fcec2229fc4c9e5f7d38">tfNoRippleDirect</a> | <a class="code hl_variable" href="namespaceripple.html#a7efcc6de2ed8aa0fa1f3e0a632f2f095">tfPartialPayment</a>),</div>
<div class="line"><a id="l03646" name="l03646"></a><span class="lineno"> 3646</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#afe21c8454670d46fb93751a5edffed46a301b180a711f213c51de73aba9d28de5">temBAD_PATH</a>));</div>
<div class="line"><a id="l03647" name="l03647"></a><span class="lineno"> 3647</span> }</div>
<div class="line"><a id="l03648" name="l03648"></a><span class="lineno"> 3648</span> </div>
<div class="line"><a id="l03649" name="l03649"></a><span class="lineno"> 3649</span> {</div>
<div class="line"><a id="l03650" name="l03650"></a><span class="lineno"> 3650</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env(*<span class="keyword">this</span>, features);</div>
<div class="line"><a id="l03651" name="l03651"></a><span class="lineno"> 3651</span> </div>
<div class="line"><a id="l03652" name="l03652"></a><span class="lineno"> 3652</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a7465bcfa8bde2f58f93cee57934f7df8">fund</a>(env, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a632ccc576a9415e4648b80fa52886e54">gw</a>, {<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#aeedbd0d6402d225e41bd10251a7a0127">carol</a>}, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10&#39;000), {<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(100)});</div>
<div class="line"><a id="l03653" name="l03653"></a><span class="lineno"> 3653</span> </div>
<div class="line"><a id="l03654" name="l03654"></a><span class="lineno"> 3654</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1AMM.html">AMM</a> ammBob(env, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(100), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(100));</div>
<div class="line"><a id="l03655" name="l03655"></a><span class="lineno"> 3655</span> </div>
<div class="line"><a id="l03656" name="l03656"></a><span class="lineno"> 3656</span> <span class="comment">// payment path: XRP -&gt; XRP/USD -&gt; USD/XRP</span></div>
<div class="line"><a id="l03657" name="l03657"></a><span class="lineno"> 3657</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a66b99468a4160bccaa9959a444b40d40">pay</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#aeedbd0d6402d225e41bd10251a7a0127">carol</a>, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(100)),</div>
<div class="line"><a id="l03658" name="l03658"></a><span class="lineno"> 3658</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1path.html">path</a>(~<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>, ~<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>),</div>
<div class="line"><a id="l03659" name="l03659"></a><span class="lineno"> 3659</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code hl_variable" href="namespaceripple.html#aab3ff08970a7fcec2229fc4c9e5f7d38">tfNoRippleDirect</a>),</div>
<div class="line"><a id="l03660" name="l03660"></a><span class="lineno"> 3660</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#afe21c8454670d46fb93751a5edffed46a857efd3ad8949f2de9e95c26117a2d36">temBAD_SEND_XRP_PATHS</a>));</div>
<div class="line"><a id="l03661" name="l03661"></a><span class="lineno"> 3661</span> }</div>
<div class="line"><a id="l03662" name="l03662"></a><span class="lineno"> 3662</span> </div>
<div class="line"><a id="l03663" name="l03663"></a><span class="lineno"> 3663</span> {</div>
<div class="line"><a id="l03664" name="l03664"></a><span class="lineno"> 3664</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env(*<span class="keyword">this</span>, features);</div>
<div class="line"><a id="l03665" name="l03665"></a><span class="lineno"> 3665</span> </div>
<div class="line"><a id="l03666" name="l03666"></a><span class="lineno"> 3666</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a7465bcfa8bde2f58f93cee57934f7df8">fund</a>(env, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a632ccc576a9415e4648b80fa52886e54">gw</a>, {<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#aeedbd0d6402d225e41bd10251a7a0127">carol</a>}, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10&#39;000), {<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(100)});</div>
<div class="line"><a id="l03667" name="l03667"></a><span class="lineno"> 3667</span> </div>
<div class="line"><a id="l03668" name="l03668"></a><span class="lineno"> 3668</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1AMM.html">AMM</a> ammBob(env, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(100), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(100));</div>
<div class="line"><a id="l03669" name="l03669"></a><span class="lineno"> 3669</span> </div>
<div class="line"><a id="l03670" name="l03670"></a><span class="lineno"> 3670</span> <span class="comment">// payment path: XRP -&gt; XRP/USD -&gt; USD/XRP</span></div>
<div class="line"><a id="l03671" name="l03671"></a><span class="lineno"> 3671</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a66b99468a4160bccaa9959a444b40d40">pay</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#aeedbd0d6402d225e41bd10251a7a0127">carol</a>, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(100)),</div>
<div class="line"><a id="l03672" name="l03672"></a><span class="lineno"> 3672</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1path.html">path</a>(~<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>, ~<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>),</div>
<div class="line"><a id="l03673" name="l03673"></a><span class="lineno"> 3673</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1sendmax.html">sendmax</a>(<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(200)),</div>
<div class="line"><a id="l03674" name="l03674"></a><span class="lineno"> 3674</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code hl_variable" href="namespaceripple.html#aab3ff08970a7fcec2229fc4c9e5f7d38">tfNoRippleDirect</a>),</div>
<div class="line"><a id="l03675" name="l03675"></a><span class="lineno"> 3675</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#afe21c8454670d46fb93751a5edffed46ae5e710c77de4283b489279179291c0bc">temBAD_SEND_XRP_MAX</a>));</div>
<div class="line"><a id="l03676" name="l03676"></a><span class="lineno"> 3676</span> }</div>
<div class="line"><a id="l03677" name="l03677"></a><span class="lineno"> 3677</span> }</div>
<div class="line"><a id="l03603" name="l03603"></a><span class="lineno"> 3603</span> </div>
<div class="line"><a id="l03604" name="l03604"></a><span class="lineno"> 3604</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen03605" data-start="{" data-end="}">
<div class="line"><a id="l03605" name="l03605"></a><span class="lineno"><a class="line" href="structripple_1_1test_1_1AMMExtended__test.html#a8b7661580251d8b2e017f30964142669"> 3605</a></span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a8b7661580251d8b2e017f30964142669">testRIPD1373</a>(<a class="code hl_class" href="classripple_1_1FeatureBitset.html">FeatureBitset</a> features)</div>
<div class="line"><a id="l03606" name="l03606"></a><span class="lineno"> 3606</span> {</div>
<div class="line"><a id="l03607" name="l03607"></a><span class="lineno"> 3607</span> <span class="keyword">using namespace </span>jtx;</div>
<div class="line"><a id="l03608" name="l03608"></a><span class="lineno"> 3608</span> <a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">testcase</a>(<span class="stringliteral">&quot;RIPD1373&quot;</span>);</div>
<div class="line"><a id="l03609" name="l03609"></a><span class="lineno"> 3609</span> </div>
<div class="line"><a id="l03610" name="l03610"></a><span class="lineno"> 3610</span> {</div>
<div class="line"><a id="l03611" name="l03611"></a><span class="lineno"> 3611</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env(*<span class="keyword">this</span>, features);</div>
<div class="line"><a id="l03612" name="l03612"></a><span class="lineno"> 3612</span> <span class="keyword">auto</span> <span class="keyword">const</span> BobUSD = <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>[<span class="stringliteral">&quot;USD&quot;</span>];</div>
<div class="line"><a id="l03613" name="l03613"></a><span class="lineno"> 3613</span> <span class="keyword">auto</span> <span class="keyword">const</span> BobEUR = <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>[<span class="stringliteral">&quot;EUR&quot;</span>];</div>
<div class="line"><a id="l03614" name="l03614"></a><span class="lineno"> 3614</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a7465bcfa8bde2f58f93cee57934f7df8">fund</a>(env, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a632ccc576a9415e4648b80fa52886e54">gw</a>, {<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>}, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10&#39;000));</div>
<div class="line"><a id="l03615" name="l03615"></a><span class="lineno"> 3615</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a90fecf3c0f6cdc1c40761e19917bf65a">trust</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(1&#39;000), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>);</div>
<div class="line"><a id="l03616" name="l03616"></a><span class="lineno"> 3616</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a90fecf3c0f6cdc1c40761e19917bf65a">trust</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a80494932440025696dc4729725928d2c">EUR</a>(1&#39;000), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>);</div>
<div class="line"><a id="l03617" name="l03617"></a><span class="lineno"> 3617</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
<div class="line"><a id="l03618" name="l03618"></a><span class="lineno"> 3618</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a7465bcfa8bde2f58f93cee57934f7df8">fund</a>(</div>
<div class="line"><a id="l03619" name="l03619"></a><span class="lineno"> 3619</span> env,</div>
<div class="line"><a id="l03620" name="l03620"></a><span class="lineno"> 3620</span> <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>,</div>
<div class="line"><a id="l03621" name="l03621"></a><span class="lineno"> 3621</span> {<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a632ccc576a9415e4648b80fa52886e54">gw</a>},</div>
<div class="line"><a id="l03622" name="l03622"></a><span class="lineno"> 3622</span> {BobUSD(100), BobEUR(100)},</div>
<div class="line"><a id="l03623" name="l03623"></a><span class="lineno"> 3623</span> Fund::IOUOnly);</div>
<div class="line"><a id="l03624" name="l03624"></a><span class="lineno"> 3624</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
<div class="line"><a id="l03625" name="l03625"></a><span class="lineno"> 3625</span> </div>
<div class="line"><a id="l03626" name="l03626"></a><span class="lineno"> 3626</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1AMM.html">AMM</a> ammBobXRP_USD(env, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(100), BobUSD(100));</div>
<div class="line"><a id="l03627" name="l03627"></a><span class="lineno"> 3627</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#ac423e2aa3fd7a14ae651849b430994f1">offer</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a632ccc576a9415e4648b80fa52886e54">gw</a>, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(100), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(100)), <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code hl_variable" href="namespaceripple.html#a61d9fbb44b335fbb5e82e3211e6639a2">tfPassive</a>));</div>
<div class="line"><a id="l03628" name="l03628"></a><span class="lineno"> 3628</span> </div>
<div class="line"><a id="l03629" name="l03629"></a><span class="lineno"> 3629</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1AMM.html">AMM</a> ammBobUSD_EUR(env, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, BobUSD(100), BobEUR(100));</div>
<div class="line"><a id="l03630" name="l03630"></a><span class="lineno"> 3630</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#ac423e2aa3fd7a14ae651849b430994f1">offer</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a632ccc576a9415e4648b80fa52886e54">gw</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(100), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a80494932440025696dc4729725928d2c">EUR</a>(100)), <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code hl_variable" href="namespaceripple.html#a61d9fbb44b335fbb5e82e3211e6639a2">tfPassive</a>));</div>
<div class="line"><a id="l03631" name="l03631"></a><span class="lineno"> 3631</span> </div>
<div class="line"><a id="l03632" name="l03632"></a><span class="lineno"> 3632</span> <a class="code hl_class" href="classripple_1_1test_1_1Path.html">Path</a> <span class="keyword">const</span> p = [&amp;] {</div>
<div class="line"><a id="l03633" name="l03633"></a><span class="lineno"> 3633</span> <a class="code hl_class" href="classripple_1_1test_1_1Path.html">Path</a> result;</div>
<div class="line"><a id="l03634" name="l03634"></a><span class="lineno"> 3634</span> result.<a class="code hl_function" href="classripple_1_1test_1_1Path.html#a8e448cc1407c2580623232bc146837f6">push_back</a>(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#ae46705d6303e606f7b4ee59ab463d76a">allpe</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a632ccc576a9415e4648b80fa52886e54">gw</a>, BobUSD));</div>
<div class="line"><a id="l03635" name="l03635"></a><span class="lineno"> 3635</span> result.<a class="code hl_function" href="classripple_1_1test_1_1Path.html#a8e448cc1407c2580623232bc146837f6">push_back</a>(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#adf8b78da0ef68228d35b6865677d6031">cpe</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a80494932440025696dc4729725928d2c">EUR</a>.<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1IOU.html#a03e0ced7e587d6635b1fd137f34aac8f">currency</a>));</div>
<div class="line"><a id="l03636" name="l03636"></a><span class="lineno"> 3636</span> <span class="keywordflow">return</span> result;</div>
<div class="line"><a id="l03637" name="l03637"></a><span class="lineno"> 3637</span> }();</div>
<div class="line"><a id="l03638" name="l03638"></a><span class="lineno"> 3638</span> </div>
<div class="line"><a id="l03639" name="l03639"></a><span class="lineno"> 3639</span> <a class="code hl_class" href="classripple_1_1test_1_1PathSet.html">PathSet</a> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1paths.html">paths</a>(p);</div>
<div class="line"><a id="l03640" name="l03640"></a><span class="lineno"> 3640</span> </div>
<div class="line"><a id="l03641" name="l03641"></a><span class="lineno"> 3641</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a66b99468a4160bccaa9959a444b40d40">pay</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a80494932440025696dc4729725928d2c">EUR</a>(1)),</div>
<div class="line"><a id="l03642" name="l03642"></a><span class="lineno"> 3642</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1json.html">json</a>(<a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1paths.html">paths</a>.json()),</div>
<div class="line"><a id="l03643" name="l03643"></a><span class="lineno"> 3643</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1sendmax.html">sendmax</a>(<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10)),</div>
<div class="line"><a id="l03644" name="l03644"></a><span class="lineno"> 3644</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code hl_variable" href="namespaceripple.html#aab3ff08970a7fcec2229fc4c9e5f7d38">tfNoRippleDirect</a> | <a class="code hl_variable" href="namespaceripple.html#a7efcc6de2ed8aa0fa1f3e0a632f2f095">tfPartialPayment</a>),</div>
<div class="line"><a id="l03645" name="l03645"></a><span class="lineno"> 3645</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#afe21c8454670d46fb93751a5edffed46a301b180a711f213c51de73aba9d28de5">temBAD_PATH</a>));</div>
<div class="line"><a id="l03646" name="l03646"></a><span class="lineno"> 3646</span> }</div>
<div class="line"><a id="l03647" name="l03647"></a><span class="lineno"> 3647</span> </div>
<div class="line"><a id="l03648" name="l03648"></a><span class="lineno"> 3648</span> {</div>
<div class="line"><a id="l03649" name="l03649"></a><span class="lineno"> 3649</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env(*<span class="keyword">this</span>, features);</div>
<div class="line"><a id="l03650" name="l03650"></a><span class="lineno"> 3650</span> </div>
<div class="line"><a id="l03651" name="l03651"></a><span class="lineno"> 3651</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a7465bcfa8bde2f58f93cee57934f7df8">fund</a>(env, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a632ccc576a9415e4648b80fa52886e54">gw</a>, {<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#aeedbd0d6402d225e41bd10251a7a0127">carol</a>}, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10&#39;000), {<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(100)});</div>
<div class="line"><a id="l03652" name="l03652"></a><span class="lineno"> 3652</span> </div>
<div class="line"><a id="l03653" name="l03653"></a><span class="lineno"> 3653</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1AMM.html">AMM</a> ammBob(env, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(100), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(100));</div>
<div class="line"><a id="l03654" name="l03654"></a><span class="lineno"> 3654</span> </div>
<div class="line"><a id="l03655" name="l03655"></a><span class="lineno"> 3655</span> <span class="comment">// payment path: XRP -&gt; XRP/USD -&gt; USD/XRP</span></div>
<div class="line"><a id="l03656" name="l03656"></a><span class="lineno"> 3656</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a66b99468a4160bccaa9959a444b40d40">pay</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#aeedbd0d6402d225e41bd10251a7a0127">carol</a>, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(100)),</div>
<div class="line"><a id="l03657" name="l03657"></a><span class="lineno"> 3657</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1path.html">path</a>(~<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>, ~<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>),</div>
<div class="line"><a id="l03658" name="l03658"></a><span class="lineno"> 3658</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code hl_variable" href="namespaceripple.html#aab3ff08970a7fcec2229fc4c9e5f7d38">tfNoRippleDirect</a>),</div>
<div class="line"><a id="l03659" name="l03659"></a><span class="lineno"> 3659</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#afe21c8454670d46fb93751a5edffed46a857efd3ad8949f2de9e95c26117a2d36">temBAD_SEND_XRP_PATHS</a>));</div>
<div class="line"><a id="l03660" name="l03660"></a><span class="lineno"> 3660</span> }</div>
<div class="line"><a id="l03661" name="l03661"></a><span class="lineno"> 3661</span> </div>
<div class="line"><a id="l03662" name="l03662"></a><span class="lineno"> 3662</span> {</div>
<div class="line"><a id="l03663" name="l03663"></a><span class="lineno"> 3663</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env(*<span class="keyword">this</span>, features);</div>
<div class="line"><a id="l03664" name="l03664"></a><span class="lineno"> 3664</span> </div>
<div class="line"><a id="l03665" name="l03665"></a><span class="lineno"> 3665</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a7465bcfa8bde2f58f93cee57934f7df8">fund</a>(env, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a632ccc576a9415e4648b80fa52886e54">gw</a>, {<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#aeedbd0d6402d225e41bd10251a7a0127">carol</a>}, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10&#39;000), {<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(100)});</div>
<div class="line"><a id="l03666" name="l03666"></a><span class="lineno"> 3666</span> </div>
<div class="line"><a id="l03667" name="l03667"></a><span class="lineno"> 3667</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1AMM.html">AMM</a> ammBob(env, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(100), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(100));</div>
<div class="line"><a id="l03668" name="l03668"></a><span class="lineno"> 3668</span> </div>
<div class="line"><a id="l03669" name="l03669"></a><span class="lineno"> 3669</span> <span class="comment">// payment path: XRP -&gt; XRP/USD -&gt; USD/XRP</span></div>
<div class="line"><a id="l03670" name="l03670"></a><span class="lineno"> 3670</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a66b99468a4160bccaa9959a444b40d40">pay</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#aeedbd0d6402d225e41bd10251a7a0127">carol</a>, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(100)),</div>
<div class="line"><a id="l03671" name="l03671"></a><span class="lineno"> 3671</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1path.html">path</a>(~<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>, ~<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>),</div>
<div class="line"><a id="l03672" name="l03672"></a><span class="lineno"> 3672</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1sendmax.html">sendmax</a>(<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(200)),</div>
<div class="line"><a id="l03673" name="l03673"></a><span class="lineno"> 3673</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code hl_variable" href="namespaceripple.html#aab3ff08970a7fcec2229fc4c9e5f7d38">tfNoRippleDirect</a>),</div>
<div class="line"><a id="l03674" name="l03674"></a><span class="lineno"> 3674</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#afe21c8454670d46fb93751a5edffed46ae5e710c77de4283b489279179291c0bc">temBAD_SEND_XRP_MAX</a>));</div>
<div class="line"><a id="l03675" name="l03675"></a><span class="lineno"> 3675</span> }</div>
<div class="line"><a id="l03676" name="l03676"></a><span class="lineno"> 3676</span> }</div>
</div>
<div class="line"><a id="l03678" name="l03678"></a><span class="lineno"> 3678</span> </div>
<div class="line"><a id="l03679" name="l03679"></a><span class="lineno"> 3679</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen03680" data-start="{" data-end="}">
<div class="line"><a id="l03680" name="l03680"></a><span class="lineno"><a class="line" href="structripple_1_1test_1_1AMMExtended__test.html#a6e62141e0bd20f4f1c139b8a2c308e22"> 3680</a></span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a6e62141e0bd20f4f1c139b8a2c308e22">testLoop</a>(<a class="code hl_class" href="classripple_1_1FeatureBitset.html">FeatureBitset</a> features)</div>
<div class="line"><a id="l03681" name="l03681"></a><span class="lineno"> 3681</span> {</div>
<div class="line"><a id="l03682" name="l03682"></a><span class="lineno"> 3682</span> <a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">testcase</a>(<span class="stringliteral">&quot;test loop&quot;</span>);</div>
<div class="line"><a id="l03683" name="l03683"></a><span class="lineno"> 3683</span> <span class="keyword">using namespace </span>jtx;</div>
<div class="line"><a id="l03684" name="l03684"></a><span class="lineno"> 3684</span> </div>
<div class="line"><a id="l03685" name="l03685"></a><span class="lineno"> 3685</span> <span class="keyword">auto</span> <span class="keyword">const</span> CNY = <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a632ccc576a9415e4648b80fa52886e54">gw</a>[<span class="stringliteral">&quot;CNY&quot;</span>];</div>
<div class="line"><a id="l03686" name="l03686"></a><span class="lineno"> 3686</span> </div>
<div class="line"><a id="l03687" name="l03687"></a><span class="lineno"> 3687</span> {</div>
<div class="line"><a id="l03688" name="l03688"></a><span class="lineno"> 3688</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env(*<span class="keyword">this</span>, features);</div>
<div class="line"><a id="l03689" name="l03689"></a><span class="lineno"> 3689</span> </div>
<div class="line"><a id="l03690" name="l03690"></a><span class="lineno"> 3690</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#ae2349266cb09d1f1c3de06606ebdf9e2">fund</a>(<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10&#39;000), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#aeedbd0d6402d225e41bd10251a7a0127">carol</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a632ccc576a9415e4648b80fa52886e54">gw</a>);</div>
<div class="line"><a id="l03691" name="l03691"></a><span class="lineno"> 3691</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
<div class="line"><a id="l03692" name="l03692"></a><span class="lineno"> 3692</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a90fecf3c0f6cdc1c40761e19917bf65a">trust</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(10&#39;000), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#aeedbd0d6402d225e41bd10251a7a0127">carol</a>);</div>
<div class="line"><a id="l03693" name="l03693"></a><span class="lineno"> 3693</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
<div class="line"><a id="l03694" name="l03694"></a><span class="lineno"> 3694</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a66b99468a4160bccaa9959a444b40d40">pay</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a632ccc576a9415e4648b80fa52886e54">gw</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(100)));</div>
<div class="line"><a id="l03695" name="l03695"></a><span class="lineno"> 3695</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a66b99468a4160bccaa9959a444b40d40">pay</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a632ccc576a9415e4648b80fa52886e54">gw</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(100)));</div>
<div class="line"><a id="l03696" name="l03696"></a><span class="lineno"> 3696</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
<div class="line"><a id="l03697" name="l03697"></a><span class="lineno"> 3697</span> </div>
<div class="line"><a id="l03698" name="l03698"></a><span class="lineno"> 3698</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1AMM.html">AMM</a> ammBob(env, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(100), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(100));</div>
<div class="line"><a id="l03699" name="l03699"></a><span class="lineno"> 3699</span> </div>
<div class="line"><a id="l03700" name="l03700"></a><span class="lineno"> 3700</span> <span class="comment">// payment path: USD -&gt; USD/XRP -&gt; XRP/USD</span></div>
<div class="line"><a id="l03701" name="l03701"></a><span class="lineno"> 3701</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a66b99468a4160bccaa9959a444b40d40">pay</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#aeedbd0d6402d225e41bd10251a7a0127">carol</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(100)),</div>
<div class="line"><a id="l03702" name="l03702"></a><span class="lineno"> 3702</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1sendmax.html">sendmax</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(100)),</div>
<div class="line"><a id="l03703" name="l03703"></a><span class="lineno"> 3703</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1path.html">path</a>(~<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>, ~<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>),</div>
<div class="line"><a id="l03704" name="l03704"></a><span class="lineno"> 3704</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code hl_variable" href="namespaceripple.html#aab3ff08970a7fcec2229fc4c9e5f7d38">tfNoRippleDirect</a>),</div>
<div class="line"><a id="l03705" name="l03705"></a><span class="lineno"> 3705</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#afe21c8454670d46fb93751a5edffed46a12457d1044fb018f478405504184dc79">temBAD_PATH_LOOP</a>));</div>
<div class="line"><a id="l03706" name="l03706"></a><span class="lineno"> 3706</span> }</div>
<div class="line"><a id="l03707" name="l03707"></a><span class="lineno"> 3707</span> </div>
<div class="line"><a id="l03708" name="l03708"></a><span class="lineno"> 3708</span> {</div>
<div class="line"><a id="l03709" name="l03709"></a><span class="lineno"> 3709</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env(*<span class="keyword">this</span>, features);</div>
<div class="line"><a id="l03710" name="l03710"></a><span class="lineno"> 3710</span> </div>
<div class="line"><a id="l03711" name="l03711"></a><span class="lineno"> 3711</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#ae2349266cb09d1f1c3de06606ebdf9e2">fund</a>(<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10&#39;000), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#aeedbd0d6402d225e41bd10251a7a0127">carol</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a632ccc576a9415e4648b80fa52886e54">gw</a>);</div>
<div class="line"><a id="l03712" name="l03712"></a><span class="lineno"> 3712</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
<div class="line"><a id="l03713" name="l03713"></a><span class="lineno"> 3713</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a90fecf3c0f6cdc1c40761e19917bf65a">trust</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(10&#39;000), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#aeedbd0d6402d225e41bd10251a7a0127">carol</a>);</div>
<div class="line"><a id="l03714" name="l03714"></a><span class="lineno"> 3714</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a90fecf3c0f6cdc1c40761e19917bf65a">trust</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a80494932440025696dc4729725928d2c">EUR</a>(10&#39;000), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#aeedbd0d6402d225e41bd10251a7a0127">carol</a>);</div>
<div class="line"><a id="l03715" name="l03715"></a><span class="lineno"> 3715</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a90fecf3c0f6cdc1c40761e19917bf65a">trust</a>(CNY(10&#39;000), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#aeedbd0d6402d225e41bd10251a7a0127">carol</a>);</div>
<div class="line"><a id="l03716" name="l03716"></a><span class="lineno"> 3716</span> </div>
<div class="line"><a id="l03717" name="l03717"></a><span class="lineno"> 3717</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a66b99468a4160bccaa9959a444b40d40">pay</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a632ccc576a9415e4648b80fa52886e54">gw</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(200)));</div>
<div class="line"><a id="l03718" name="l03718"></a><span class="lineno"> 3718</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a66b99468a4160bccaa9959a444b40d40">pay</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a632ccc576a9415e4648b80fa52886e54">gw</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a80494932440025696dc4729725928d2c">EUR</a>(200)));</div>
<div class="line"><a id="l03719" name="l03719"></a><span class="lineno"> 3719</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a66b99468a4160bccaa9959a444b40d40">pay</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a632ccc576a9415e4648b80fa52886e54">gw</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, CNY(100)));</div>
<div class="line"><a id="l03720" name="l03720"></a><span class="lineno"> 3720</span> </div>
<div class="line"><a id="l03721" name="l03721"></a><span class="lineno"> 3721</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1AMM.html">AMM</a> ammBobXRP_USD(env, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(100), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(100));</div>
<div class="line"><a id="l03722" name="l03722"></a><span class="lineno"> 3722</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1AMM.html">AMM</a> ammBobUSD_EUR(env, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(100), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a80494932440025696dc4729725928d2c">EUR</a>(100));</div>
<div class="line"><a id="l03723" name="l03723"></a><span class="lineno"> 3723</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1AMM.html">AMM</a> ammBobEUR_CNY(env, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a80494932440025696dc4729725928d2c">EUR</a>(100), CNY(100));</div>
<div class="line"><a id="l03724" name="l03724"></a><span class="lineno"> 3724</span> </div>
<div class="line"><a id="l03725" name="l03725"></a><span class="lineno"> 3725</span> <span class="comment">// payment path: XRP-&gt;XRP/USD-&gt;USD/EUR-&gt;USD/CNY</span></div>
<div class="line"><a id="l03726" name="l03726"></a><span class="lineno"> 3726</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a66b99468a4160bccaa9959a444b40d40">pay</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#aeedbd0d6402d225e41bd10251a7a0127">carol</a>, CNY(100)),</div>
<div class="line"><a id="l03727" name="l03727"></a><span class="lineno"> 3727</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1sendmax.html">sendmax</a>(<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(100)),</div>
<div class="line"><a id="l03728" name="l03728"></a><span class="lineno"> 3728</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1path.html">path</a>(~<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>, ~<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a80494932440025696dc4729725928d2c">EUR</a>, ~<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>, ~CNY),</div>
<div class="line"><a id="l03729" name="l03729"></a><span class="lineno"> 3729</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code hl_variable" href="namespaceripple.html#aab3ff08970a7fcec2229fc4c9e5f7d38">tfNoRippleDirect</a>),</div>
<div class="line"><a id="l03730" name="l03730"></a><span class="lineno"> 3730</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#afe21c8454670d46fb93751a5edffed46a12457d1044fb018f478405504184dc79">temBAD_PATH_LOOP</a>));</div>
<div class="line"><a id="l03731" name="l03731"></a><span class="lineno"> 3731</span> }</div>
<div class="line"><a id="l03732" name="l03732"></a><span class="lineno"> 3732</span> }</div>
<div class="line"><a id="l03677" name="l03677"></a><span class="lineno"> 3677</span> </div>
<div class="line"><a id="l03678" name="l03678"></a><span class="lineno"> 3678</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen03679" data-start="{" data-end="}">
<div class="line"><a id="l03679" name="l03679"></a><span class="lineno"><a class="line" href="structripple_1_1test_1_1AMMExtended__test.html#a6e62141e0bd20f4f1c139b8a2c308e22"> 3679</a></span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a6e62141e0bd20f4f1c139b8a2c308e22">testLoop</a>(<a class="code hl_class" href="classripple_1_1FeatureBitset.html">FeatureBitset</a> features)</div>
<div class="line"><a id="l03680" name="l03680"></a><span class="lineno"> 3680</span> {</div>
<div class="line"><a id="l03681" name="l03681"></a><span class="lineno"> 3681</span> <a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">testcase</a>(<span class="stringliteral">&quot;test loop&quot;</span>);</div>
<div class="line"><a id="l03682" name="l03682"></a><span class="lineno"> 3682</span> <span class="keyword">using namespace </span>jtx;</div>
<div class="line"><a id="l03683" name="l03683"></a><span class="lineno"> 3683</span> </div>
<div class="line"><a id="l03684" name="l03684"></a><span class="lineno"> 3684</span> <span class="keyword">auto</span> <span class="keyword">const</span> CNY = <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a632ccc576a9415e4648b80fa52886e54">gw</a>[<span class="stringliteral">&quot;CNY&quot;</span>];</div>
<div class="line"><a id="l03685" name="l03685"></a><span class="lineno"> 3685</span> </div>
<div class="line"><a id="l03686" name="l03686"></a><span class="lineno"> 3686</span> {</div>
<div class="line"><a id="l03687" name="l03687"></a><span class="lineno"> 3687</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env(*<span class="keyword">this</span>, features);</div>
<div class="line"><a id="l03688" name="l03688"></a><span class="lineno"> 3688</span> </div>
<div class="line"><a id="l03689" name="l03689"></a><span class="lineno"> 3689</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#ae2349266cb09d1f1c3de06606ebdf9e2">fund</a>(<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10&#39;000), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#aeedbd0d6402d225e41bd10251a7a0127">carol</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a632ccc576a9415e4648b80fa52886e54">gw</a>);</div>
<div class="line"><a id="l03690" name="l03690"></a><span class="lineno"> 3690</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
<div class="line"><a id="l03691" name="l03691"></a><span class="lineno"> 3691</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a90fecf3c0f6cdc1c40761e19917bf65a">trust</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(10&#39;000), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#aeedbd0d6402d225e41bd10251a7a0127">carol</a>);</div>
<div class="line"><a id="l03692" name="l03692"></a><span class="lineno"> 3692</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
<div class="line"><a id="l03693" name="l03693"></a><span class="lineno"> 3693</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a66b99468a4160bccaa9959a444b40d40">pay</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a632ccc576a9415e4648b80fa52886e54">gw</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(100)));</div>
<div class="line"><a id="l03694" name="l03694"></a><span class="lineno"> 3694</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a66b99468a4160bccaa9959a444b40d40">pay</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a632ccc576a9415e4648b80fa52886e54">gw</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(100)));</div>
<div class="line"><a id="l03695" name="l03695"></a><span class="lineno"> 3695</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
<div class="line"><a id="l03696" name="l03696"></a><span class="lineno"> 3696</span> </div>
<div class="line"><a id="l03697" name="l03697"></a><span class="lineno"> 3697</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1AMM.html">AMM</a> ammBob(env, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(100), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(100));</div>
<div class="line"><a id="l03698" name="l03698"></a><span class="lineno"> 3698</span> </div>
<div class="line"><a id="l03699" name="l03699"></a><span class="lineno"> 3699</span> <span class="comment">// payment path: USD -&gt; USD/XRP -&gt; XRP/USD</span></div>
<div class="line"><a id="l03700" name="l03700"></a><span class="lineno"> 3700</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a66b99468a4160bccaa9959a444b40d40">pay</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#aeedbd0d6402d225e41bd10251a7a0127">carol</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(100)),</div>
<div class="line"><a id="l03701" name="l03701"></a><span class="lineno"> 3701</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1sendmax.html">sendmax</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(100)),</div>
<div class="line"><a id="l03702" name="l03702"></a><span class="lineno"> 3702</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1path.html">path</a>(~<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>, ~<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>),</div>
<div class="line"><a id="l03703" name="l03703"></a><span class="lineno"> 3703</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code hl_variable" href="namespaceripple.html#aab3ff08970a7fcec2229fc4c9e5f7d38">tfNoRippleDirect</a>),</div>
<div class="line"><a id="l03704" name="l03704"></a><span class="lineno"> 3704</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#afe21c8454670d46fb93751a5edffed46a12457d1044fb018f478405504184dc79">temBAD_PATH_LOOP</a>));</div>
<div class="line"><a id="l03705" name="l03705"></a><span class="lineno"> 3705</span> }</div>
<div class="line"><a id="l03706" name="l03706"></a><span class="lineno"> 3706</span> </div>
<div class="line"><a id="l03707" name="l03707"></a><span class="lineno"> 3707</span> {</div>
<div class="line"><a id="l03708" name="l03708"></a><span class="lineno"> 3708</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env(*<span class="keyword">this</span>, features);</div>
<div class="line"><a id="l03709" name="l03709"></a><span class="lineno"> 3709</span> </div>
<div class="line"><a id="l03710" name="l03710"></a><span class="lineno"> 3710</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#ae2349266cb09d1f1c3de06606ebdf9e2">fund</a>(<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10&#39;000), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#aeedbd0d6402d225e41bd10251a7a0127">carol</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a632ccc576a9415e4648b80fa52886e54">gw</a>);</div>
<div class="line"><a id="l03711" name="l03711"></a><span class="lineno"> 3711</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
<div class="line"><a id="l03712" name="l03712"></a><span class="lineno"> 3712</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a90fecf3c0f6cdc1c40761e19917bf65a">trust</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(10&#39;000), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#aeedbd0d6402d225e41bd10251a7a0127">carol</a>);</div>
<div class="line"><a id="l03713" name="l03713"></a><span class="lineno"> 3713</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a90fecf3c0f6cdc1c40761e19917bf65a">trust</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a80494932440025696dc4729725928d2c">EUR</a>(10&#39;000), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#aeedbd0d6402d225e41bd10251a7a0127">carol</a>);</div>
<div class="line"><a id="l03714" name="l03714"></a><span class="lineno"> 3714</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a90fecf3c0f6cdc1c40761e19917bf65a">trust</a>(CNY(10&#39;000), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#aeedbd0d6402d225e41bd10251a7a0127">carol</a>);</div>
<div class="line"><a id="l03715" name="l03715"></a><span class="lineno"> 3715</span> </div>
<div class="line"><a id="l03716" name="l03716"></a><span class="lineno"> 3716</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a66b99468a4160bccaa9959a444b40d40">pay</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a632ccc576a9415e4648b80fa52886e54">gw</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(200)));</div>
<div class="line"><a id="l03717" name="l03717"></a><span class="lineno"> 3717</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a66b99468a4160bccaa9959a444b40d40">pay</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a632ccc576a9415e4648b80fa52886e54">gw</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a80494932440025696dc4729725928d2c">EUR</a>(200)));</div>
<div class="line"><a id="l03718" name="l03718"></a><span class="lineno"> 3718</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a66b99468a4160bccaa9959a444b40d40">pay</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a632ccc576a9415e4648b80fa52886e54">gw</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, CNY(100)));</div>
<div class="line"><a id="l03719" name="l03719"></a><span class="lineno"> 3719</span> </div>
<div class="line"><a id="l03720" name="l03720"></a><span class="lineno"> 3720</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1AMM.html">AMM</a> ammBobXRP_USD(env, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(100), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(100));</div>
<div class="line"><a id="l03721" name="l03721"></a><span class="lineno"> 3721</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1AMM.html">AMM</a> ammBobUSD_EUR(env, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>(100), <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a80494932440025696dc4729725928d2c">EUR</a>(100));</div>
<div class="line"><a id="l03722" name="l03722"></a><span class="lineno"> 3722</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1AMM.html">AMM</a> ammBobEUR_CNY(env, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a6ffc2db0ebc33314843e07d5cdd4da2d">bob</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a80494932440025696dc4729725928d2c">EUR</a>(100), CNY(100));</div>
<div class="line"><a id="l03723" name="l03723"></a><span class="lineno"> 3723</span> </div>
<div class="line"><a id="l03724" name="l03724"></a><span class="lineno"> 3724</span> <span class="comment">// payment path: XRP-&gt;XRP/USD-&gt;USD/EUR-&gt;USD/CNY</span></div>
<div class="line"><a id="l03725" name="l03725"></a><span class="lineno"> 3725</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a66b99468a4160bccaa9959a444b40d40">pay</a>(<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a3baa0afcd265e9eb486f0d957e7d6b21">alice</a>, <a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#aeedbd0d6402d225e41bd10251a7a0127">carol</a>, CNY(100)),</div>
<div class="line"><a id="l03726" name="l03726"></a><span class="lineno"> 3726</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1sendmax.html">sendmax</a>(<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(100)),</div>
<div class="line"><a id="l03727" name="l03727"></a><span class="lineno"> 3727</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1path.html">path</a>(~<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>, ~<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a80494932440025696dc4729725928d2c">EUR</a>, ~<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1AMMTestBase.html#a4edfbabbf5d3eba37156029f8a913792">USD</a>, ~CNY),</div>
<div class="line"><a id="l03728" name="l03728"></a><span class="lineno"> 3728</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code hl_variable" href="namespaceripple.html#aab3ff08970a7fcec2229fc4c9e5f7d38">tfNoRippleDirect</a>),</div>
<div class="line"><a id="l03729" name="l03729"></a><span class="lineno"> 3729</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#afe21c8454670d46fb93751a5edffed46a12457d1044fb018f478405504184dc79">temBAD_PATH_LOOP</a>));</div>
<div class="line"><a id="l03730" name="l03730"></a><span class="lineno"> 3730</span> }</div>
<div class="line"><a id="l03731" name="l03731"></a><span class="lineno"> 3731</span> }</div>
</div>
<div class="line"><a id="l03733" name="l03733"></a><span class="lineno"> 3733</span> </div>
<div class="line"><a id="l03734" name="l03734"></a><span class="lineno"> 3734</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen03735" data-start="{" data-end="}">
<div class="line"><a id="l03735" name="l03735"></a><span class="lineno"><a class="line" href="structripple_1_1test_1_1AMMExtended__test.html#a8073ec61bc1ab0dcb2adff40c50b9315"> 3735</a></span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a8073ec61bc1ab0dcb2adff40c50b9315">testPaths</a>()</div>
<div class="line"><a id="l03736" name="l03736"></a><span class="lineno"> 3736</span> {</div>
<div class="line"><a id="l03737" name="l03737"></a><span class="lineno"> 3737</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a890330cb90310f5e0d378950d7efddf0">path_find_consume_all</a>();</div>
<div class="line"><a id="l03738" name="l03738"></a><span class="lineno"> 3738</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a6fff4f5b357d9e5a627351d4b69effa0">via_offers_via_gateway</a>();</div>
<div class="line"><a id="l03739" name="l03739"></a><span class="lineno"> 3739</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a2ce887113e97a5c69738a867b589b9db">receive_max</a>();</div>
<div class="line"><a id="l03740" name="l03740"></a><span class="lineno"> 3740</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a505e1f8825c66bf9397edb2cbe3e58a8">path_find_01</a>();</div>
<div class="line"><a id="l03741" name="l03741"></a><span class="lineno"> 3741</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a62b5d8f31207b1dfd6c0eeb9697bfd1e">path_find_02</a>();</div>
<div class="line"><a id="l03742" name="l03742"></a><span class="lineno"> 3742</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a480fa9af5ce49780dd7f3dafd57dd7e3">path_find_05</a>();</div>
<div class="line"><a id="l03743" name="l03743"></a><span class="lineno"> 3743</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a554f67be9d05cb84c2926a24a04baca7">path_find_06</a>();</div>
<div class="line"><a id="l03744" name="l03744"></a><span class="lineno"> 3744</span> }</div>
<div class="line"><a id="l03732" name="l03732"></a><span class="lineno"> 3732</span> </div>
<div class="line"><a id="l03733" name="l03733"></a><span class="lineno"> 3733</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen03734" data-start="{" data-end="}">
<div class="line"><a id="l03734" name="l03734"></a><span class="lineno"><a class="line" href="structripple_1_1test_1_1AMMExtended__test.html#a8073ec61bc1ab0dcb2adff40c50b9315"> 3734</a></span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a8073ec61bc1ab0dcb2adff40c50b9315">testPaths</a>()</div>
<div class="line"><a id="l03735" name="l03735"></a><span class="lineno"> 3735</span> {</div>
<div class="line"><a id="l03736" name="l03736"></a><span class="lineno"> 3736</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a890330cb90310f5e0d378950d7efddf0">path_find_consume_all</a>();</div>
<div class="line"><a id="l03737" name="l03737"></a><span class="lineno"> 3737</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a6fff4f5b357d9e5a627351d4b69effa0">via_offers_via_gateway</a>();</div>
<div class="line"><a id="l03738" name="l03738"></a><span class="lineno"> 3738</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a2ce887113e97a5c69738a867b589b9db">receive_max</a>();</div>
<div class="line"><a id="l03739" name="l03739"></a><span class="lineno"> 3739</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a505e1f8825c66bf9397edb2cbe3e58a8">path_find_01</a>();</div>
<div class="line"><a id="l03740" name="l03740"></a><span class="lineno"> 3740</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a62b5d8f31207b1dfd6c0eeb9697bfd1e">path_find_02</a>();</div>
<div class="line"><a id="l03741" name="l03741"></a><span class="lineno"> 3741</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a480fa9af5ce49780dd7f3dafd57dd7e3">path_find_05</a>();</div>
<div class="line"><a id="l03742" name="l03742"></a><span class="lineno"> 3742</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a554f67be9d05cb84c2926a24a04baca7">path_find_06</a>();</div>
<div class="line"><a id="l03743" name="l03743"></a><span class="lineno"> 3743</span> }</div>
</div>
<div class="line"><a id="l03745" name="l03745"></a><span class="lineno"> 3745</span> </div>
<div class="line"><a id="l03746" name="l03746"></a><span class="lineno"> 3746</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen03747" data-start="{" data-end="}">
<div class="line"><a id="l03747" name="l03747"></a><span class="lineno"><a class="line" href="structripple_1_1test_1_1AMMExtended__test.html#a0cef3dfe3511dba869d98fe7f4119e08"> 3747</a></span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a0cef3dfe3511dba869d98fe7f4119e08">testFlow</a>()</div>
<div class="line"><a id="l03748" name="l03748"></a><span class="lineno"> 3748</span> {</div>
<div class="line"><a id="l03749" name="l03749"></a><span class="lineno"> 3749</span> <span class="keyword">using namespace </span>jtx;</div>
<div class="line"><a id="l03750" name="l03750"></a><span class="lineno"> 3750</span> <a class="code hl_class" href="classripple_1_1FeatureBitset.html">FeatureBitset</a> <span class="keyword">const</span> <a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a>{<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a8e5379a68ca5b5ae718e77312c2f1f94">testable_amendments</a>()};</div>
<div class="line"><a id="l03751" name="l03751"></a><span class="lineno"> 3751</span> </div>
<div class="line"><a id="l03752" name="l03752"></a><span class="lineno"> 3752</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a2307e73d869f56098b42cd1a428271f8">testFalseDry</a>(<a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a>);</div>
<div class="line"><a id="l03753" name="l03753"></a><span class="lineno"> 3753</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a4858b3098e750d4a210247ba3f91e39c">testBookStep</a>(<a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a>);</div>
<div class="line"><a id="l03754" name="l03754"></a><span class="lineno"> 3754</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a97c134aa1a541636a88366ea7621eabf">testTransferRateNoOwnerFee</a>(<a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a>);</div>
<div class="line"><a id="l03755" name="l03755"></a><span class="lineno"> 3755</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a97c134aa1a541636a88366ea7621eabf">testTransferRateNoOwnerFee</a>(<a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a> - fixAMMv1_1 - fixAMMv1_3);</div>
<div class="line"><a id="l03756" name="l03756"></a><span class="lineno"> 3756</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#ada2c3f57797defc7e80cb027231ac684">testLimitQuality</a>();</div>
<div class="line"><a id="l03757" name="l03757"></a><span class="lineno"> 3757</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a914a2a704907dd27bc7c50240bfee92c">testXRPPathLoop</a>();</div>
<div class="line"><a id="l03758" name="l03758"></a><span class="lineno"> 3758</span> }</div>
<div class="line"><a id="l03744" name="l03744"></a><span class="lineno"> 3744</span> </div>
<div class="line"><a id="l03745" name="l03745"></a><span class="lineno"> 3745</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen03746" data-start="{" data-end="}">
<div class="line"><a id="l03746" name="l03746"></a><span class="lineno"><a class="line" href="structripple_1_1test_1_1AMMExtended__test.html#a0cef3dfe3511dba869d98fe7f4119e08"> 3746</a></span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a0cef3dfe3511dba869d98fe7f4119e08">testFlow</a>()</div>
<div class="line"><a id="l03747" name="l03747"></a><span class="lineno"> 3747</span> {</div>
<div class="line"><a id="l03748" name="l03748"></a><span class="lineno"> 3748</span> <span class="keyword">using namespace </span>jtx;</div>
<div class="line"><a id="l03749" name="l03749"></a><span class="lineno"> 3749</span> <a class="code hl_class" href="classripple_1_1FeatureBitset.html">FeatureBitset</a> <span class="keyword">const</span> <a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a>{<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a8e5379a68ca5b5ae718e77312c2f1f94">testable_amendments</a>()};</div>
<div class="line"><a id="l03750" name="l03750"></a><span class="lineno"> 3750</span> </div>
<div class="line"><a id="l03751" name="l03751"></a><span class="lineno"> 3751</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a2307e73d869f56098b42cd1a428271f8">testFalseDry</a>(<a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a>);</div>
<div class="line"><a id="l03752" name="l03752"></a><span class="lineno"> 3752</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a4858b3098e750d4a210247ba3f91e39c">testBookStep</a>(<a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a>);</div>
<div class="line"><a id="l03753" name="l03753"></a><span class="lineno"> 3753</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a97c134aa1a541636a88366ea7621eabf">testTransferRateNoOwnerFee</a>(<a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a>);</div>
<div class="line"><a id="l03754" name="l03754"></a><span class="lineno"> 3754</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a97c134aa1a541636a88366ea7621eabf">testTransferRateNoOwnerFee</a>(<a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a> - fixAMMv1_1 - fixAMMv1_3);</div>
<div class="line"><a id="l03755" name="l03755"></a><span class="lineno"> 3755</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#ada2c3f57797defc7e80cb027231ac684">testLimitQuality</a>();</div>
<div class="line"><a id="l03756" name="l03756"></a><span class="lineno"> 3756</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a914a2a704907dd27bc7c50240bfee92c">testXRPPathLoop</a>();</div>
<div class="line"><a id="l03757" name="l03757"></a><span class="lineno"> 3757</span> }</div>
</div>
<div class="line"><a id="l03759" name="l03759"></a><span class="lineno"> 3759</span> </div>
<div class="line"><a id="l03760" name="l03760"></a><span class="lineno"> 3760</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen03761" data-start="{" data-end="}">
<div class="line"><a id="l03761" name="l03761"></a><span class="lineno"><a class="line" href="structripple_1_1test_1_1AMMExtended__test.html#a225d5d59748cf25fc2269887d456a369"> 3761</a></span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a225d5d59748cf25fc2269887d456a369">testCrossingLimits</a>()</div>
<div class="line"><a id="l03762" name="l03762"></a><span class="lineno"> 3762</span> {</div>
<div class="line"><a id="l03763" name="l03763"></a><span class="lineno"> 3763</span> <span class="keyword">using namespace </span>jtx;</div>
<div class="line"><a id="l03764" name="l03764"></a><span class="lineno"> 3764</span> <a class="code hl_class" href="classripple_1_1FeatureBitset.html">FeatureBitset</a> <span class="keyword">const</span> <a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a>{<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a8e5379a68ca5b5ae718e77312c2f1f94">testable_amendments</a>()};</div>
<div class="line"><a id="l03765" name="l03765"></a><span class="lineno"> 3765</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#ac6939a63c329e656a6da8013dbf18400">testStepLimit</a>(<a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a>);</div>
<div class="line"><a id="l03766" name="l03766"></a><span class="lineno"> 3766</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#ac6939a63c329e656a6da8013dbf18400">testStepLimit</a>(<a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a> - fixAMMv1_1 - fixAMMv1_3);</div>
<div class="line"><a id="l03767" name="l03767"></a><span class="lineno"> 3767</span> }</div>
<div class="line"><a id="l03758" name="l03758"></a><span class="lineno"> 3758</span> </div>
<div class="line"><a id="l03759" name="l03759"></a><span class="lineno"> 3759</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen03760" data-start="{" data-end="}">
<div class="line"><a id="l03760" name="l03760"></a><span class="lineno"><a class="line" href="structripple_1_1test_1_1AMMExtended__test.html#a225d5d59748cf25fc2269887d456a369"> 3760</a></span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a225d5d59748cf25fc2269887d456a369">testCrossingLimits</a>()</div>
<div class="line"><a id="l03761" name="l03761"></a><span class="lineno"> 3761</span> {</div>
<div class="line"><a id="l03762" name="l03762"></a><span class="lineno"> 3762</span> <span class="keyword">using namespace </span>jtx;</div>
<div class="line"><a id="l03763" name="l03763"></a><span class="lineno"> 3763</span> <a class="code hl_class" href="classripple_1_1FeatureBitset.html">FeatureBitset</a> <span class="keyword">const</span> <a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a>{<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a8e5379a68ca5b5ae718e77312c2f1f94">testable_amendments</a>()};</div>
<div class="line"><a id="l03764" name="l03764"></a><span class="lineno"> 3764</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#ac6939a63c329e656a6da8013dbf18400">testStepLimit</a>(<a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a>);</div>
<div class="line"><a id="l03765" name="l03765"></a><span class="lineno"> 3765</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#ac6939a63c329e656a6da8013dbf18400">testStepLimit</a>(<a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a> - fixAMMv1_1 - fixAMMv1_3);</div>
<div class="line"><a id="l03766" name="l03766"></a><span class="lineno"> 3766</span> }</div>
</div>
<div class="line"><a id="l03768" name="l03768"></a><span class="lineno"> 3768</span> </div>
<div class="line"><a id="l03769" name="l03769"></a><span class="lineno"> 3769</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen03770" data-start="{" data-end="}">
<div class="line"><a id="l03770" name="l03770"></a><span class="lineno"><a class="line" href="structripple_1_1test_1_1AMMExtended__test.html#a426474fae47ee1d7605065a003aaedc1"> 3770</a></span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a426474fae47ee1d7605065a003aaedc1">testDeliverMin</a>()</div>
<div class="line"><a id="l03771" name="l03771"></a><span class="lineno"> 3771</span> {</div>
<div class="line"><a id="l03772" name="l03772"></a><span class="lineno"> 3772</span> <span class="keyword">using namespace </span>jtx;</div>
<div class="line"><a id="l03773" name="l03773"></a><span class="lineno"> 3773</span> <a class="code hl_class" href="classripple_1_1FeatureBitset.html">FeatureBitset</a> <span class="keyword">const</span> <a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a>{<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a8e5379a68ca5b5ae718e77312c2f1f94">testable_amendments</a>()};</div>
<div class="line"><a id="l03774" name="l03774"></a><span class="lineno"> 3774</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a521fdb60a82b7a2de93651f9c47c5814">test_convert_all_of_an_asset</a>(<a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a>);</div>
<div class="line"><a id="l03775" name="l03775"></a><span class="lineno"> 3775</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a521fdb60a82b7a2de93651f9c47c5814">test_convert_all_of_an_asset</a>(<a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a> - fixAMMv1_1 - fixAMMv1_3);</div>
<div class="line"><a id="l03776" name="l03776"></a><span class="lineno"> 3776</span> }</div>
<div class="line"><a id="l03767" name="l03767"></a><span class="lineno"> 3767</span> </div>
<div class="line"><a id="l03768" name="l03768"></a><span class="lineno"> 3768</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen03769" data-start="{" data-end="}">
<div class="line"><a id="l03769" name="l03769"></a><span class="lineno"><a class="line" href="structripple_1_1test_1_1AMMExtended__test.html#a426474fae47ee1d7605065a003aaedc1"> 3769</a></span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a426474fae47ee1d7605065a003aaedc1">testDeliverMin</a>()</div>
<div class="line"><a id="l03770" name="l03770"></a><span class="lineno"> 3770</span> {</div>
<div class="line"><a id="l03771" name="l03771"></a><span class="lineno"> 3771</span> <span class="keyword">using namespace </span>jtx;</div>
<div class="line"><a id="l03772" name="l03772"></a><span class="lineno"> 3772</span> <a class="code hl_class" href="classripple_1_1FeatureBitset.html">FeatureBitset</a> <span class="keyword">const</span> <a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a>{<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a8e5379a68ca5b5ae718e77312c2f1f94">testable_amendments</a>()};</div>
<div class="line"><a id="l03773" name="l03773"></a><span class="lineno"> 3773</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a521fdb60a82b7a2de93651f9c47c5814">test_convert_all_of_an_asset</a>(<a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a>);</div>
<div class="line"><a id="l03774" name="l03774"></a><span class="lineno"> 3774</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a521fdb60a82b7a2de93651f9c47c5814">test_convert_all_of_an_asset</a>(<a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a> - fixAMMv1_1 - fixAMMv1_3);</div>
<div class="line"><a id="l03775" name="l03775"></a><span class="lineno"> 3775</span> }</div>
</div>
<div class="line"><a id="l03777" name="l03777"></a><span class="lineno"> 3777</span> </div>
<div class="line"><a id="l03778" name="l03778"></a><span class="lineno"> 3778</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen03779" data-start="{" data-end="}">
<div class="line"><a id="l03779" name="l03779"></a><span class="lineno"><a class="line" href="structripple_1_1test_1_1AMMExtended__test.html#ac4b154c105591f579a3bb2f9b61e07a2"> 3779</a></span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#ac4b154c105591f579a3bb2f9b61e07a2">testDepositAuth</a>()</div>
<div class="line"><a id="l03780" name="l03780"></a><span class="lineno"> 3780</span> {</div>
<div class="line"><a id="l03781" name="l03781"></a><span class="lineno"> 3781</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a5555c924613e0cc7bf8ab31246a94a20">testPayment</a>(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a8e5379a68ca5b5ae718e77312c2f1f94">jtx::testable_amendments</a>());</div>
<div class="line"><a id="l03782" name="l03782"></a><span class="lineno"> 3782</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#aa100936079de03a8c0a9b1a3b5b030a6">testPayIOU</a>();</div>
<div class="line"><a id="l03783" name="l03783"></a><span class="lineno"> 3783</span> }</div>
<div class="line"><a id="l03776" name="l03776"></a><span class="lineno"> 3776</span> </div>
<div class="line"><a id="l03777" name="l03777"></a><span class="lineno"> 3777</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen03778" data-start="{" data-end="}">
<div class="line"><a id="l03778" name="l03778"></a><span class="lineno"><a class="line" href="structripple_1_1test_1_1AMMExtended__test.html#ac4b154c105591f579a3bb2f9b61e07a2"> 3778</a></span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#ac4b154c105591f579a3bb2f9b61e07a2">testDepositAuth</a>()</div>
<div class="line"><a id="l03779" name="l03779"></a><span class="lineno"> 3779</span> {</div>
<div class="line"><a id="l03780" name="l03780"></a><span class="lineno"> 3780</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a5555c924613e0cc7bf8ab31246a94a20">testPayment</a>(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a8e5379a68ca5b5ae718e77312c2f1f94">jtx::testable_amendments</a>());</div>
<div class="line"><a id="l03781" name="l03781"></a><span class="lineno"> 3781</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#aa100936079de03a8c0a9b1a3b5b030a6">testPayIOU</a>();</div>
<div class="line"><a id="l03782" name="l03782"></a><span class="lineno"> 3782</span> }</div>
</div>
<div class="line"><a id="l03784" name="l03784"></a><span class="lineno"> 3784</span> </div>
<div class="line"><a id="l03785" name="l03785"></a><span class="lineno"> 3785</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen03786" data-start="{" data-end="}">
<div class="line"><a id="l03786" name="l03786"></a><span class="lineno"><a class="line" href="structripple_1_1test_1_1AMMExtended__test.html#a568a0e17728d40210ee4f9606966b156"> 3786</a></span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a568a0e17728d40210ee4f9606966b156">testFreeze</a>()</div>
<div class="line"><a id="l03787" name="l03787"></a><span class="lineno"> 3787</span> {</div>
<div class="line"><a id="l03788" name="l03788"></a><span class="lineno"> 3788</span> <span class="keyword">using namespace </span>test::jtx;</div>
<div class="line"><a id="l03789" name="l03789"></a><span class="lineno"> 3789</span> <span class="keyword">auto</span> <span class="keyword">const</span> sa = <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a8e5379a68ca5b5ae718e77312c2f1f94">testable_amendments</a>();</div>
<div class="line"><a id="l03790" name="l03790"></a><span class="lineno"> 3790</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a99abd4b68e606a5735df90e8f0c176e1">testRippleState</a>(sa);</div>
<div class="line"><a id="l03791" name="l03791"></a><span class="lineno"> 3791</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a05259f267a32c18841c7502fbfc21cde">testGlobalFreeze</a>(sa);</div>
<div class="line"><a id="l03792" name="l03792"></a><span class="lineno"> 3792</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a67bfb2cc83135c258e4fbe252dcf7115">testOffersWhenFrozen</a>(sa);</div>
<div class="line"><a id="l03793" name="l03793"></a><span class="lineno"> 3793</span> }</div>
<div class="line"><a id="l03783" name="l03783"></a><span class="lineno"> 3783</span> </div>
<div class="line"><a id="l03784" name="l03784"></a><span class="lineno"> 3784</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen03785" data-start="{" data-end="}">
<div class="line"><a id="l03785" name="l03785"></a><span class="lineno"><a class="line" href="structripple_1_1test_1_1AMMExtended__test.html#a568a0e17728d40210ee4f9606966b156"> 3785</a></span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a568a0e17728d40210ee4f9606966b156">testFreeze</a>()</div>
<div class="line"><a id="l03786" name="l03786"></a><span class="lineno"> 3786</span> {</div>
<div class="line"><a id="l03787" name="l03787"></a><span class="lineno"> 3787</span> <span class="keyword">using namespace </span>test::jtx;</div>
<div class="line"><a id="l03788" name="l03788"></a><span class="lineno"> 3788</span> <span class="keyword">auto</span> <span class="keyword">const</span> sa = <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a8e5379a68ca5b5ae718e77312c2f1f94">testable_amendments</a>();</div>
<div class="line"><a id="l03789" name="l03789"></a><span class="lineno"> 3789</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a99abd4b68e606a5735df90e8f0c176e1">testRippleState</a>(sa);</div>
<div class="line"><a id="l03790" name="l03790"></a><span class="lineno"> 3790</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a05259f267a32c18841c7502fbfc21cde">testGlobalFreeze</a>(sa);</div>
<div class="line"><a id="l03791" name="l03791"></a><span class="lineno"> 3791</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a67bfb2cc83135c258e4fbe252dcf7115">testOffersWhenFrozen</a>(sa);</div>
<div class="line"><a id="l03792" name="l03792"></a><span class="lineno"> 3792</span> }</div>
</div>
<div class="line"><a id="l03794" name="l03794"></a><span class="lineno"> 3794</span> </div>
<div class="line"><a id="l03795" name="l03795"></a><span class="lineno"> 3795</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen03796" data-start="{" data-end="}">
<div class="line"><a id="l03796" name="l03796"></a><span class="lineno"><a class="line" href="structripple_1_1test_1_1AMMExtended__test.html#a67aa7d9f773e452ed1d827ff98ff07a9"> 3796</a></span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a67aa7d9f773e452ed1d827ff98ff07a9">testMultisign</a>()</div>
<div class="line"><a id="l03797" name="l03797"></a><span class="lineno"> 3797</span> {</div>
<div class="line"><a id="l03798" name="l03798"></a><span class="lineno"> 3798</span> <span class="keyword">using namespace </span>jtx;</div>
<div class="line"><a id="l03799" name="l03799"></a><span class="lineno"> 3799</span> <span class="keyword">auto</span> <span class="keyword">const</span> <a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a> = <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a8e5379a68ca5b5ae718e77312c2f1f94">testable_amendments</a>();</div>
<div class="line"><a id="l03800" name="l03800"></a><span class="lineno"> 3800</span> </div>
<div class="line"><a id="l03801" name="l03801"></a><span class="lineno"> 3801</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#afd22be4508d66b15ef939186388b6e63">testTxMultisign</a>(</div>
<div class="line"><a id="l03802" name="l03802"></a><span class="lineno"> 3802</span> <a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a> - featureMultiSignReserve - featureExpandedSignerList);</div>
<div class="line"><a id="l03803" name="l03803"></a><span class="lineno"> 3803</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#afd22be4508d66b15ef939186388b6e63">testTxMultisign</a>(<a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a> - featureExpandedSignerList);</div>
<div class="line"><a id="l03804" name="l03804"></a><span class="lineno"> 3804</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#afd22be4508d66b15ef939186388b6e63">testTxMultisign</a>(<a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a>);</div>
<div class="line"><a id="l03805" name="l03805"></a><span class="lineno"> 3805</span> }</div>
<div class="line"><a id="l03793" name="l03793"></a><span class="lineno"> 3793</span> </div>
<div class="line"><a id="l03794" name="l03794"></a><span class="lineno"> 3794</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen03795" data-start="{" data-end="}">
<div class="line"><a id="l03795" name="l03795"></a><span class="lineno"><a class="line" href="structripple_1_1test_1_1AMMExtended__test.html#a67aa7d9f773e452ed1d827ff98ff07a9"> 3795</a></span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a67aa7d9f773e452ed1d827ff98ff07a9">testMultisign</a>()</div>
<div class="line"><a id="l03796" name="l03796"></a><span class="lineno"> 3796</span> {</div>
<div class="line"><a id="l03797" name="l03797"></a><span class="lineno"> 3797</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#afd22be4508d66b15ef939186388b6e63">testTxMultisign</a>(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a8e5379a68ca5b5ae718e77312c2f1f94">jtx::testable_amendments</a>());</div>
<div class="line"><a id="l03798" name="l03798"></a><span class="lineno"> 3798</span> }</div>
</div>
<div class="line"><a id="l03806" name="l03806"></a><span class="lineno"> 3806</span> </div>
<div class="line"><a id="l03807" name="l03807"></a><span class="lineno"> 3807</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen03808" data-start="{" data-end="}">
<div class="line"><a id="l03808" name="l03808"></a><span class="lineno"><a class="line" href="structripple_1_1test_1_1AMMExtended__test.html#a0f4c818cd9bb09b29b6b8d479dd311e7"> 3808</a></span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a0f4c818cd9bb09b29b6b8d479dd311e7">testPayStrand</a>()</div>
<div class="line"><a id="l03809" name="l03809"></a><span class="lineno"> 3809</span> {</div>
<div class="line"><a id="l03810" name="l03810"></a><span class="lineno"> 3810</span> <span class="keyword">using namespace </span>jtx;</div>
<div class="line"><a id="l03811" name="l03811"></a><span class="lineno"> 3811</span> <span class="keyword">auto</span> <span class="keyword">const</span> <a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a> = <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a8e5379a68ca5b5ae718e77312c2f1f94">testable_amendments</a>();</div>
<div class="line"><a id="l03812" name="l03812"></a><span class="lineno"> 3812</span> </div>
<div class="line"><a id="l03813" name="l03813"></a><span class="lineno"> 3813</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a74dd4d93fcc0432a1150abfc2a2d9ac1">testToStrand</a>(<a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a>);</div>
<div class="line"><a id="l03814" name="l03814"></a><span class="lineno"> 3814</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a8b7661580251d8b2e017f30964142669">testRIPD1373</a>(<a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a>);</div>
<div class="line"><a id="l03815" name="l03815"></a><span class="lineno"> 3815</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a6e62141e0bd20f4f1c139b8a2c308e22">testLoop</a>(<a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a>);</div>
<div class="line"><a id="l03816" name="l03816"></a><span class="lineno"> 3816</span> }</div>
<div class="line"><a id="l03799" name="l03799"></a><span class="lineno"> 3799</span> </div>
<div class="line"><a id="l03800" name="l03800"></a><span class="lineno"> 3800</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen03801" data-start="{" data-end="}">
<div class="line"><a id="l03801" name="l03801"></a><span class="lineno"><a class="line" href="structripple_1_1test_1_1AMMExtended__test.html#a0f4c818cd9bb09b29b6b8d479dd311e7"> 3801</a></span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a0f4c818cd9bb09b29b6b8d479dd311e7">testPayStrand</a>()</div>
<div class="line"><a id="l03802" name="l03802"></a><span class="lineno"> 3802</span> {</div>
<div class="line"><a id="l03803" name="l03803"></a><span class="lineno"> 3803</span> <span class="keyword">auto</span> <span class="keyword">const</span> <a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a> = <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a8e5379a68ca5b5ae718e77312c2f1f94">jtx::testable_amendments</a>();</div>
<div class="line"><a id="l03804" name="l03804"></a><span class="lineno"> 3804</span> </div>
<div class="line"><a id="l03805" name="l03805"></a><span class="lineno"> 3805</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a74dd4d93fcc0432a1150abfc2a2d9ac1">testToStrand</a>(<a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a>);</div>
<div class="line"><a id="l03806" name="l03806"></a><span class="lineno"> 3806</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a8b7661580251d8b2e017f30964142669">testRIPD1373</a>(<a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a>);</div>
<div class="line"><a id="l03807" name="l03807"></a><span class="lineno"> 3807</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a6e62141e0bd20f4f1c139b8a2c308e22">testLoop</a>(<a class="code hl_enumvalue" href="namespaceripple.html#a7ffb3f54d739bb8f967d695f08fb66ccaa181a603769c1f98ad927e7367c7aa51">all</a>);</div>
<div class="line"><a id="l03808" name="l03808"></a><span class="lineno"> 3808</span> }</div>
</div>
<div class="line"><a id="l03817" name="l03817"></a><span class="lineno"> 3817</span> </div>
<div class="line"><a id="l03818" name="l03818"></a><span class="lineno"> 3818</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen03819" data-start="{" data-end="}">
<div class="line"><a id="l03819" name="l03819"></a><span class="lineno"><a class="line" href="structripple_1_1test_1_1AMMExtended__test.html#a753d2f28901cf0717dceee54c993b991"> 3819</a></span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a753d2f28901cf0717dceee54c993b991">run</a>()<span class="keyword"> override</span></div>
<div class="line"><a id="l03820" name="l03820"></a><span class="lineno"> 3820</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l03821" name="l03821"></a><span class="lineno"> 3821</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a93c69cb76aca4ba9f7cd44c089486541">testOffers</a>();</div>
<div class="line"><a id="l03822" name="l03822"></a><span class="lineno"> 3822</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a8073ec61bc1ab0dcb2adff40c50b9315">testPaths</a>();</div>
<div class="line"><a id="l03823" name="l03823"></a><span class="lineno"> 3823</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a0cef3dfe3511dba869d98fe7f4119e08">testFlow</a>();</div>
<div class="line"><a id="l03824" name="l03824"></a><span class="lineno"> 3824</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a225d5d59748cf25fc2269887d456a369">testCrossingLimits</a>();</div>
<div class="line"><a id="l03825" name="l03825"></a><span class="lineno"> 3825</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a426474fae47ee1d7605065a003aaedc1">testDeliverMin</a>();</div>
<div class="line"><a id="l03826" name="l03826"></a><span class="lineno"> 3826</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#ac4b154c105591f579a3bb2f9b61e07a2">testDepositAuth</a>();</div>
<div class="line"><a id="l03827" name="l03827"></a><span class="lineno"> 3827</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a568a0e17728d40210ee4f9606966b156">testFreeze</a>();</div>
<div class="line"><a id="l03828" name="l03828"></a><span class="lineno"> 3828</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a67aa7d9f773e452ed1d827ff98ff07a9">testMultisign</a>();</div>
<div class="line"><a id="l03829" name="l03829"></a><span class="lineno"> 3829</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a0f4c818cd9bb09b29b6b8d479dd311e7">testPayStrand</a>();</div>
<div class="line"><a id="l03830" name="l03830"></a><span class="lineno"> 3830</span> }</div>
<div class="line"><a id="l03809" name="l03809"></a><span class="lineno"> 3809</span> </div>
<div class="line"><a id="l03810" name="l03810"></a><span class="lineno"> 3810</span> <span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen03811" data-start="{" data-end="}">
<div class="line"><a id="l03811" name="l03811"></a><span class="lineno"><a class="line" href="structripple_1_1test_1_1AMMExtended__test.html#a753d2f28901cf0717dceee54c993b991"> 3811</a></span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a753d2f28901cf0717dceee54c993b991">run</a>()<span class="keyword"> override</span></div>
<div class="line"><a id="l03812" name="l03812"></a><span class="lineno"> 3812</span><span class="keyword"> </span>{</div>
<div class="line"><a id="l03813" name="l03813"></a><span class="lineno"> 3813</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a93c69cb76aca4ba9f7cd44c089486541">testOffers</a>();</div>
<div class="line"><a id="l03814" name="l03814"></a><span class="lineno"> 3814</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a8073ec61bc1ab0dcb2adff40c50b9315">testPaths</a>();</div>
<div class="line"><a id="l03815" name="l03815"></a><span class="lineno"> 3815</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a0cef3dfe3511dba869d98fe7f4119e08">testFlow</a>();</div>
<div class="line"><a id="l03816" name="l03816"></a><span class="lineno"> 3816</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a225d5d59748cf25fc2269887d456a369">testCrossingLimits</a>();</div>
<div class="line"><a id="l03817" name="l03817"></a><span class="lineno"> 3817</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a426474fae47ee1d7605065a003aaedc1">testDeliverMin</a>();</div>
<div class="line"><a id="l03818" name="l03818"></a><span class="lineno"> 3818</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#ac4b154c105591f579a3bb2f9b61e07a2">testDepositAuth</a>();</div>
<div class="line"><a id="l03819" name="l03819"></a><span class="lineno"> 3819</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a568a0e17728d40210ee4f9606966b156">testFreeze</a>();</div>
<div class="line"><a id="l03820" name="l03820"></a><span class="lineno"> 3820</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a67aa7d9f773e452ed1d827ff98ff07a9">testMultisign</a>();</div>
<div class="line"><a id="l03821" name="l03821"></a><span class="lineno"> 3821</span> <a class="code hl_function" href="structripple_1_1test_1_1AMMExtended__test.html#a0f4c818cd9bb09b29b6b8d479dd311e7">testPayStrand</a>();</div>
<div class="line"><a id="l03822" name="l03822"></a><span class="lineno"> 3822</span> }</div>
</div>
<div class="line"><a id="l03831" name="l03831"></a><span class="lineno"> 3831</span>};</div>
<div class="line"><a id="l03823" name="l03823"></a><span class="lineno"> 3823</span>};</div>
</div>
<div class="line"><a id="l03832" name="l03832"></a><span class="lineno"> 3832</span> </div>
<div class="line"><a id="l03833" name="l03833"></a><span class="lineno"><a class="line" href="namespaceripple_1_1test.html#ac79f5f89b759ea5384c127c0bbe44f30"> 3833</a></span>BEAST_DEFINE_TESTSUITE_PRIO(AMMExtended, app, <a class="code hl_namespace" href="namespaceripple.html">ripple</a>, 1);</div>
<div class="line"><a id="l03834" name="l03834"></a><span class="lineno"> 3834</span> </div>
<div class="line"><a id="l03835" name="l03835"></a><span class="lineno"> 3835</span>} <span class="comment">// namespace test</span></div>
<div class="line"><a id="l03836" name="l03836"></a><span class="lineno"> 3836</span>} <span class="comment">// namespace ripple</span></div>
<div class="line"><a id="l03824" name="l03824"></a><span class="lineno"> 3824</span> </div>
<div class="line"><a id="l03825" name="l03825"></a><span class="lineno"><a class="line" href="namespaceripple_1_1test.html#ac79f5f89b759ea5384c127c0bbe44f30"> 3825</a></span>BEAST_DEFINE_TESTSUITE_PRIO(AMMExtended, app, <a class="code hl_namespace" href="namespaceripple.html">ripple</a>, 1);</div>
<div class="line"><a id="l03826" name="l03826"></a><span class="lineno"> 3826</span> </div>
<div class="line"><a id="l03827" name="l03827"></a><span class="lineno"> 3827</span>} <span class="comment">// namespace test</span></div>
<div class="line"><a id="l03828" name="l03828"></a><span class="lineno"> 3828</span>} <span class="comment">// namespace ripple</span></div>
<div class="ttc" id="abasic_string_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html"><div class="ttname"><a href="classJson_1_1Value.html">Json::Value</a></div><div class="ttdoc">Represents a JSON value.</div><div class="ttdef"><b>Definition</b> <a href="json__value_8h_source.html#l00130">json_value.h:131</a></div></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#l00040">Journal.h:41</a></div></div>
@@ -4206,16 +4198,16 @@ $(document).ready(function() { init_codefold(0); });
<div class="ttc" id="astructripple_1_1JsonOptions_html_ab85e43ec84df987200d3355c3ba89f0aa1917451e3686dfe8d5016670eb87ab33"><div class="ttname"><a href="structripple_1_1JsonOptions.html#ab85e43ec84df987200d3355c3ba89f0aa1917451e3686dfe8d5016670eb87ab33">ripple::JsonOptions::none</a></div><div class="ttdeci">@ none</div><div class="ttdef"><b>Definition</b> <a href="STBase_8h_source.html#l00024">STBase.h:24</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html">ripple::test::AMMExtended_test</a></div><div class="ttdoc">Tests of AMM that use offers too.</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l00027">AMMExtended_test.cpp:28</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a05259f267a32c18841c7502fbfc21cde"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a05259f267a32c18841c7502fbfc21cde">ripple::test::AMMExtended_test::testGlobalFreeze</a></div><div class="ttdeci">void testGlobalFreeze(FeatureBitset features)</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l03306">AMMExtended_test.cpp:3306</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a0cef3dfe3511dba869d98fe7f4119e08"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a0cef3dfe3511dba869d98fe7f4119e08">ripple::test::AMMExtended_test::testFlow</a></div><div class="ttdeci">void testFlow()</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l03747">AMMExtended_test.cpp:3747</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a0f4c818cd9bb09b29b6b8d479dd311e7"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a0f4c818cd9bb09b29b6b8d479dd311e7">ripple::test::AMMExtended_test::testPayStrand</a></div><div class="ttdeci">void testPayStrand()</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l03808">AMMExtended_test.cpp:3808</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a0cef3dfe3511dba869d98fe7f4119e08"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a0cef3dfe3511dba869d98fe7f4119e08">ripple::test::AMMExtended_test::testFlow</a></div><div class="ttdeci">void testFlow()</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l03746">AMMExtended_test.cpp:3746</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a0f4c818cd9bb09b29b6b8d479dd311e7"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a0f4c818cd9bb09b29b6b8d479dd311e7">ripple::test::AMMExtended_test::testPayStrand</a></div><div class="ttdeci">void testPayStrand()</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l03801">AMMExtended_test.cpp:3801</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a1b34925d12a74ab04c487dc1bb37e844"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a1b34925d12a74ab04c487dc1bb37e844">ripple::test::AMMExtended_test::testOfferCrossWithXRP</a></div><div class="ttdeci">void testOfferCrossWithXRP(FeatureBitset features)</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l00279">AMMExtended_test.cpp:279</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a1eaa8f788cd0543f6f382b996c1451a5"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a1eaa8f788cd0543f6f382b996c1451a5">ripple::test::AMMExtended_test::testCurrencyConversionEntire</a></div><div class="ttdeci">void testCurrencyConversionEntire(FeatureBitset features)</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l00341">AMMExtended_test.cpp:341</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a225d5d59748cf25fc2269887d456a369"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a225d5d59748cf25fc2269887d456a369">ripple::test::AMMExtended_test::testCrossingLimits</a></div><div class="ttdeci">void testCrossingLimits()</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l03761">AMMExtended_test.cpp:3761</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a225d5d59748cf25fc2269887d456a369"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a225d5d59748cf25fc2269887d456a369">ripple::test::AMMExtended_test::testCrossingLimits</a></div><div class="ttdeci">void testCrossingLimits()</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l03760">AMMExtended_test.cpp:3760</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a2307e73d869f56098b42cd1a428271f8"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a2307e73d869f56098b42cd1a428271f8">ripple::test::AMMExtended_test::testFalseDry</a></div><div class="ttdeci">void testFalseDry(FeatureBitset features)</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l01861">AMMExtended_test.cpp:1861</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a2ce887113e97a5c69738a867b589b9db"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a2ce887113e97a5c69738a867b589b9db">ripple::test::AMMExtended_test::receive_max</a></div><div class="ttdeci">void receive_max()</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l01517">AMMExtended_test.cpp:1517</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a3d6099f9d7abf68dec3b32858b07cead"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a3d6099f9d7abf68dec3b32858b07cead">ripple::test::AMMExtended_test::testOfferCrossWithLimitOverride</a></div><div class="ttdeci">void testOfferCrossWithLimitOverride(FeatureBitset features)</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l00309">AMMExtended_test.cpp:309</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a3f7bb4f5ea0a071c25ce4640056a0d25"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a3f7bb4f5ea0a071c25ce4640056a0d25">ripple::test::AMMExtended_test::testTransferRateOffer</a></div><div class="ttdeci">void testTransferRateOffer(FeatureBitset features)</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l00909">AMMExtended_test.cpp:909</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a426474fae47ee1d7605065a003aaedc1"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a426474fae47ee1d7605065a003aaedc1">ripple::test::AMMExtended_test::testDeliverMin</a></div><div class="ttdeci">void testDeliverMin()</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l03770">AMMExtended_test.cpp:3770</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a426474fae47ee1d7605065a003aaedc1"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a426474fae47ee1d7605065a003aaedc1">ripple::test::AMMExtended_test::testDeliverMin</a></div><div class="ttdeci">void testDeliverMin()</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l03769">AMMExtended_test.cpp:3769</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a480fa9af5ce49780dd7f3dafd57dd7e3"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a480fa9af5ce49780dd7f3dafd57dd7e3">ripple::test::AMMExtended_test::path_find_05</a></div><div class="ttdeci">void path_find_05()</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l01687">AMMExtended_test.cpp:1687</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a4858b3098e750d4a210247ba3f91e39c"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a4858b3098e750d4a210247ba3f91e39c">ripple::test::AMMExtended_test::testBookStep</a></div><div class="ttdeci">void testBookStep(FeatureBitset features)</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l01902">AMMExtended_test.cpp:1902</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a505e1f8825c66bf9397edb2cbe3e58a8"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a505e1f8825c66bf9397edb2cbe3e58a8">ripple::test::AMMExtended_test::path_find_01</a></div><div class="ttdeci">void path_find_01()</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l01561">AMMExtended_test.cpp:1561</a></div></div>
@@ -4225,24 +4217,24 @@ $(document).ready(function() { init_codefold(0); });
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a54fd57b55af5a4ac0aa25fdd101f89d7"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a54fd57b55af5a4ac0aa25fdd101f89d7">ripple::test::AMMExtended_test::testRequireAuth</a></div><div class="ttdeci">void testRequireAuth(FeatureBitset features)</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l01301">AMMExtended_test.cpp:1301</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a554f67be9d05cb84c2926a24a04baca7"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a554f67be9d05cb84c2926a24a04baca7">ripple::test::AMMExtended_test::path_find_06</a></div><div class="ttdeci">void path_find_06()</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l01817">AMMExtended_test.cpp:1817</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a5555c924613e0cc7bf8ab31246a94a20"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a5555c924613e0cc7bf8ab31246a94a20">ripple::test::AMMExtended_test::testPayment</a></div><div class="ttdeci">void testPayment(FeatureBitset features)</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l03035">AMMExtended_test.cpp:3035</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a568a0e17728d40210ee4f9606966b156"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a568a0e17728d40210ee4f9606966b156">ripple::test::AMMExtended_test::testFreeze</a></div><div class="ttdeci">void testFreeze()</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l03786">AMMExtended_test.cpp:3786</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a568a0e17728d40210ee4f9606966b156"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a568a0e17728d40210ee4f9606966b156">ripple::test::AMMExtended_test::testFreeze</a></div><div class="ttdeci">void testFreeze()</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l03785">AMMExtended_test.cpp:3785</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a5adc19a6f441881103b188128322c307"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a5adc19a6f441881103b188128322c307">ripple::test::AMMExtended_test::testOfferFeesConsumeFunds</a></div><div class="ttdeci">void testOfferFeesConsumeFunds(FeatureBitset features)</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l00512">AMMExtended_test.cpp:512</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a62b5d8f31207b1dfd6c0eeb9697bfd1e"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a62b5d8f31207b1dfd6c0eeb9697bfd1e">ripple::test::AMMExtended_test::path_find_02</a></div><div class="ttdeci">void path_find_02()</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l01650">AMMExtended_test.cpp:1650</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a67aa7d9f773e452ed1d827ff98ff07a9"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a67aa7d9f773e452ed1d827ff98ff07a9">ripple::test::AMMExtended_test::testMultisign</a></div><div class="ttdeci">void testMultisign()</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l03796">AMMExtended_test.cpp:3796</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a67aa7d9f773e452ed1d827ff98ff07a9"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a67aa7d9f773e452ed1d827ff98ff07a9">ripple::test::AMMExtended_test::testMultisign</a></div><div class="ttdeci">void testMultisign()</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l03795">AMMExtended_test.cpp:3795</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a67bfb2cc83135c258e4fbe252dcf7115"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a67bfb2cc83135c258e4fbe252dcf7115">ripple::test::AMMExtended_test::testOffersWhenFrozen</a></div><div class="ttdeci">void testOffersWhenFrozen(FeatureBitset features)</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l03444">AMMExtended_test.cpp:3444</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a67dc796e023ae04ab9081977008501ca"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a67dc796e023ae04ab9081977008501ca">ripple::test::AMMExtended_test::testSellFlagExceedLimit</a></div><div class="ttdeci">void testSellFlagExceedLimit(FeatureBitset features)</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l00628">AMMExtended_test.cpp:628</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a69179767b5d0a0fde63fa19b1400d454"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a69179767b5d0a0fde63fa19b1400d454">ripple::test::AMMExtended_test::testCrossCurrencyBridged</a></div><div class="ttdeci">void testCrossCurrencyBridged(FeatureBitset features)</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l00462">AMMExtended_test.cpp:462</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a693fab7242b803f1affc808ad4f6694f"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a693fab7242b803f1affc808ad4f6694f">ripple::test::AMMExtended_test::testBadPathAssert</a></div><div class="ttdeci">void testBadPathAssert(FeatureBitset features)</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l01148">AMMExtended_test.cpp:1148</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a6e62141e0bd20f4f1c139b8a2c308e22"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a6e62141e0bd20f4f1c139b8a2c308e22">ripple::test::AMMExtended_test::testLoop</a></div><div class="ttdeci">void testLoop(FeatureBitset features)</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l03680">AMMExtended_test.cpp:3680</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a6e62141e0bd20f4f1c139b8a2c308e22"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a6e62141e0bd20f4f1c139b8a2c308e22">ripple::test::AMMExtended_test::testLoop</a></div><div class="ttdeci">void testLoop(FeatureBitset features)</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l03679">AMMExtended_test.cpp:3679</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a6fff4f5b357d9e5a627351d4b69effa0"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a6fff4f5b357d9e5a627351d4b69effa0">ripple::test::AMMExtended_test::via_offers_via_gateway</a></div><div class="ttdeci">void via_offers_via_gateway()</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l01490">AMMExtended_test.cpp:1490</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a70da6836168328d03ec2a409106a2d33"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a70da6836168328d03ec2a409106a2d33">ripple::test::AMMExtended_test::testOfferCreateThenCross</a></div><div class="ttdeci">void testOfferCreateThenCross(FeatureBitset features)</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l00573">AMMExtended_test.cpp:573</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a74dd4d93fcc0432a1150abfc2a2d9ac1"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a74dd4d93fcc0432a1150abfc2a2d9ac1">ripple::test::AMMExtended_test::testToStrand</a></div><div class="ttdeci">void testToStrand(FeatureBitset features)</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l03577">AMMExtended_test.cpp:3577</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a753d2f28901cf0717dceee54c993b991"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a753d2f28901cf0717dceee54c993b991">ripple::test::AMMExtended_test::run</a></div><div class="ttdeci">void run() override</div><div class="ttdoc">Runs the suite.</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l03819">AMMExtended_test.cpp:3819</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a74dd4d93fcc0432a1150abfc2a2d9ac1"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a74dd4d93fcc0432a1150abfc2a2d9ac1">ripple::test::AMMExtended_test::testToStrand</a></div><div class="ttdeci">void testToStrand(FeatureBitset features)</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l03576">AMMExtended_test.cpp:3576</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a753d2f28901cf0717dceee54c993b991"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a753d2f28901cf0717dceee54c993b991">ripple::test::AMMExtended_test::run</a></div><div class="ttdeci">void run() override</div><div class="ttdoc">Runs the suite.</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l03811">AMMExtended_test.cpp:3811</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a7729c1bc9372a4f5a9e29b2ea368f604"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a7729c1bc9372a4f5a9e29b2ea368f604">ripple::test::AMMExtended_test::testFillModes</a></div><div class="ttdeci">void testFillModes(FeatureBitset features)</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l00172">AMMExtended_test.cpp:172</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a8073ec61bc1ab0dcb2adff40c50b9315"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a8073ec61bc1ab0dcb2adff40c50b9315">ripple::test::AMMExtended_test::testPaths</a></div><div class="ttdeci">void testPaths()</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l03735">AMMExtended_test.cpp:3735</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a8073ec61bc1ab0dcb2adff40c50b9315"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a8073ec61bc1ab0dcb2adff40c50b9315">ripple::test::AMMExtended_test::testPaths</a></div><div class="ttdeci">void testPaths()</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l03734">AMMExtended_test.cpp:3734</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a879d5fea8b8122f042cddfdede615552"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a879d5fea8b8122f042cddfdede615552">ripple::test::AMMExtended_test::testMissingAuth</a></div><div class="ttdeci">void testMissingAuth(FeatureBitset features)</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l01350">AMMExtended_test.cpp:1350</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a890330cb90310f5e0d378950d7efddf0"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a890330cb90310f5e0d378950d7efddf0">ripple::test::AMMExtended_test::path_find_consume_all</a></div><div class="ttdeci">void path_find_consume_all()</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l01451">AMMExtended_test.cpp:1451</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a8b7661580251d8b2e017f30964142669"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a8b7661580251d8b2e017f30964142669">ripple::test::AMMExtended_test::testRIPD1373</a></div><div class="ttdeci">void testRIPD1373(FeatureBitset features)</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l03606">AMMExtended_test.cpp:3606</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a8b7661580251d8b2e017f30964142669"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a8b7661580251d8b2e017f30964142669">ripple::test::AMMExtended_test::testRIPD1373</a></div><div class="ttdeci">void testRIPD1373(FeatureBitset features)</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l03605">AMMExtended_test.cpp:3605</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a8e1afd4e52cc5f9897182966820029f5"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a8e1afd4e52cc5f9897182966820029f5">ripple::test::AMMExtended_test::testCrossCurrencyEndXRP</a></div><div class="ttdeci">void testCrossCurrencyEndXRP(FeatureBitset features)</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l00437">AMMExtended_test.cpp:437</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a914a2a704907dd27bc7c50240bfee92c"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a914a2a704907dd27bc7c50240bfee92c">ripple::test::AMMExtended_test::testXRPPathLoop</a></div><div class="ttdeci">void testXRPPathLoop()</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l02788">AMMExtended_test.cpp:2788</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_a92b679c328d113c593405bc171ab2d76"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#a92b679c328d113c593405bc171ab2d76">ripple::test::AMMExtended_test::testCurrencyConversionInParts</a></div><div class="ttdeci">void testCurrencyConversionInParts(FeatureBitset features)</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l00375">AMMExtended_test.cpp:375</a></div></div>
@@ -4253,7 +4245,7 @@ $(document).ready(function() { init_codefold(0); });
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_aad5a8b86eac202dc5ccbc145819443ee"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#aad5a8b86eac202dc5ccbc145819443ee">ripple::test::AMMExtended_test::testRmFundedOffer</a></div><div class="ttdeci">void testRmFundedOffer(FeatureBitset features)</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l00031">AMMExtended_test.cpp:31</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_ab5de33d7261af2d7cf1a135efd89a60c"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#ab5de33d7261af2d7cf1a135efd89a60c">ripple::test::AMMExtended_test::testSelfIssueOffer</a></div><div class="ttdeci">void testSelfIssueOffer(FeatureBitset features)</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l01122">AMMExtended_test.cpp:1122</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_ab9faf465c16a110ca3a1f5d756e9d272"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#ab9faf465c16a110ca3a1f5d756e9d272">ripple::test::AMMExtended_test::testDirectToDirectPath</a></div><div class="ttdeci">void testDirectToDirectPath(FeatureBitset features)</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l01218">AMMExtended_test.cpp:1218</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_ac4b154c105591f579a3bb2f9b61e07a2"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#ac4b154c105591f579a3bb2f9b61e07a2">ripple::test::AMMExtended_test::testDepositAuth</a></div><div class="ttdeci">void testDepositAuth()</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l03779">AMMExtended_test.cpp:3779</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_ac4b154c105591f579a3bb2f9b61e07a2"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#ac4b154c105591f579a3bb2f9b61e07a2">ripple::test::AMMExtended_test::testDepositAuth</a></div><div class="ttdeci">void testDepositAuth()</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l03778">AMMExtended_test.cpp:3778</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_ac6939a63c329e656a6da8013dbf18400"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#ac6939a63c329e656a6da8013dbf18400">ripple::test::AMMExtended_test::testStepLimit</a></div><div class="ttdeci">void testStepLimit(FeatureBitset features)</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l02867">AMMExtended_test.cpp:2867</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_ada2c3f57797defc7e80cb027231ac684"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#ada2c3f57797defc7e80cb027231ac684">ripple::test::AMMExtended_test::testLimitQuality</a></div><div class="ttdeci">void testLimitQuality()</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l02758">AMMExtended_test.cpp:2758</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1AMMExtended__test_html_aed812e32079e9f60baf09422a7a507bd"><div class="ttname"><a href="structripple_1_1test_1_1AMMExtended__test.html#aed812e32079e9f60baf09422a7a507bd">ripple::test::AMMExtended_test::testEnforceNoRipple</a></div><div class="ttdeci">void testEnforceNoRipple(FeatureBitset features)</div><div class="ttdef"><b>Definition</b> <a href="AMMExtended__test_8cpp_source.html#l00095">AMMExtended_test.cpp:95</a></div></div>