This commit is contained in:
manojsdoshi
2021-06-04 17:39:30 +00:00
parent 375f650549
commit 2709cd752f
3925 changed files with 132532 additions and 172858 deletions

View File

@@ -1741,69 +1741,74 @@ $(function() {
<div class="line"><a name="l01670"></a><span class="lineno"> 1670</span>&#160; <a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env{*<span class="keyword">this</span>, asAdmin ? <a class="code" href="namespaceripple_1_1test_1_1jtx.html#a287cf5b6a71db097fe1678c88926efb4">envconfig</a>() : <a class="code" href="namespaceripple_1_1test_1_1jtx.html#a287cf5b6a71db097fe1678c88926efb4">envconfig</a>(<a class="code" href="namespaceripple_1_1test_1_1jtx.html#a587a5b3e8e1aac7c5c0c3fbc9e986410">no_admin</a>)};</div>
<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>&#160; <a class="code" href="classripple_1_1test_1_1jtx_1_1Account.html">Account</a> gw{<span class="stringliteral">&quot;gw&quot;</span>};</div>
<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>&#160; env.fund(<a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(200000), gw);</div>
<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span>&#160; env.close();</div>
<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span>&#160; <span class="keyword">auto</span> USD = gw[<span class="stringliteral">&quot;USD&quot;</span>];</div>
<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>&#160; </div>
<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> i = 0; i &lt;= <a class="code" href="namespaceripple_1_1RPC_1_1Tuning.html#a5a1ef6eab0bf47b572e7d27142ee4d3d">RPC::Tuning::bookOffers</a>.<a class="code" href="structripple_1_1RPC_1_1Tuning_1_1LimitRange.html#a0030613e1637c29d503482140a3486d4">rmax</a>; i++)</div>
<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span>&#160; env(offer(gw, <a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(50 + 1 * i), USD(1.0 + 0.1 * i)));</div>
<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>&#160; env.close();</div>
<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>&#160; </div>
<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>&#160; <a class="code" href="classJson_1_1Value.html">Json::Value</a> jvParams;</div>
<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span>&#160; jvParams[jss::limit] = 1;</div>
<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span>&#160; jvParams[jss::ledger_index] = <span class="stringliteral">&quot;validated&quot;</span>;</div>
<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>&#160; jvParams[jss::taker_pays][jss::currency] = <span class="stringliteral">&quot;XRP&quot;</span>;</div>
<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>&#160; jvParams[jss::taker_gets][jss::currency] = <span class="stringliteral">&quot;USD&quot;</span>;</div>
<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>&#160; jvParams[jss::taker_gets][jss::issuer] = gw.human();</div>
<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>&#160; <span class="keyword">auto</span> jrr =</div>
<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>&#160; env.rpc(<span class="stringliteral">&quot;json&quot;</span>, <span class="stringliteral">&quot;book_offers&quot;</span>, <a class="code" href="namespaceripple.html#af9776f187d3686a7fba4c2d2fbeebdf4">to_string</a>(jvParams))[jss::result];</div>
<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>&#160; BEAST_EXPECT(jrr[jss::offers].isArray());</div>
<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>&#160; BEAST_EXPECT(jrr[jss::offers].size() == (asAdmin ? 1u : 0u));</div>
<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>&#160; <span class="comment">// NOTE - a marker field is not returned for this method</span></div>
<div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>&#160; </div>
<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>&#160; jvParams[jss::limit] = 0u;</div>
<div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>&#160; jrr = env.rpc(<span class="stringliteral">&quot;json&quot;</span>, <span class="stringliteral">&quot;book_offers&quot;</span>, <a class="code" href="namespaceripple.html#af9776f187d3686a7fba4c2d2fbeebdf4">to_string</a>(jvParams))[jss::result];</div>
<div class="line"><a name="l01694"></a><span class="lineno"> 1694</span>&#160; BEAST_EXPECT(jrr[jss::offers].isArray());</div>
<div class="line"><a name="l01695"></a><span class="lineno"> 1695</span>&#160; BEAST_EXPECT(jrr[jss::offers].size() == 0u);</div>
<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span>&#160; <span class="comment">// Note that calls to env.close() fail without admin permission.</span></div>
<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span>&#160; <span class="keywordflow">if</span> (asAdmin)</div>
<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>&#160; env.close();</div>
<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>&#160; </div>
<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span>&#160; <span class="keyword">auto</span> USD = gw[<span class="stringliteral">&quot;USD&quot;</span>];</div>
<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>&#160; </div>
<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> i = 0; i &lt;= <a class="code" href="namespaceripple_1_1RPC_1_1Tuning.html#a5a1ef6eab0bf47b572e7d27142ee4d3d">RPC::Tuning::bookOffers</a>.<a class="code" href="structripple_1_1RPC_1_1Tuning_1_1LimitRange.html#a0030613e1637c29d503482140a3486d4">rmax</a>; i++)</div>
<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>&#160; env(offer(gw, <a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(50 + 1 * i), USD(1.0 + 0.1 * i)));</div>
<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span>&#160; </div>
<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span>&#160; <span class="keywordflow">if</span> (asAdmin)</div>
<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>&#160; env.close();</div>
<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>&#160; </div>
<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>&#160; <a class="code" href="classJson_1_1Value.html">Json::Value</a> jvParams;</div>
<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>&#160; jvParams[jss::limit] = 1;</div>
<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>&#160; jvParams[jss::ledger_index] = <span class="stringliteral">&quot;validated&quot;</span>;</div>
<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>&#160; jvParams[jss::taker_pays][jss::currency] = <span class="stringliteral">&quot;XRP&quot;</span>;</div>
<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>&#160; jvParams[jss::taker_gets][jss::currency] = <span class="stringliteral">&quot;USD&quot;</span>;</div>
<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>&#160; jvParams[jss::taker_gets][jss::issuer] = gw.human();</div>
<div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>&#160; <span class="keyword">auto</span> jrr =</div>
<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>&#160; env.rpc(<span class="stringliteral">&quot;json&quot;</span>, <span class="stringliteral">&quot;book_offers&quot;</span>, <a class="code" href="namespaceripple.html#af9776f187d3686a7fba4c2d2fbeebdf4">to_string</a>(jvParams))[jss::result];</div>
<div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>&#160; BEAST_EXPECT(jrr[jss::offers].isArray());</div>
<div class="line"><a name="l01694"></a><span class="lineno"> 1694</span>&#160; BEAST_EXPECT(jrr[jss::offers].size() == (asAdmin ? 1u : 0u));</div>
<div class="line"><a name="l01695"></a><span class="lineno"> 1695</span>&#160; <span class="comment">// NOTE - a marker field is not returned for this method</span></div>
<div class="line"><a name="l01696"></a><span class="lineno"> 1696</span>&#160; </div>
<div class="line"><a name="l01697"></a><span class="lineno"> 1697</span>&#160; jvParams[jss::limit] = <a class="code" href="namespaceripple_1_1RPC_1_1Tuning.html#a5a1ef6eab0bf47b572e7d27142ee4d3d">RPC::Tuning::bookOffers</a>.<a class="code" href="structripple_1_1RPC_1_1Tuning_1_1LimitRange.html#a0030613e1637c29d503482140a3486d4">rmax</a> + 1;</div>
<div class="line"><a name="l01697"></a><span class="lineno"> 1697</span>&#160; jvParams[jss::limit] = 0u;</div>
<div class="line"><a name="l01698"></a><span class="lineno"> 1698</span>&#160; jrr = env.rpc(<span class="stringliteral">&quot;json&quot;</span>, <span class="stringliteral">&quot;book_offers&quot;</span>, <a class="code" href="namespaceripple.html#af9776f187d3686a7fba4c2d2fbeebdf4">to_string</a>(jvParams))[jss::result];</div>
<div class="line"><a name="l01699"></a><span class="lineno"> 1699</span>&#160; BEAST_EXPECT(jrr[jss::offers].isArray());</div>
<div class="line"><a name="l01700"></a><span class="lineno"> 1700</span>&#160; BEAST_EXPECT(</div>
<div class="line"><a name="l01701"></a><span class="lineno"> 1701</span>&#160; jrr[jss::offers].size() ==</div>
<div class="line"><a name="l01702"></a><span class="lineno"> 1702</span>&#160; (asAdmin ? <a class="code" href="namespaceripple_1_1RPC_1_1Tuning.html#a5a1ef6eab0bf47b572e7d27142ee4d3d">RPC::Tuning::bookOffers</a>.rmax + 1 : 0u));</div>
<div class="line"><a name="l01703"></a><span class="lineno"> 1703</span>&#160; </div>
<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span>&#160; jvParams[jss::limit] = <a class="code" href="namespaceJson.html#a7d654b75c16a57007925868e38212b4ea7d9899633b4409bd3fc107e6737f8391">Json::nullValue</a>;</div>
<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span>&#160; jrr = env.rpc(<span class="stringliteral">&quot;json&quot;</span>, <span class="stringliteral">&quot;book_offers&quot;</span>, <a class="code" href="namespaceripple.html#af9776f187d3686a7fba4c2d2fbeebdf4">to_string</a>(jvParams))[jss::result];</div>
<div class="line"><a name="l01706"></a><span class="lineno"> 1706</span>&#160; BEAST_EXPECT(jrr[jss::offers].isArray());</div>
<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>&#160; BEAST_EXPECT(</div>
<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span>&#160; jrr[jss::offers].size() ==</div>
<div class="line"><a name="l01709"></a><span class="lineno"> 1709</span>&#160; (asAdmin ? <a class="code" href="namespaceripple_1_1RPC_1_1Tuning.html#a5a1ef6eab0bf47b572e7d27142ee4d3d">RPC::Tuning::bookOffers</a>.rdefault : 0u));</div>
<div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>&#160; }</div>
<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>&#160; </div>
<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>&#160; <span class="keywordtype">void</span></div>
<div class="line"><a name="l01713"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1Book__test.html#acb09c93dd687fef5005d4582ffa1e26b"> 1713</a></span>&#160; <a class="code" href="classripple_1_1test_1_1Book__test.html#acb09c93dd687fef5005d4582ffa1e26b">run</a>()<span class="keyword"> override</span></div>
<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>&#160; <a class="code" href="classripple_1_1test_1_1Book__test.html#aac2a572ee3e82feab1d62815eb35af08">testOneSideEmptyBook</a>();</div>
<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span>&#160; <a class="code" href="classripple_1_1test_1_1Book__test.html#a8c32f8ac989e95b89234cb83a7d6defb">testOneSideOffersInBook</a>();</div>
<div class="line"><a name="l01717"></a><span class="lineno"> 1717</span>&#160; <a class="code" href="classripple_1_1test_1_1Book__test.html#a8d0d10338e8590fd7a8b35b5b180328a">testBothSidesEmptyBook</a>();</div>
<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span>&#160; <a class="code" href="classripple_1_1test_1_1Book__test.html#a301030655f84dee3dbcede83966e7611">testBothSidesOffersInBook</a>();</div>
<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>&#160; <a class="code" href="classripple_1_1test_1_1Book__test.html#a91420ed8e34448dba8f4510d486c968e">testMultipleBooksOneSideEmptyBook</a>();</div>
<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>&#160; <a class="code" href="classripple_1_1test_1_1Book__test.html#ab416fb75e2b08e8196ea21d51a31687d">testMultipleBooksOneSideOffersInBook</a>();</div>
<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>&#160; <a class="code" href="classripple_1_1test_1_1Book__test.html#a2341e645d393a9bc31d5cd2c9781281c">testMultipleBooksBothSidesEmptyBook</a>();</div>
<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>&#160; <a class="code" href="classripple_1_1test_1_1Book__test.html#a0edf3fbbf2c9db73509da9610a0e45fb">testMultipleBooksBothSidesOffersInBook</a>();</div>
<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>&#160; <a class="code" href="classripple_1_1test_1_1Book__test.html#a76f661ed81014d01b8dcf1e0c824681d">testTrackOffers</a>();</div>
<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>&#160; <a class="code" href="classripple_1_1test_1_1Book__test.html#add1ee38c70526a0fea8f82e10f6961b3">testCrossingSingleBookOffer</a>();</div>
<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>&#160; <a class="code" href="classripple_1_1test_1_1Book__test.html#a5bccc32889c1d51b346b90de780a6b8a">testCrossingMultiBookOffer</a>();</div>
<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>&#160; <a class="code" href="classripple_1_1test_1_1Book__test.html#aafe2742fa2a7925f247cb781ab9c12db">testBookOfferErrors</a>();</div>
<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span>&#160; <a class="code" href="classripple_1_1test_1_1Book__test.html#aa14f7232a9a07e507bff3a91e8728678">testBookOfferLimits</a>(<span class="keyword">true</span>);</div>
<div class="line"><a name="l01728"></a><span class="lineno"> 1728</span>&#160; <a class="code" href="classripple_1_1test_1_1Book__test.html#aa14f7232a9a07e507bff3a91e8728678">testBookOfferLimits</a>(<span class="keyword">false</span>);</div>
<div class="line"><a name="l01729"></a><span class="lineno"> 1729</span>&#160; }</div>
<div class="line"><a name="l01730"></a><span class="lineno"> 1730</span>&#160;};</div>
<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>&#160; </div>
<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>&#160;<a class="code" href="namespaceripple_1_1test.html#ac6cac37f3447e39ca9090bb878f8cc12">BEAST_DEFINE_TESTSUITE_PRIO</a>(<a class="code" href="classripple_1_1Book.html">Book</a>, app, <a class="code" href="namespaceripple.html">ripple</a>, 1);</div>
<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span>&#160; </div>
<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span>&#160;} <span class="comment">// namespace test</span></div>
<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span>&#160;} <span class="comment">// namespace ripple</span></div>
<div class="line"><a name="l01700"></a><span class="lineno"> 1700</span>&#160; BEAST_EXPECT(jrr[jss::offers].size() == 0u);</div>
<div class="line"><a name="l01701"></a><span class="lineno"> 1701</span>&#160; </div>
<div class="line"><a name="l01702"></a><span class="lineno"> 1702</span>&#160; jvParams[jss::limit] = <a class="code" href="namespaceripple_1_1RPC_1_1Tuning.html#a5a1ef6eab0bf47b572e7d27142ee4d3d">RPC::Tuning::bookOffers</a>.<a class="code" href="structripple_1_1RPC_1_1Tuning_1_1LimitRange.html#a0030613e1637c29d503482140a3486d4">rmax</a> + 1;</div>
<div class="line"><a name="l01703"></a><span class="lineno"> 1703</span>&#160; jrr = env.rpc(<span class="stringliteral">&quot;json&quot;</span>, <span class="stringliteral">&quot;book_offers&quot;</span>, <a class="code" href="namespaceripple.html#af9776f187d3686a7fba4c2d2fbeebdf4">to_string</a>(jvParams))[jss::result];</div>
<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span>&#160; BEAST_EXPECT(jrr[jss::offers].isArray());</div>
<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span>&#160; BEAST_EXPECT(</div>
<div class="line"><a name="l01706"></a><span class="lineno"> 1706</span>&#160; jrr[jss::offers].size() ==</div>
<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>&#160; (asAdmin ? <a class="code" href="namespaceripple_1_1RPC_1_1Tuning.html#a5a1ef6eab0bf47b572e7d27142ee4d3d">RPC::Tuning::bookOffers</a>.rmax + 1 : 0u));</div>
<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span>&#160; </div>
<div class="line"><a name="l01709"></a><span class="lineno"> 1709</span>&#160; jvParams[jss::limit] = <a class="code" href="namespaceJson.html#a7d654b75c16a57007925868e38212b4ea7d9899633b4409bd3fc107e6737f8391">Json::nullValue</a>;</div>
<div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>&#160; jrr = env.rpc(<span class="stringliteral">&quot;json&quot;</span>, <span class="stringliteral">&quot;book_offers&quot;</span>, <a class="code" href="namespaceripple.html#af9776f187d3686a7fba4c2d2fbeebdf4">to_string</a>(jvParams))[jss::result];</div>
<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>&#160; BEAST_EXPECT(jrr[jss::offers].isArray());</div>
<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>&#160; BEAST_EXPECT(</div>
<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>&#160; jrr[jss::offers].size() ==</div>
<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span>&#160; (asAdmin ? <a class="code" href="namespaceripple_1_1RPC_1_1Tuning.html#a5a1ef6eab0bf47b572e7d27142ee4d3d">RPC::Tuning::bookOffers</a>.rdefault : 0u));</div>
<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>&#160; }</div>
<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span>&#160; </div>
<div class="line"><a name="l01717"></a><span class="lineno"> 1717</span>&#160; <span class="keywordtype">void</span></div>
<div class="line"><a name="l01718"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1Book__test.html#acb09c93dd687fef5005d4582ffa1e26b"> 1718</a></span>&#160; <a class="code" href="classripple_1_1test_1_1Book__test.html#acb09c93dd687fef5005d4582ffa1e26b">run</a>()<span class="keyword"> override</span></div>
<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>&#160;<span class="keyword"> </span>{</div>
<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>&#160; <a class="code" href="classripple_1_1test_1_1Book__test.html#aac2a572ee3e82feab1d62815eb35af08">testOneSideEmptyBook</a>();</div>
<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>&#160; <a class="code" href="classripple_1_1test_1_1Book__test.html#a8c32f8ac989e95b89234cb83a7d6defb">testOneSideOffersInBook</a>();</div>
<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>&#160; <a class="code" href="classripple_1_1test_1_1Book__test.html#a8d0d10338e8590fd7a8b35b5b180328a">testBothSidesEmptyBook</a>();</div>
<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>&#160; <a class="code" href="classripple_1_1test_1_1Book__test.html#a301030655f84dee3dbcede83966e7611">testBothSidesOffersInBook</a>();</div>
<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>&#160; <a class="code" href="classripple_1_1test_1_1Book__test.html#a91420ed8e34448dba8f4510d486c968e">testMultipleBooksOneSideEmptyBook</a>();</div>
<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>&#160; <a class="code" href="classripple_1_1test_1_1Book__test.html#ab416fb75e2b08e8196ea21d51a31687d">testMultipleBooksOneSideOffersInBook</a>();</div>
<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>&#160; <a class="code" href="classripple_1_1test_1_1Book__test.html#a2341e645d393a9bc31d5cd2c9781281c">testMultipleBooksBothSidesEmptyBook</a>();</div>
<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span>&#160; <a class="code" href="classripple_1_1test_1_1Book__test.html#a0edf3fbbf2c9db73509da9610a0e45fb">testMultipleBooksBothSidesOffersInBook</a>();</div>
<div class="line"><a name="l01728"></a><span class="lineno"> 1728</span>&#160; <a class="code" href="classripple_1_1test_1_1Book__test.html#a76f661ed81014d01b8dcf1e0c824681d">testTrackOffers</a>();</div>
<div class="line"><a name="l01729"></a><span class="lineno"> 1729</span>&#160; <a class="code" href="classripple_1_1test_1_1Book__test.html#add1ee38c70526a0fea8f82e10f6961b3">testCrossingSingleBookOffer</a>();</div>
<div class="line"><a name="l01730"></a><span class="lineno"> 1730</span>&#160; <a class="code" href="classripple_1_1test_1_1Book__test.html#a5bccc32889c1d51b346b90de780a6b8a">testCrossingMultiBookOffer</a>();</div>
<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>&#160; <a class="code" href="classripple_1_1test_1_1Book__test.html#aafe2742fa2a7925f247cb781ab9c12db">testBookOfferErrors</a>();</div>
<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>&#160; <a class="code" href="classripple_1_1test_1_1Book__test.html#aa14f7232a9a07e507bff3a91e8728678">testBookOfferLimits</a>(<span class="keyword">true</span>);</div>
<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span>&#160; <a class="code" href="classripple_1_1test_1_1Book__test.html#aa14f7232a9a07e507bff3a91e8728678">testBookOfferLimits</a>(<span class="keyword">false</span>);</div>
<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span>&#160; }</div>
<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span>&#160;};</div>
<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span>&#160; </div>
<div class="line"><a name="l01737"></a><span class="lineno"> 1737</span>&#160;<a class="code" href="namespaceripple_1_1test.html#ac6cac37f3447e39ca9090bb878f8cc12">BEAST_DEFINE_TESTSUITE_PRIO</a>(<a class="code" href="classripple_1_1Book.html">Book</a>, app, <a class="code" href="namespaceripple.html">ripple</a>, 1);</div>
<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span>&#160; </div>
<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span>&#160;} <span class="comment">// namespace test</span></div>
<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span>&#160;} <span class="comment">// namespace ripple</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="anamespaceripple_1_1test_html_ac6cac37f3447e39ca9090bb878f8cc12"><div class="ttname"><a href="namespaceripple_1_1test.html#ac6cac37f3447e39ca9090bb878f8cc12">ripple::test::BEAST_DEFINE_TESTSUITE_PRIO</a></div><div class="ttdeci">BEAST_DEFINE_TESTSUITE_PRIO(Flow, app, ripple, 2)</div></div>
<div class="ttc" id="aclassripple_1_1test_1_1Book__test_html"><div class="ttname"><a href="classripple_1_1test_1_1Book__test.html">ripple::test::Book_test</a></div><div class="ttdef"><b>Definition:</b> <a href="Book__test_8cpp_source.html#l00028">Book_test.cpp:28</a></div></div>
@@ -1839,7 +1844,7 @@ $(function() {
<div class="ttc" id="anamespaceripple_1_1RPC_1_1Tuning_html_a5a1ef6eab0bf47b572e7d27142ee4d3d"><div class="ttname"><a href="namespaceripple_1_1RPC_1_1Tuning.html#a5a1ef6eab0bf47b572e7d27142ee4d3d">ripple::RPC::Tuning::bookOffers</a></div><div class="ttdeci">static constexpr LimitRange bookOffers</div><div class="ttdoc">Limits for the book_offers command.</div><div class="ttdef"><b>Definition:</b> <a href="rpc_2impl_2Tuning_8h_source.html#l00049">rpc/impl/Tuning.h:49</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1Book__test_html_add1ee38c70526a0fea8f82e10f6961b3"><div class="ttname"><a href="classripple_1_1test_1_1Book__test.html#add1ee38c70526a0fea8f82e10f6961b3">ripple::test::Book_test::testCrossingSingleBookOffer</a></div><div class="ttdeci">void testCrossingSingleBookOffer()</div><div class="ttdef"><b>Definition:</b> <a href="Book__test_8cpp_source.html#l01164">Book_test.cpp:1164</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1Book__test_html_a8c32f8ac989e95b89234cb83a7d6defb"><div class="ttname"><a href="classripple_1_1test_1_1Book__test.html#a8c32f8ac989e95b89234cb83a7d6defb">ripple::test::Book_test::testOneSideOffersInBook</a></div><div class="ttdeci">void testOneSideOffersInBook()</div><div class="ttdef"><b>Definition:</b> <a href="Book__test_8cpp_source.html#l00136">Book_test.cpp:136</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#l00250">Env.cpp:250</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#l00256">Env.cpp:256</a></div></div>
<div class="ttc" id="aclassripple_1_1base__uint_html"><div class="ttname"><a href="classripple_1_1base__uint.html">ripple::base_uint&lt; 256 &gt;</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1Book__test_html_aafe2742fa2a7925f247cb781ab9c12db"><div class="ttname"><a href="classripple_1_1test_1_1Book__test.html#aafe2742fa2a7925f247cb781ab9c12db">ripple::test::Book_test::testBookOfferErrors</a></div><div class="ttdeci">void testBookOfferErrors()</div><div class="ttdef"><b>Definition:</b> <a href="Book__test_8cpp_source.html#l01315">Book_test.cpp:1315</a></div></div>
<div class="ttc" id="anamespaceripple_1_1test_1_1jtx_html_a587a5b3e8e1aac7c5c0c3fbc9e986410"><div class="ttname"><a href="namespaceripple_1_1test_1_1jtx.html#a587a5b3e8e1aac7c5c0c3fbc9e986410">ripple::test::jtx::no_admin</a></div><div class="ttdeci">std::unique_ptr&lt; Config &gt; no_admin(std::unique_ptr&lt; Config &gt;)</div><div class="ttdoc">adjust config so no admin ports are enabled</div><div class="ttdef"><b>Definition:</b> <a href="envconfig_8cpp_source.html#l00070">envconfig.cpp:70</a></div></div>
@@ -1862,17 +1867,17 @@ $(function() {
<div class="ttc" id="anamespaceripple_html_a95e082491139cffc65c01b6fcaa3edfe"><div class="ttname"><a href="namespaceripple.html#a95e082491139cffc65c01b6fcaa3edfe">ripple::sfLedgerEntryType</a></div><div class="ttdeci">const SF_UINT16 sfLedgerEntryType</div></div>
<div class="ttc" id="aclassripple_1_1test_1_1Book__test_html_ab416fb75e2b08e8196ea21d51a31687d"><div class="ttname"><a href="classripple_1_1test_1_1Book__test.html#ab416fb75e2b08e8196ea21d51a31687d">ripple::test::Book_test::testMultipleBooksOneSideOffersInBook</a></div><div class="ttdeci">void testMultipleBooksOneSideOffersInBook()</div><div class="ttdef"><b>Definition:</b> <a href="Book__test_8cpp_source.html#l00538">Book_test.cpp:538</a></div></div>
<div class="ttc" id="anamespaceripple_1_1test_1_1jtx_html_a7816b23daf9b325ea1f88cc121a53d05"><div class="ttname"><a href="namespaceripple_1_1test_1_1jtx.html#a7816b23daf9b325ea1f88cc121a53d05">ripple::test::jtx::pay</a></div><div class="ttdeci">Json::Value pay(Account const &amp;account, Account const &amp;to, AnyAmount amount)</div><div class="ttdoc">Create a payment.</div><div class="ttdef"><b>Definition:</b> <a href="pay_8cpp_source.html#l00029">pay.cpp:29</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#l00219">Env.cpp:219</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#l00225">Env.cpp:225</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#l00120">Env.h:120</a></div></div>
<div class="ttc" id="anamespaceJson_html_a7d654b75c16a57007925868e38212b4ea7d9899633b4409bd3fc107e6737f8391"><div class="ttname"><a href="namespaceJson.html#a7d654b75c16a57007925868e38212b4ea7d9899633b4409bd3fc107e6737f8391">Json::nullValue</a></div><div class="ttdeci">@ nullValue</div><div class="ttdoc">'null' value</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8h_source.html#l00036">json_value.h:36</a></div></div>
<div class="ttc" id="anamespaceripple_1_1test_html_aa4c787a68f386968ba9901187fa01873"><div class="ttname"><a href="namespaceripple_1_1test.html#aa4c787a68f386968ba9901187fa01873">ripple::test::makeWSClient</a></div><div class="ttdeci">std::unique_ptr&lt; WSClient &gt; makeWSClient(Config const &amp;cfg, bool v2, unsigned rpc_version, std::unordered_map&lt; std::string, std::string &gt; const &amp;headers)</div><div class="ttdoc">Returns a client operating through WebSockets/S.</div><div class="ttdef"><b>Definition:</b> <a href="WSClient_8cpp_source.html#l00300">WSClient.cpp:300</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1Book__test_html_a76f661ed81014d01b8dcf1e0c824681d"><div class="ttname"><a href="classripple_1_1test_1_1Book__test.html#a76f661ed81014d01b8dcf1e0c824681d">ripple::test::Book_test::testTrackOffers</a></div><div class="ttdeci">void testTrackOffers()</div><div class="ttdef"><b>Definition:</b> <a href="Book__test_8cpp_source.html#l00981">Book_test.cpp:981</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1jtx_1_1PrettyAmount_html_a2b6b76db4ff0ec459edc5de97ceb4205"><div class="ttname"><a href="structripple_1_1test_1_1jtx_1_1PrettyAmount.html#a2b6b76db4ff0ec459edc5de97ceb4205">ripple::test::jtx::PrettyAmount::value</a></div><div class="ttdeci">STAmount const &amp; value() const</div><div class="ttdef"><b>Definition:</b> <a href="amount_8h_source.html#l00124">amount.h:124</a></div></div>
<div class="ttc" id="anamespaceripple_html_af9776f187d3686a7fba4c2d2fbeebdf4"><div class="ttname"><a href="namespaceripple.html#af9776f187d3686a7fba4c2d2fbeebdf4">ripple::to_string</a></div><div class="ttdeci">std::string to_string(Manifest const &amp;m)</div><div class="ttdoc">Format the specified manifest to a string for debugging purposes.</div><div class="ttdef"><b>Definition:</b> <a href="app_2misc_2impl_2Manifest_8cpp_source.html#l00040">app/misc/impl/Manifest.cpp:40</a></div></div>
<div class="ttc" id="anamespaceripple_html_af9776f187d3686a7fba4c2d2fbeebdf4"><div class="ttname"><a href="namespaceripple.html#af9776f187d3686a7fba4c2d2fbeebdf4">ripple::to_string</a></div><div class="ttdeci">std::string to_string(Manifest const &amp;m)</div><div class="ttdoc">Format the specified manifest to a string for debugging purposes.</div><div class="ttdef"><b>Definition:</b> <a href="app_2misc_2impl_2Manifest_8cpp_source.html#l00039">app/misc/impl/Manifest.cpp:39</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Account_html"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Account.html">ripple::test::jtx::Account</a></div><div class="ttdoc">Immutable cryptographic account descriptor.</div><div class="ttdef"><b>Definition:</b> <a href="Account_8h_source.html#l00037">Account.h:37</a></div></div>
<div class="ttc" id="aclassripple_1_1Book_html"><div class="ttname"><a href="classripple_1_1Book.html">ripple::Book</a></div><div class="ttdoc">Specifies an order book.</div><div class="ttdef"><b>Definition:</b> <a href="Book_8h_source.html#l00032">Book.h:32</a></div></div>
<div class="ttc" id="anamespaceripple_html_a5bab99595719d22579e10d21cf048eb0"><div class="ttname"><a href="namespaceripple.html#a5bab99595719d22579e10d21cf048eb0">ripple::sfAccount</a></div><div class="ttdeci">const SF_ACCOUNT sfAccount</div></div>
<div class="ttc" id="aclassripple_1_1test_1_1Book__test_html_acb09c93dd687fef5005d4582ffa1e26b"><div class="ttname"><a href="classripple_1_1test_1_1Book__test.html#acb09c93dd687fef5005d4582ffa1e26b">ripple::test::Book_test::run</a></div><div class="ttdeci">void run() override</div><div class="ttdef"><b>Definition:</b> <a href="Book__test_8cpp_source.html#l01713">Book_test.cpp:1713</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1Book__test_html_acb09c93dd687fef5005d4582ffa1e26b"><div class="ttname"><a href="classripple_1_1test_1_1Book__test.html#acb09c93dd687fef5005d4582ffa1e26b">ripple::test::Book_test::run</a></div><div class="ttdeci">void run() override</div><div class="ttdef"><b>Definition:</b> <a href="Book__test_8cpp_source.html#l01718">Book_test.cpp:1718</a></div></div>
<div class="ttc" id="aunique_ptr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr</a></div><div class="ttdoc">STL class.</div></div>
<div class="ttc" id="aclassripple_1_1test_1_1Book__test_html_a301030655f84dee3dbcede83966e7611"><div class="ttname"><a href="classripple_1_1test_1_1Book__test.html#a301030655f84dee3dbcede83966e7611">ripple::test::Book_test::testBothSidesOffersInBook</a></div><div class="ttdeci">void testBothSidesOffersInBook()</div><div class="ttdef"><b>Definition:</b> <a href="Book__test_8cpp_source.html#l00317">Book_test.cpp:317</a></div></div>
<div class="ttc" id="anamespaceripple_html_a065cda95aed9cb1d66fb81cad0867ef6"><div class="ttname"><a href="namespaceripple.html#a065cda95aed9cb1d66fb81cad0867ef6">ripple::noAccount</a></div><div class="ttdeci">AccountID const &amp; noAccount()</div><div class="ttdoc">A placeholder for empty accounts.</div><div class="ttdef"><b>Definition:</b> <a href="AccountID_8cpp_source.html#l00097">AccountID.cpp:97</a></div></div>