This commit is contained in:
bthomee
2025-05-29 21:00:28 +00:00
parent 5243cbe582
commit e0ff9ab743
567 changed files with 23898 additions and 24756 deletions

View File

@@ -2784,12 +2784,12 @@ $(function() {
<div class="line"><a id="l02710" name="l02710"></a><span class="lineno"> 2710</span> .account = carol,</div>
<div class="line"><a id="l02711" name="l02711"></a><span class="lineno"> 2711</span> .bidMin = bid,</div>
<div class="line"><a id="l02712" name="l02712"></a><span class="lineno"> 2712</span> }),</div>
<div class="line"><a id="l02713" name="l02713"></a><span class="lineno"> 2713</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1ter.html">ter</a>(temBAD_AMOUNT));</div>
<div class="line"><a id="l02713" name="l02713"></a><span class="lineno"> 2713</span> ter(temBAD_AMOUNT));</div>
<div class="line"><a id="l02714" name="l02714"></a><span class="lineno"> 2714</span> env(ammAlice.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMM.html#ab2af4e89db3a578be63b8f6e2a10aed3">bid</a>({</div>
<div class="line"><a id="l02715" name="l02715"></a><span class="lineno"> 2715</span> .account = carol,</div>
<div class="line"><a id="l02716" name="l02716"></a><span class="lineno"> 2716</span> .bidMax = bid,</div>
<div class="line"><a id="l02717" name="l02717"></a><span class="lineno"> 2717</span> }),</div>
<div class="line"><a id="l02718" name="l02718"></a><span class="lineno"> 2718</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1ter.html">ter</a>(temBAD_AMOUNT));</div>
<div class="line"><a id="l02718" name="l02718"></a><span class="lineno"> 2718</span> ter(temBAD_AMOUNT));</div>
<div class="line"><a id="l02719" name="l02719"></a><span class="lineno"> 2719</span> }</div>
<div class="line"><a id="l02720" name="l02720"></a><span class="lineno"> 2720</span> </div>
<div class="line"><a id="l02721" name="l02721"></a><span class="lineno"> 2721</span> <span class="comment">// Invlaid Min/Max combination</span></div>
@@ -3288,31 +3288,31 @@ $(function() {
<div class="line"><a id="l03214" name="l03214"></a><span class="lineno"> 3214</span> </div>
<div class="line"><a id="l03215" name="l03215"></a><span class="lineno"> 3215</span> <span class="comment">// Bid tiny amount</span></div>
<div class="line"><a id="l03216" name="l03216"></a><span class="lineno"> 3216</span> testAMM(</div>
<div class="line"><a id="l03217" name="l03217"></a><span class="lineno"> 3217</span> [&amp;](<a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1AMM.html">AMM</a>&amp; ammAlice, <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a>&amp; env) {</div>
<div class="line"><a id="l03217" name="l03217"></a><span class="lineno"> 3217</span> [&amp;](AMM&amp; ammAlice, Env&amp; env) {</div>
<div class="line"><a id="l03218" name="l03218"></a><span class="lineno"> 3218</span> <span class="comment">// Bid a tiny amount</span></div>
<div class="line"><a id="l03219" name="l03219"></a><span class="lineno"> 3219</span> <span class="keyword">auto</span> <span class="keyword">const</span> tiny =</div>
<div class="line"><a id="l03220" name="l03220"></a><span class="lineno"> 3220</span> <a class="code hl_class" href="classripple_1_1Number.html">Number</a>{STAmount::cMinValue, STAmount::cMinOffset};</div>
<div class="line"><a id="l03221" name="l03221"></a><span class="lineno"> 3221</span> env(ammAlice.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMM.html#ab2af4e89db3a578be63b8f6e2a10aed3">bid</a>(</div>
<div class="line"><a id="l03221" name="l03221"></a><span class="lineno"> 3221</span> env(ammAlice.bid(</div>
<div class="line"><a id="l03222" name="l03222"></a><span class="lineno"> 3222</span> {.account = alice, .bidMin = IOUAmount{tiny}}));</div>
<div class="line"><a id="l03223" name="l03223"></a><span class="lineno"> 3223</span> <span class="comment">// Auction slot purchase price is equal to the tiny amount</span></div>
<div class="line"><a id="l03224" name="l03224"></a><span class="lineno"> 3224</span> <span class="comment">// since the minSlotPrice is 0 with no trading fee.</span></div>
<div class="line"><a id="l03225" name="l03225"></a><span class="lineno"> 3225</span> BEAST_EXPECT(ammAlice.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMM.html#a40f978b02390af8c727e8c0a9fa7d03f">expectAuctionSlot</a>(0, 0, IOUAmount{tiny}));</div>
<div class="line"><a id="l03225" name="l03225"></a><span class="lineno"> 3225</span> BEAST_EXPECT(ammAlice.expectAuctionSlot(0, 0, IOUAmount{tiny}));</div>
<div class="line"><a id="l03226" name="l03226"></a><span class="lineno"> 3226</span> <span class="comment">// The purchase price is too small to affect the total tokens</span></div>
<div class="line"><a id="l03227" name="l03227"></a><span class="lineno"> 3227</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="l03228" name="l03228"></a><span class="lineno"> 3228</span> <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10&#39;000), USD(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="l03227" name="l03227"></a><span class="lineno"> 3227</span> BEAST_EXPECT(ammAlice.expectBalances(</div>
<div class="line"><a id="l03228" name="l03228"></a><span class="lineno"> 3228</span> <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10&#39;000), USD(10&#39;000), ammAlice.tokens()));</div>
<div class="line"><a id="l03229" name="l03229"></a><span class="lineno"> 3229</span> <span class="comment">// Bid the tiny amount</span></div>
<div class="line"><a id="l03230" name="l03230"></a><span class="lineno"> 3230</span> env(ammAlice.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMM.html#ab2af4e89db3a578be63b8f6e2a10aed3">bid</a>({</div>
<div class="line"><a id="l03230" name="l03230"></a><span class="lineno"> 3230</span> env(ammAlice.bid({</div>
<div class="line"><a id="l03231" name="l03231"></a><span class="lineno"> 3231</span> .account = alice,</div>
<div class="line"><a id="l03232" name="l03232"></a><span class="lineno"> 3232</span> .bidMin =</div>
<div class="line"><a id="l03233" name="l03233"></a><span class="lineno"> 3233</span> IOUAmount{STAmount::cMinValue, STAmount::cMinOffset},</div>
<div class="line"><a id="l03234" name="l03234"></a><span class="lineno"> 3234</span> }));</div>
<div class="line"><a id="l03235" name="l03235"></a><span class="lineno"> 3235</span> <span class="comment">// Pay slightly higher price</span></div>
<div class="line"><a id="l03236" name="l03236"></a><span class="lineno"> 3236</span> BEAST_EXPECT(ammAlice.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMM.html#a40f978b02390af8c727e8c0a9fa7d03f">expectAuctionSlot</a>(</div>
<div class="line"><a id="l03236" name="l03236"></a><span class="lineno"> 3236</span> BEAST_EXPECT(ammAlice.expectAuctionSlot(</div>
<div class="line"><a id="l03237" name="l03237"></a><span class="lineno"> 3237</span> 0, 0, IOUAmount{tiny * Number{105, -2}}));</div>
<div class="line"><a id="l03238" name="l03238"></a><span class="lineno"> 3238</span> <span class="comment">// The purchase price is still too small to affect the total</span></div>
<div class="line"><a id="l03239" name="l03239"></a><span class="lineno"> 3239</span> <span class="comment">// tokens</span></div>
<div class="line"><a id="l03240" name="l03240"></a><span class="lineno"> 3240</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="l03241" name="l03241"></a><span class="lineno"> 3241</span> <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10&#39;000), USD(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="l03240" name="l03240"></a><span class="lineno"> 3240</span> BEAST_EXPECT(ammAlice.expectBalances(</div>
<div class="line"><a id="l03241" name="l03241"></a><span class="lineno"> 3241</span> <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10&#39;000), USD(10&#39;000), ammAlice.tokens()));</div>
<div class="line"><a id="l03242" name="l03242"></a><span class="lineno"> 3242</span> },</div>
<div class="line"><a id="l03243" name="l03243"></a><span class="lineno"> 3243</span> std::nullopt,</div>
<div class="line"><a id="l03244" name="l03244"></a><span class="lineno"> 3244</span> 0,</div>
@@ -3329,16 +3329,16 @@ $(function() {
<div class="line"><a id="l03255" name="l03255"></a><span class="lineno"> 3255</span> }));</div>
<div class="line"><a id="l03256" name="l03256"></a><span class="lineno"> 3256</span> BEAST_EXPECT(ammAlice.expectAuctionSlot({carol}));</div>
<div class="line"><a id="l03257" name="l03257"></a><span class="lineno"> 3257</span> env(ammAlice.bid({.account = alice, .bidMin = IOUAmount{100}}));</div>
<div class="line"><a id="l03258" name="l03258"></a><span class="lineno"> 3258</span> BEAST_EXPECT(ammAlice.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMM.html#a40f978b02390af8c727e8c0a9fa7d03f">expectAuctionSlot</a>({}));</div>
<div class="line"><a id="l03258" name="l03258"></a><span class="lineno"> 3258</span> BEAST_EXPECT(ammAlice.expectAuctionSlot({}));</div>
<div class="line"><a id="l03259" name="l03259"></a><span class="lineno"> 3259</span> Account bob(<span class="stringliteral">&quot;bob&quot;</span>);</div>
<div class="line"><a id="l03260" name="l03260"></a><span class="lineno"> 3260</span> Account dan(<span class="stringliteral">&quot;dan&quot;</span>);</div>
<div class="line"><a id="l03261" name="l03261"></a><span class="lineno"> 3261</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a7465bcfa8bde2f58f93cee57934f7df8">fund</a>(env, {bob, dan}, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(1&#39;000));</div>
<div class="line"><a id="l03262" name="l03262"></a><span class="lineno"> 3262</span> env(ammAlice.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMM.html#ab2af4e89db3a578be63b8f6e2a10aed3">bid</a>({</div>
<div class="line"><a id="l03262" name="l03262"></a><span class="lineno"> 3262</span> env(ammAlice.bid({</div>
<div class="line"><a id="l03263" name="l03263"></a><span class="lineno"> 3263</span> .account = alice,</div>
<div class="line"><a id="l03264" name="l03264"></a><span class="lineno"> 3264</span> .bidMin = IOUAmount{100},</div>
<div class="line"><a id="l03265" name="l03265"></a><span class="lineno"> 3265</span> .authAccounts = {bob, dan},</div>
<div class="line"><a id="l03266" name="l03266"></a><span class="lineno"> 3266</span> }));</div>
<div class="line"><a id="l03267" name="l03267"></a><span class="lineno"> 3267</span> BEAST_EXPECT(ammAlice.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1AMM.html#a40f978b02390af8c727e8c0a9fa7d03f">expectAuctionSlot</a>({bob, dan}));</div>
<div class="line"><a id="l03267" name="l03267"></a><span class="lineno"> 3267</span> BEAST_EXPECT(ammAlice.expectAuctionSlot({bob, dan}));</div>
<div class="line"><a id="l03268" name="l03268"></a><span class="lineno"> 3268</span> },</div>
<div class="line"><a id="l03269" name="l03269"></a><span class="lineno"> 3269</span> std::nullopt,</div>
<div class="line"><a id="l03270" name="l03270"></a><span class="lineno"> 3270</span> 0,</div>
@@ -3351,8 +3351,8 @@ $(function() {
<div class="line"><a id="l03277" name="l03277"></a><span class="lineno"> 3277</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a7465bcfa8bde2f58f93cee57934f7df8">fund</a>(env, gw, {alice, bob}, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(2&#39;000), {USD(2&#39;000)});</div>
<div class="line"><a id="l03278" name="l03278"></a><span class="lineno"> 3278</span> <a class="code hl_enumvalue" href="namespaceripple.html#a22768e0a41b646442c98d38f2f2a307babd09c58ee620c0fdf33d2cdeb88eaaee">AMM</a> <a class="code hl_function" href="namespaceripple_1_1keylet.html#a54b18d5d8dab25d338f7e105bea1068b">amm</a>(env, gw, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(1&#39;000), USD(1&#39;010), <span class="keyword">false</span>, 1&#39;000);</div>
<div class="line"><a id="l03279" name="l03279"></a><span class="lineno"> 3279</span> <span class="keyword">auto</span> <span class="keyword">const</span> lpIssue = <a class="code hl_function" href="namespaceripple_1_1keylet.html#a54b18d5d8dab25d338f7e105bea1068b">amm</a>.lptIssue();</div>
<div class="line"><a id="l03280" name="l03280"></a><span class="lineno"> 3280</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a90fecf3c0f6cdc1c40761e19917bf65a">trust</a>(STAmount{lpIssue, 500}, alice);</div>
<div class="line"><a id="l03281" name="l03281"></a><span class="lineno"> 3281</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a90fecf3c0f6cdc1c40761e19917bf65a">trust</a>(STAmount{lpIssue, 50}, bob);</div>
<div class="line"><a id="l03280" name="l03280"></a><span class="lineno"> 3280</span> env.trust(STAmount{lpIssue, 500}, alice);</div>
<div class="line"><a id="l03281" name="l03281"></a><span class="lineno"> 3281</span> env.trust(STAmount{lpIssue, 50}, bob);</div>
<div class="line"><a id="l03282" name="l03282"></a><span class="lineno"> 3282</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1amm.html#ad598bf10f0d1bde849bb8b6333f2edb3">pay</a>(gw, alice, STAmount{lpIssue, 500}));</div>
<div class="line"><a id="l03283" name="l03283"></a><span class="lineno"> 3283</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx_1_1amm.html#ad598bf10f0d1bde849bb8b6333f2edb3">pay</a>(gw, bob, STAmount{lpIssue, 50}));</div>
<div class="line"><a id="l03284" name="l03284"></a><span class="lineno"> 3284</span> <span class="comment">// Alice doesn&#39;t have anymore lp tokens</span></div>
@@ -3387,51 +3387,51 @@ $(function() {
<div class="line"><a id="l03313" name="l03313"></a><span class="lineno"> 3313</span> <span class="comment">// preflight tests</span></div>
<div class="line"><a id="l03314" name="l03314"></a><span class="lineno"> 3314</span> {</div>
<div class="line"><a id="l03315" name="l03315"></a><span class="lineno"> 3315</span> Env env(*<span class="keyword">this</span>, features);</div>
<div class="line"><a id="l03316" name="l03316"></a><span class="lineno"> 3316</span> <span class="keyword">auto</span> <span class="keyword">const</span> baseFee = env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a65bedb2e0babbd55343f721de9008a37">current</a>()-&gt;fees().base;</div>
<div class="line"><a id="l03316" name="l03316"></a><span class="lineno"> 3316</span> <span class="keyword">auto</span> <span class="keyword">const</span> baseFee = env.current()-&gt;fees().base;</div>
<div class="line"><a id="l03317" name="l03317"></a><span class="lineno"> 3317</span> </div>
<div class="line"><a id="l03318" name="l03318"></a><span class="lineno"> 3318</span> <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a7465bcfa8bde2f58f93cee57934f7df8">fund</a>(env, gw, {alice, bob}, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(2&#39;000), {USD(2&#39;000)});</div>
<div class="line"><a id="l03319" name="l03319"></a><span class="lineno"> 3319</span> <a class="code hl_enumvalue" href="namespaceripple.html#a22768e0a41b646442c98d38f2f2a307babd09c58ee620c0fdf33d2cdeb88eaaee">AMM</a> <a class="code hl_function" href="namespaceripple_1_1keylet.html#a54b18d5d8dab25d338f7e105bea1068b">amm</a>(env, gw, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(1&#39;000), USD(1&#39;010), <span class="keyword">false</span>, 1&#39;000);</div>
<div class="line"><a id="l03320" name="l03320"></a><span class="lineno"> 3320</span> <a class="code hl_class" href="classJson_1_1Value.html">Json::Value</a> tx = <a class="code hl_function" href="namespaceripple_1_1keylet.html#a54b18d5d8dab25d338f7e105bea1068b">amm</a>.bid({.account = alice, .bidMin = 500});</div>
<div class="line"><a id="l03321" name="l03321"></a><span class="lineno"> 3321</span> </div>
<div class="line"><a id="l03322" name="l03322"></a><span class="lineno"> 3322</span> {</div>
<div class="line"><a id="l03323" name="l03323"></a><span class="lineno"> 3323</span> <span class="keyword">auto</span> jtx = env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#ac97544537f03e62be698194aabe47a32">jt</a>(tx, seq(1), fee(baseFee));</div>
<div class="line"><a id="l03324" name="l03324"></a><span class="lineno"> 3324</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#acd48f8ab02c37b1a30cedf4dec7cc96c">app</a>().<a class="code hl_function" href="classripple_1_1Application.html#a0c48dd5bcaef14e30e9ef5b96b0daa39">config</a>().<a class="code hl_variable" href="classripple_1_1Config.html#ad053293ba571075ebfa6f086ed70fdc5">features</a>.erase(featureAMM);</div>
<div class="line"><a id="l03323" name="l03323"></a><span class="lineno"> 3323</span> <span class="keyword">auto</span> jtx = env.jt(tx, seq(1), fee(baseFee));</div>
<div class="line"><a id="l03324" name="l03324"></a><span class="lineno"> 3324</span> env.app().config().features.erase(featureAMM);</div>
<div class="line"><a id="l03325" name="l03325"></a><span class="lineno"> 3325</span> PreflightContext pfctx(</div>
<div class="line"><a id="l03326" name="l03326"></a><span class="lineno"> 3326</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#acd48f8ab02c37b1a30cedf4dec7cc96c">app</a>(),</div>
<div class="line"><a id="l03326" name="l03326"></a><span class="lineno"> 3326</span> env.app(),</div>
<div class="line"><a id="l03327" name="l03327"></a><span class="lineno"> 3327</span> *jtx.stx,</div>
<div class="line"><a id="l03328" name="l03328"></a><span class="lineno"> 3328</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a65bedb2e0babbd55343f721de9008a37">current</a>()-&gt;rules(),</div>
<div class="line"><a id="l03328" name="l03328"></a><span class="lineno"> 3328</span> env.current()-&gt;rules(),</div>
<div class="line"><a id="l03329" name="l03329"></a><span class="lineno"> 3329</span> tapNONE,</div>
<div class="line"><a id="l03330" name="l03330"></a><span class="lineno"> 3330</span> env.<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1Env.html#acfdfa1e283de8fb2dad0216cd1711307">journal</a>);</div>
<div class="line"><a id="l03330" name="l03330"></a><span class="lineno"> 3330</span> env.journal);</div>
<div class="line"><a id="l03331" name="l03331"></a><span class="lineno"> 3331</span> <span class="keyword">auto</span> pf = AMMBid::preflight(pfctx);</div>
<div class="line"><a id="l03332" name="l03332"></a><span class="lineno"> 3332</span> BEAST_EXPECT(pf == temDISABLED);</div>
<div class="line"><a id="l03333" name="l03333"></a><span class="lineno"> 3333</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#acd48f8ab02c37b1a30cedf4dec7cc96c">app</a>().<a class="code hl_function" href="classripple_1_1Application.html#a0c48dd5bcaef14e30e9ef5b96b0daa39">config</a>().<a class="code hl_variable" href="classripple_1_1Config.html#ad053293ba571075ebfa6f086ed70fdc5">features</a>.insert(featureAMM);</div>
<div class="line"><a id="l03333" name="l03333"></a><span class="lineno"> 3333</span> env.app().config().features.insert(featureAMM);</div>
<div class="line"><a id="l03334" name="l03334"></a><span class="lineno"> 3334</span> }</div>
<div class="line"><a id="l03335" name="l03335"></a><span class="lineno"> 3335</span> </div>
<div class="line"><a id="l03336" name="l03336"></a><span class="lineno"> 3336</span> {</div>
<div class="line"><a id="l03337" name="l03337"></a><span class="lineno"> 3337</span> <span class="keyword">auto</span> jtx = env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#ac97544537f03e62be698194aabe47a32">jt</a>(tx, seq(1), fee(baseFee));</div>
<div class="line"><a id="l03338" name="l03338"></a><span class="lineno"> 3338</span> jtx.<a class="code hl_variable" href="structripple_1_1test_1_1jtx_1_1JTx.html#a4b79d68d69b3eb4f173ff66c4d561363">jv</a>[<span class="stringliteral">&quot;TxnSignature&quot;</span>] = <span class="stringliteral">&quot;deadbeef&quot;</span>;</div>
<div class="line"><a id="l03339" name="l03339"></a><span class="lineno"> 3339</span> jtx.stx = env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#acc124fc731f2071c6bc0ef7177a6f319">ust</a>(jtx);</div>
<div class="line"><a id="l03337" name="l03337"></a><span class="lineno"> 3337</span> <span class="keyword">auto</span> jtx = env.jt(tx, seq(1), fee(baseFee));</div>
<div class="line"><a id="l03338" name="l03338"></a><span class="lineno"> 3338</span> jtx.jv[<span class="stringliteral">&quot;TxnSignature&quot;</span>] = <span class="stringliteral">&quot;deadbeef&quot;</span>;</div>
<div class="line"><a id="l03339" name="l03339"></a><span class="lineno"> 3339</span> jtx.stx = env.ust(jtx);</div>
<div class="line"><a id="l03340" name="l03340"></a><span class="lineno"> 3340</span> PreflightContext pfctx(</div>
<div class="line"><a id="l03341" name="l03341"></a><span class="lineno"> 3341</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#acd48f8ab02c37b1a30cedf4dec7cc96c">app</a>(),</div>
<div class="line"><a id="l03341" name="l03341"></a><span class="lineno"> 3341</span> env.app(),</div>
<div class="line"><a id="l03342" name="l03342"></a><span class="lineno"> 3342</span> *jtx.stx,</div>
<div class="line"><a id="l03343" name="l03343"></a><span class="lineno"> 3343</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a65bedb2e0babbd55343f721de9008a37">current</a>()-&gt;rules(),</div>
<div class="line"><a id="l03343" name="l03343"></a><span class="lineno"> 3343</span> env.current()-&gt;rules(),</div>
<div class="line"><a id="l03344" name="l03344"></a><span class="lineno"> 3344</span> tapNONE,</div>
<div class="line"><a id="l03345" name="l03345"></a><span class="lineno"> 3345</span> env.<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1Env.html#acfdfa1e283de8fb2dad0216cd1711307">journal</a>);</div>
<div class="line"><a id="l03345" name="l03345"></a><span class="lineno"> 3345</span> env.journal);</div>
<div class="line"><a id="l03346" name="l03346"></a><span class="lineno"> 3346</span> <span class="keyword">auto</span> pf = AMMBid::preflight(pfctx);</div>
<div class="line"><a id="l03347" name="l03347"></a><span class="lineno"> 3347</span> BEAST_EXPECT(pf != tesSUCCESS);</div>
<div class="line"><a id="l03348" name="l03348"></a><span class="lineno"> 3348</span> }</div>
<div class="line"><a id="l03349" name="l03349"></a><span class="lineno"> 3349</span> </div>
<div class="line"><a id="l03350" name="l03350"></a><span class="lineno"> 3350</span> {</div>
<div class="line"><a id="l03351" name="l03351"></a><span class="lineno"> 3351</span> <span class="keyword">auto</span> jtx = env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#ac97544537f03e62be698194aabe47a32">jt</a>(tx, seq(1), fee(baseFee));</div>
<div class="line"><a id="l03352" name="l03352"></a><span class="lineno"> 3352</span> jtx.<a class="code hl_variable" href="structripple_1_1test_1_1jtx_1_1JTx.html#a4b79d68d69b3eb4f173ff66c4d561363">jv</a>[<span class="stringliteral">&quot;Asset2&quot;</span>][<span class="stringliteral">&quot;currency&quot;</span>] = <span class="stringliteral">&quot;XRP&quot;</span>;</div>
<div class="line"><a id="l03353" name="l03353"></a><span class="lineno"> 3353</span> jtx.jv[<span class="stringliteral">&quot;Asset2&quot;</span>].<a class="code hl_function" href="classJson_1_1Value.html#a9c9ee172f3387d37d5382d991c591219">removeMember</a>(<span class="stringliteral">&quot;issuer&quot;</span>);</div>
<div class="line"><a id="l03354" name="l03354"></a><span class="lineno"> 3354</span> jtx.stx = env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#acc124fc731f2071c6bc0ef7177a6f319">ust</a>(jtx);</div>
<div class="line"><a id="l03351" name="l03351"></a><span class="lineno"> 3351</span> <span class="keyword">auto</span> jtx = env.jt(tx, seq(1), fee(baseFee));</div>
<div class="line"><a id="l03352" name="l03352"></a><span class="lineno"> 3352</span> jtx.jv[<span class="stringliteral">&quot;Asset2&quot;</span>][<span class="stringliteral">&quot;currency&quot;</span>] = <span class="stringliteral">&quot;XRP&quot;</span>;</div>
<div class="line"><a id="l03353" name="l03353"></a><span class="lineno"> 3353</span> jtx.jv[<span class="stringliteral">&quot;Asset2&quot;</span>].removeMember(<span class="stringliteral">&quot;issuer&quot;</span>);</div>
<div class="line"><a id="l03354" name="l03354"></a><span class="lineno"> 3354</span> jtx.stx = env.ust(jtx);</div>
<div class="line"><a id="l03355" name="l03355"></a><span class="lineno"> 3355</span> PreflightContext pfctx(</div>
<div class="line"><a id="l03356" name="l03356"></a><span class="lineno"> 3356</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#acd48f8ab02c37b1a30cedf4dec7cc96c">app</a>(),</div>
<div class="line"><a id="l03356" name="l03356"></a><span class="lineno"> 3356</span> env.app(),</div>
<div class="line"><a id="l03357" name="l03357"></a><span class="lineno"> 3357</span> *jtx.stx,</div>
<div class="line"><a id="l03358" name="l03358"></a><span class="lineno"> 3358</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a65bedb2e0babbd55343f721de9008a37">current</a>()-&gt;rules(),</div>
<div class="line"><a id="l03358" name="l03358"></a><span class="lineno"> 3358</span> env.current()-&gt;rules(),</div>
<div class="line"><a id="l03359" name="l03359"></a><span class="lineno"> 3359</span> tapNONE,</div>
<div class="line"><a id="l03360" name="l03360"></a><span class="lineno"> 3360</span> env.<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1Env.html#acfdfa1e283de8fb2dad0216cd1711307">journal</a>);</div>
<div class="line"><a id="l03360" name="l03360"></a><span class="lineno"> 3360</span> env.journal);</div>
<div class="line"><a id="l03361" name="l03361"></a><span class="lineno"> 3361</span> <span class="keyword">auto</span> pf = AMMBid::preflight(pfctx);</div>
<div class="line"><a id="l03362" name="l03362"></a><span class="lineno"> 3362</span> BEAST_EXPECT(pf == temBAD_AMM_TOKENS);</div>
<div class="line"><a id="l03363" name="l03363"></a><span class="lineno"> 3363</span> }</div>
@@ -7237,11 +7237,11 @@ $(function() {
<div class="line"><a id="l07163" name="l07163"></a><span class="lineno"> 7163</span> <span class="keyword">auto</span> <span class="keyword">const</span> testCase = [&amp;](<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> suffix, <a class="code hl_class" href="classripple_1_1FeatureBitset.html">FeatureBitset</a> features) {</div>
<div class="line"><a id="l07164" name="l07164"></a><span class="lineno"> 7164</span> testcase(<span class="stringliteral">&quot;Failed pseudo-account allocation &quot;</span> + suffix);</div>
<div class="line"><a id="l07165" name="l07165"></a><span class="lineno"> 7165</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="l07166" name="l07166"></a><span class="lineno"> 7166</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>(30&#39;000), gw, alice);</div>
<div class="line"><a id="l07167" name="l07167"></a><span class="lineno"> 7167</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="l07166" name="l07166"></a><span class="lineno"> 7166</span> env.fund(<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(30&#39;000), gw, alice);</div>
<div class="line"><a id="l07167" name="l07167"></a><span class="lineno"> 7167</span> env.close();</div>
<div class="line"><a id="l07168" name="l07168"></a><span class="lineno"> 7168</span> env(trust(alice, gw[<span class="stringliteral">&quot;USD&quot;</span>](30&#39;000), 0));</div>
<div class="line"><a id="l07169" name="l07169"></a><span class="lineno"> 7169</span> env(pay(gw, alice, USD(10&#39;000)));</div>
<div class="line"><a id="l07170" name="l07170"></a><span class="lineno"> 7170</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="l07170" name="l07170"></a><span class="lineno"> 7170</span> env.close();</div>
<div class="line"><a id="l07171" name="l07171"></a><span class="lineno"> 7171</span> </div>
<div class="line"><a id="l07172" name="l07172"></a><span class="lineno"> 7172</span> <a class="code hl_class" href="classripple_1_1STAmount.html">STAmount</a> amount = <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10&#39;000);</div>
<div class="line"><a id="l07173" name="l07173"></a><span class="lineno"> 7173</span> <a class="code hl_class" href="classripple_1_1STAmount.html">STAmount</a> amount2 = USD(10&#39;000);</div>
@@ -7249,9 +7249,9 @@ $(function() {
<div class="line"><a id="l07175" name="l07175"></a><span class="lineno"> 7175</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; 256; ++i)</div>
<div class="line"><a id="l07176" name="l07176"></a><span class="lineno"> 7176</span> {</div>
<div class="line"><a id="l07177" name="l07177"></a><span class="lineno"> 7177</span> <a class="code hl_class" href="classripple_1_1base__uint.html">AccountID</a> <span class="keyword">const</span> accountId =</div>
<div class="line"><a id="l07178" name="l07178"></a><span class="lineno"> 7178</span> <a class="code hl_function" href="namespaceripple.html#aaf49b5c9145b96270cae187eaf4d9a6f">ripple::pseudoAccountAddress</a>(*env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a65bedb2e0babbd55343f721de9008a37">current</a>(), keylet.<a class="code hl_variable" href="structripple_1_1Keylet.html#a482983062843a8682fcea76a309c73db">key</a>);</div>
<div class="line"><a id="l07178" name="l07178"></a><span class="lineno"> 7178</span> <a class="code hl_function" href="namespaceripple.html#aaf49b5c9145b96270cae187eaf4d9a6f">ripple::pseudoAccountAddress</a>(*env.current(), keylet.<a class="code hl_variable" href="structripple_1_1Keylet.html#a482983062843a8682fcea76a309c73db">key</a>);</div>
<div class="line"><a id="l07179" name="l07179"></a><span class="lineno"> 7179</span> </div>
<div class="line"><a id="l07180" name="l07180"></a><span class="lineno"> 7180</span> env(pay(env.<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1Env.html#abc9bfd942ee848f3a9f16ab0e34e0c28">master</a>.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Account.html#a1ea8869f5af6ce774c37b560c6c785c3">id</a>(), accountId, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(1000)),</div>
<div class="line"><a id="l07180" name="l07180"></a><span class="lineno"> 7180</span> env(pay(env.master.id(), accountId, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(1000)),</div>
<div class="line"><a id="l07181" name="l07181"></a><span class="lineno"> 7181</span> <a class="code hl_struct" href="structripple_1_1test_1_1jtx_1_1seq.html">seq</a>(autofill),</div>
<div class="line"><a id="l07182" name="l07182"></a><span class="lineno"> 7182</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1fee.html">fee</a>(autofill),</div>
<div class="line"><a id="l07183" name="l07183"></a><span class="lineno"> 7183</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1sig.html">sig</a>(autofill));</div>
@@ -7339,11 +7339,8 @@ $(function() {
<div class="ttc" id="aarray_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a></div></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#l00149">json_value.h:150</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html_a9c9ee172f3387d37d5382d991c591219"><div class="ttname"><a href="classJson_1_1Value.html#a9c9ee172f3387d37d5382d991c591219">Json::Value::removeMember</a></div><div class="ttdeci">Value removeMember(char const *key)</div><div class="ttdoc">Remove and return the named member.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l00935">json_value.cpp:935</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html_ab0d86bf425efefd03513e8dbfaca317b"><div class="ttname"><a href="classJson_1_1Value.html#ab0d86bf425efefd03513e8dbfaca317b">Json::Value::asString</a></div><div class="ttdeci">std::string asString() const</div><div class="ttdoc">Returns the unquoted string value.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l00482">json_value.cpp:482</a></div></div>
<div class="ttc" id="aclassbeast_1_1unit__test_1_1suite_html_aaa1237d9b85c69d35fe86645cee094b5"><div class="ttname"><a href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">beast::unit_test::suite::testcase</a></div><div class="ttdeci">testcase_t testcase</div><div class="ttdoc">Memberspace for declaring test cases.</div><div class="ttdef"><b>Definition:</b> <a href="suite_8h_source.html#l00155">suite.h:155</a></div></div>
<div class="ttc" id="aclassripple_1_1Application_html_a0c48dd5bcaef14e30e9ef5b96b0daa39"><div class="ttname"><a href="classripple_1_1Application.html#a0c48dd5bcaef14e30e9ef5b96b0daa39">ripple::Application::config</a></div><div class="ttdeci">virtual Config &amp; config()=0</div></div>
<div class="ttc" id="aclassripple_1_1Config_html_ad053293ba571075ebfa6f086ed70fdc5"><div class="ttname"><a href="classripple_1_1Config.html#ad053293ba571075ebfa6f086ed70fdc5">ripple::Config::features</a></div><div class="ttdeci">std::unordered_set&lt; uint256, beast::uhash&lt;&gt; &gt; features</div><div class="ttdef"><b>Definition:</b> <a href="Config_8h_source.html#l00276">Config.h:276</a></div></div>
<div class="ttc" id="aclassripple_1_1CurrentTransactionRulesGuard_html"><div class="ttname"><a href="classripple_1_1CurrentTransactionRulesGuard.html">ripple::CurrentTransactionRulesGuard</a></div><div class="ttdoc">RAII class to set and restore the current transaction rules.</div><div class="ttdef"><b>Definition:</b> <a href="Rules_8h_source.html#l00107">Rules.h:108</a></div></div>
<div class="ttc" id="aclassripple_1_1FeatureBitset_html"><div class="ttname"><a href="classripple_1_1FeatureBitset.html">ripple::FeatureBitset</a></div><div class="ttdef"><b>Definition:</b> <a href="Feature_8h_source.html#l00146">Feature.h:147</a></div></div>
<div class="ttc" id="aclassripple_1_1IOUAmount_html"><div class="ttname"><a href="classripple_1_1IOUAmount.html">ripple::IOUAmount</a></div><div class="ttdoc">Floating point representation of amounts with high dynamic range.</div><div class="ttdef"><b>Definition:</b> <a href="IOUAmount_8h_source.html#l00044">IOUAmount.h:46</a></div></div>
@@ -7399,10 +7396,7 @@ $(function() {
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_a69095691c9bcfab1f3d69c645f2dbe33"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">ripple::test::jtx::Env::close</a></div><div class="ttdeci">bool close(NetClock::time_point closeTime, std::optional&lt; std::chrono::milliseconds &gt; consensusDelay=std::nullopt)</div><div class="ttdoc">Close and advance the ledger.</div><div class="ttdef"><b>Definition:</b> <a href="Env_8cpp_source.html#l00117">Env.cpp:117</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_a90fecf3c0f6cdc1c40761e19917bf65a"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#a90fecf3c0f6cdc1c40761e19917bf65a">ripple::test::jtx::Env::trust</a></div><div class="ttdeci">void trust(STAmount const &amp;amount, Account const &amp;account)</div><div class="ttdoc">Establish trust lines.</div><div class="ttdef"><b>Definition:</b> <a href="Env_8cpp_source.html#l00264">Env.cpp:264</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_abc9bfd942ee848f3a9f16ab0e34e0c28"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#abc9bfd942ee848f3a9f16ab0e34e0c28">ripple::test::jtx::Env::master</a></div><div class="ttdeci">Account const &amp; master</div><div class="ttdef"><b>Definition:</b> <a href="Env_8h_source.html#l00125">Env.h:125</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_ac97544537f03e62be698194aabe47a32"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#ac97544537f03e62be698194aabe47a32">ripple::test::jtx::Env::jt</a></div><div class="ttdeci">JTx jt(JsonValue &amp;&amp;jv, FN const &amp;... fN)</div><div class="ttdoc">Create a JTx from parameters.</div><div class="ttdef"><b>Definition:</b> <a href="Env_8h_source.html#l00496">Env.h:496</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_acb1c9d82d157da3b4f05b7f3756058e4"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#acb1c9d82d157da3b4f05b7f3756058e4">ripple::test::jtx::Env::now</a></div><div class="ttdeci">NetClock::time_point now()</div><div class="ttdoc">Returns the current network time.</div><div class="ttdef"><b>Definition:</b> <a href="Env_8h_source.html#l00284">Env.h:284</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_acc124fc731f2071c6bc0ef7177a6f319"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#acc124fc731f2071c6bc0ef7177a6f319">ripple::test::jtx::Env::ust</a></div><div class="ttdeci">std::shared_ptr&lt; STTx const &gt; ust(JTx const &amp;jt)</div><div class="ttdoc">Create a STTx from a JTx without sanitizing Use to inject bogus values into test transactions by firs...</div><div class="ttdef"><b>Definition:</b> <a href="Env_8cpp_source.html#l00546">Env.cpp:546</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_acd48f8ab02c37b1a30cedf4dec7cc96c"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#acd48f8ab02c37b1a30cedf4dec7cc96c">ripple::test::jtx::Env::app</a></div><div class="ttdeci">Application &amp; app()</div><div class="ttdef"><b>Definition:</b> <a href="Env_8h_source.html#l00261">Env.h:261</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_acfdfa1e283de8fb2dad0216cd1711307"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#acfdfa1e283de8fb2dad0216cd1711307">ripple::test::jtx::Env::journal</a></div><div class="ttdeci">beast::Journal const journal</div><div class="ttdef"><b>Definition:</b> <a href="Env_8h_source.html#l00162">Env.h:162</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_ad69855b4b26fc3c83922c5783487592c"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#ad69855b4b26fc3c83922c5783487592c">ripple::test::jtx::Env::rpc</a></div><div class="ttdeci">Json::Value rpc(unsigned apiVersion, std::unordered_map&lt; std::string, std::string &gt; const &amp;headers, std::string const &amp;cmd, Args &amp;&amp;... args)</div><div class="ttdoc">Execute an RPC command.</div><div class="ttdef"><b>Definition:</b> <a href="Env_8h_source.html#l00773">Env.h:773</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_ae2349266cb09d1f1c3de06606ebdf9e2"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#ae2349266cb09d1f1c3de06606ebdf9e2">ripple::test::jtx::Env::fund</a></div><div class="ttdeci">void fund(bool setDefaultRipple, STAmount const &amp;amount, Account const &amp;account)</div><div class="ttdef"><b>Definition:</b> <a href="Env_8cpp_source.html#l00233">Env.cpp:233</a></div></div>
@@ -7571,7 +7565,6 @@ $(function() {
<div class="ttc" id="astructripple_1_1test_1_1jtx_1_1DepositArg_html"><div class="ttname"><a href="structripple_1_1test_1_1jtx_1_1DepositArg.html">ripple::test::jtx::DepositArg</a></div><div class="ttdef"><b>Definition:</b> <a href="AMM_8h_source.html#l00074">AMM.h:75</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1jtx_1_1DepositArg_html_a4342874799b85d8ff3c754476a807256"><div class="ttname"><a href="structripple_1_1test_1_1jtx_1_1DepositArg.html#a4342874799b85d8ff3c754476a807256">ripple::test::jtx::DepositArg::account</a></div><div class="ttdeci">std::optional&lt; Account &gt; account</div><div class="ttdef"><b>Definition:</b> <a href="AMM_8h_source.html#l00076">AMM.h:76</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1jtx_1_1DepositArg_html_a509183bb05aaccee7030461cdd7c463b"><div class="ttname"><a href="structripple_1_1test_1_1jtx_1_1DepositArg.html#a509183bb05aaccee7030461cdd7c463b">ripple::test::jtx::DepositArg::asset1In</a></div><div class="ttdeci">std::optional&lt; STAmount &gt; asset1In</div><div class="ttdef"><b>Definition:</b> <a href="AMM_8h_source.html#l00078">AMM.h:78</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1jtx_1_1JTx_html_a4b79d68d69b3eb4f173ff66c4d561363"><div class="ttname"><a href="structripple_1_1test_1_1jtx_1_1JTx.html#a4b79d68d69b3eb4f173ff66c4d561363">ripple::test::jtx::JTx::jv</a></div><div class="ttdeci">Json::Value jv</div><div class="ttdef"><b>Definition:</b> <a href="JTx_8h_source.html#l00046">JTx.h:46</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1jtx_1_1VoteArg_html"><div class="ttname"><a href="structripple_1_1test_1_1jtx_1_1VoteArg.html">ripple::test::jtx::VoteArg</a></div><div class="ttdef"><b>Definition:</b> <a href="AMM_8h_source.html#l00101">AMM.h:102</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1jtx_1_1VoteArg_html_a4c7a07c0b4fb537f43fcf4183003b6dd"><div class="ttname"><a href="structripple_1_1test_1_1jtx_1_1VoteArg.html#a4c7a07c0b4fb537f43fcf4183003b6dd">ripple::test::jtx::VoteArg::account</a></div><div class="ttdeci">std::optional&lt; Account &gt; account</div><div class="ttdef"><b>Definition:</b> <a href="AMM_8h_source.html#l00103">AMM.h:103</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1jtx_1_1VoteArg_html_a68066dc844cd41e430f56a166a0f6335"><div class="ttname"><a href="structripple_1_1test_1_1jtx_1_1VoteArg.html#a68066dc844cd41e430f56a166a0f6335">ripple::test::jtx::VoteArg::tfee</a></div><div class="ttdeci">std::uint32_t tfee</div><div class="ttdef"><b>Definition:</b> <a href="AMM_8h_source.html#l00104">AMM.h:104</a></div></div>