mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-22 03:55:53 +00:00
deploy: 2bc5cb240f
This commit is contained in:
@@ -893,359 +893,360 @@ $(function() {
|
||||
<div class="line"><a id="l00815" name="l00815"></a><span class="lineno"> 815</span> <span class="keyword">auto</span> <span class="keyword">const</span> EUR = gw[<span class="stringliteral">"EUR"</span>];</div>
|
||||
<div class="line"><a id="l00816" name="l00816"></a><span class="lineno"> 816</span> </div>
|
||||
<div class="line"><a id="l00817" name="l00817"></a><span class="lineno"> 817</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>(10000), alice, bob, carol, gw);</div>
|
||||
<div class="line"><a id="l00818" name="l00818"></a><span class="lineno"> 818</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a90fecf3c0f6cdc1c40761e19917bf65a">trust</a>(USD(100), alice, bob, carol);</div>
|
||||
<div class="line"><a id="l00819" name="l00819"></a><span class="lineno"> 819</span> {</div>
|
||||
<div class="line"><a id="l00820" name="l00820"></a><span class="lineno"> 820</span> <span class="comment">// Global freezing.</span></div>
|
||||
<div class="line"><a id="l00821" name="l00821"></a><span class="lineno"> 821</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a66b99468a4160bccaa9959a444b40d40">pay</a>(gw, alice, USD(50)));</div>
|
||||
<div class="line"><a id="l00822" name="l00822"></a><span class="lineno"> 822</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#ac423e2aa3fd7a14ae651849b430994f1">offer</a>(alice, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(5), USD(5)));</div>
|
||||
<div class="line"><a id="l00823" name="l00823"></a><span class="lineno"> 823</span> </div>
|
||||
<div class="line"><a id="l00824" name="l00824"></a><span class="lineno"> 824</span> <span class="comment">// Now freeze gw.</span></div>
|
||||
<div class="line"><a id="l00825" name="l00825"></a><span class="lineno"> 825</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a50cacef3867fc01273aa9c29231f9a7c">fset</a>(gw, <a class="code hl_variable" href="namespaceripple.html#a0ce63352f37481632452056bb649eb58">asfGlobalFreeze</a>));</div>
|
||||
<div class="line"><a id="l00826" name="l00826"></a><span class="lineno"> 826</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="l00827" name="l00827"></a><span class="lineno"> 827</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#ac423e2aa3fd7a14ae651849b430994f1">offer</a>(alice, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(4), USD(5)), <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1ter.html">ter</a>(<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca608da193a4a22ae1c78d76b6e843b7e6">tecFROZEN</a>));</div>
|
||||
<div class="line"><a id="l00828" name="l00828"></a><span class="lineno"> 828</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="l00829" name="l00829"></a><span class="lineno"> 829</span> </div>
|
||||
<div class="line"><a id="l00830" name="l00830"></a><span class="lineno"> 830</span> <span class="comment">// Alice's USD balance should be zero if frozen.</span></div>
|
||||
<div class="line"><a id="l00831" name="l00831"></a><span class="lineno"> 831</span> BEAST_EXPECT(</div>
|
||||
<div class="line"><a id="l00832" name="l00832"></a><span class="lineno"> 832</span> USD(0) ==</div>
|
||||
<div class="line"><a id="l00833" name="l00833"></a><span class="lineno"> 833</span> <a class="code hl_function" href="namespaceripple.html#ab001e43f50e612727b1ce5985a2770d6">accountHolds</a>(</div>
|
||||
<div class="line"><a id="l00834" name="l00834"></a><span class="lineno"> 834</span> *env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a14cbba5f53c931d433ce2e403bf692f4">closed</a>(),</div>
|
||||
<div class="line"><a id="l00835" name="l00835"></a><span class="lineno"> 835</span> alice,</div>
|
||||
<div class="line"><a id="l00836" name="l00836"></a><span class="lineno"> 836</span> USD.currency,</div>
|
||||
<div class="line"><a id="l00837" name="l00837"></a><span class="lineno"> 837</span> gw,</div>
|
||||
<div class="line"><a id="l00838" name="l00838"></a><span class="lineno"> 838</span> <a class="code hl_enumvalue" href="namespaceripple.html#a17a9a9b903b66e49f5413d82ce79f085a852cabbbe21a9b4d63aff777eceab2fd">fhZERO_IF_FROZEN</a>,</div>
|
||||
<div class="line"><a id="l00839" name="l00839"></a><span class="lineno"> 839</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="l00840" name="l00840"></a><span class="lineno"> 840</span> </div>
|
||||
<div class="line"><a id="l00841" name="l00841"></a><span class="lineno"> 841</span> <span class="comment">// Thaw gw and try again.</span></div>
|
||||
<div class="line"><a id="l00842" name="l00842"></a><span class="lineno"> 842</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a18cde110bb3ad7dce97ac11a4b251d0e">fclear</a>(gw, <a class="code hl_variable" href="namespaceripple.html#a0ce63352f37481632452056bb649eb58">asfGlobalFreeze</a>));</div>
|
||||
<div class="line"><a id="l00843" name="l00843"></a><span class="lineno"> 843</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="l00844" name="l00844"></a><span class="lineno"> 844</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#ac423e2aa3fd7a14ae651849b430994f1">offer</a>(<span class="stringliteral">"alice"</span>, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(4), USD(5)));</div>
|
||||
<div class="line"><a id="l00845" name="l00845"></a><span class="lineno"> 845</span> }</div>
|
||||
<div class="line"><a id="l00846" name="l00846"></a><span class="lineno"> 846</span> {</div>
|
||||
<div class="line"><a id="l00847" name="l00847"></a><span class="lineno"> 847</span> <span class="comment">// Local freezing.</span></div>
|
||||
<div class="line"><a id="l00848" name="l00848"></a><span class="lineno"> 848</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a66b99468a4160bccaa9959a444b40d40">pay</a>(gw, bob, USD(50)));</div>
|
||||
<div class="line"><a id="l00849" name="l00849"></a><span class="lineno"> 849</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="l00850" name="l00850"></a><span class="lineno"> 850</span> </div>
|
||||
<div class="line"><a id="l00851" name="l00851"></a><span class="lineno"> 851</span> <span class="comment">// Now gw freezes bob's USD trust line.</span></div>
|
||||
<div class="line"><a id="l00852" name="l00852"></a><span class="lineno"> 852</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a47cac3a8bfbc8c14ae8da735ec52ebbf">trust</a>(gw, USD(100), bob, <a class="code hl_variable" href="namespaceripple.html#ae34d881cd8926ab3505340a51f91fd8b">tfSetFreeze</a>));</div>
|
||||
<div class="line"><a id="l00853" name="l00853"></a><span class="lineno"> 853</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="l00854" name="l00854"></a><span class="lineno"> 854</span> </div>
|
||||
<div class="line"><a id="l00855" name="l00855"></a><span class="lineno"> 855</span> <span class="comment">// Bob's balance should be zero if frozen.</span></div>
|
||||
<div class="line"><a id="l00856" name="l00856"></a><span class="lineno"> 856</span> BEAST_EXPECT(</div>
|
||||
<div class="line"><a id="l00857" name="l00857"></a><span class="lineno"> 857</span> USD(0) ==</div>
|
||||
<div class="line"><a id="l00858" name="l00858"></a><span class="lineno"> 858</span> <a class="code hl_function" href="namespaceripple.html#ab001e43f50e612727b1ce5985a2770d6">accountHolds</a>(</div>
|
||||
<div class="line"><a id="l00859" name="l00859"></a><span class="lineno"> 859</span> *env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a14cbba5f53c931d433ce2e403bf692f4">closed</a>(),</div>
|
||||
<div class="line"><a id="l00860" name="l00860"></a><span class="lineno"> 860</span> bob,</div>
|
||||
<div class="line"><a id="l00861" name="l00861"></a><span class="lineno"> 861</span> USD.currency,</div>
|
||||
<div class="line"><a id="l00862" name="l00862"></a><span class="lineno"> 862</span> gw,</div>
|
||||
<div class="line"><a id="l00863" name="l00863"></a><span class="lineno"> 863</span> <a class="code hl_enumvalue" href="namespaceripple.html#a17a9a9b903b66e49f5413d82ce79f085a852cabbbe21a9b4d63aff777eceab2fd">fhZERO_IF_FROZEN</a>,</div>
|
||||
<div class="line"><a id="l00864" name="l00864"></a><span class="lineno"> 864</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="l00865" name="l00865"></a><span class="lineno"> 865</span> </div>
|
||||
<div class="line"><a id="l00866" name="l00866"></a><span class="lineno"> 866</span> <span class="comment">// gw thaws bob's trust line. bob gets his money back.</span></div>
|
||||
<div class="line"><a id="l00867" name="l00867"></a><span class="lineno"> 867</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a47cac3a8bfbc8c14ae8da735ec52ebbf">trust</a>(gw, USD(100), bob, <a class="code hl_variable" href="namespaceripple.html#a98f09aa7b518e640710f4362145dd444">tfClearFreeze</a>));</div>
|
||||
<div class="line"><a id="l00868" name="l00868"></a><span class="lineno"> 868</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="l00869" name="l00869"></a><span class="lineno"> 869</span> BEAST_EXPECT(</div>
|
||||
<div class="line"><a id="l00870" name="l00870"></a><span class="lineno"> 870</span> USD(50) ==</div>
|
||||
<div class="line"><a id="l00871" name="l00871"></a><span class="lineno"> 871</span> <a class="code hl_function" href="namespaceripple.html#ab001e43f50e612727b1ce5985a2770d6">accountHolds</a>(</div>
|
||||
<div class="line"><a id="l00872" name="l00872"></a><span class="lineno"> 872</span> *env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a14cbba5f53c931d433ce2e403bf692f4">closed</a>(),</div>
|
||||
<div class="line"><a id="l00873" name="l00873"></a><span class="lineno"> 873</span> bob,</div>
|
||||
<div class="line"><a id="l00874" name="l00874"></a><span class="lineno"> 874</span> USD.currency,</div>
|
||||
<div class="line"><a id="l00875" name="l00875"></a><span class="lineno"> 875</span> gw,</div>
|
||||
<div class="line"><a id="l00876" name="l00876"></a><span class="lineno"> 876</span> <a class="code hl_enumvalue" href="namespaceripple.html#a17a9a9b903b66e49f5413d82ce79f085a852cabbbe21a9b4d63aff777eceab2fd">fhZERO_IF_FROZEN</a>,</div>
|
||||
<div class="line"><a id="l00877" name="l00877"></a><span class="lineno"> 877</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="l00878" name="l00878"></a><span class="lineno"> 878</span> }</div>
|
||||
<div class="line"><a id="l00879" name="l00879"></a><span class="lineno"> 879</span> {</div>
|
||||
<div class="line"><a id="l00880" name="l00880"></a><span class="lineno"> 880</span> <span class="comment">// accountHolds().</span></div>
|
||||
<div class="line"><a id="l00881" name="l00881"></a><span class="lineno"> 881</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a66b99468a4160bccaa9959a444b40d40">pay</a>(gw, carol, USD(50)));</div>
|
||||
<div class="line"><a id="l00882" name="l00882"></a><span class="lineno"> 882</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="l00883" name="l00883"></a><span class="lineno"> 883</span> </div>
|
||||
<div class="line"><a id="l00884" name="l00884"></a><span class="lineno"> 884</span> <span class="comment">// carol has no EUR.</span></div>
|
||||
<div class="line"><a id="l00885" name="l00885"></a><span class="lineno"> 885</span> BEAST_EXPECT(</div>
|
||||
<div class="line"><a id="l00886" name="l00886"></a><span class="lineno"> 886</span> EUR(0) ==</div>
|
||||
<div class="line"><a id="l00887" name="l00887"></a><span class="lineno"> 887</span> <a class="code hl_function" href="namespaceripple.html#ab001e43f50e612727b1ce5985a2770d6">accountHolds</a>(</div>
|
||||
<div class="line"><a id="l00888" name="l00888"></a><span class="lineno"> 888</span> *env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a14cbba5f53c931d433ce2e403bf692f4">closed</a>(),</div>
|
||||
<div class="line"><a id="l00889" name="l00889"></a><span class="lineno"> 889</span> carol,</div>
|
||||
<div class="line"><a id="l00890" name="l00890"></a><span class="lineno"> 890</span> EUR.currency,</div>
|
||||
<div class="line"><a id="l00891" name="l00891"></a><span class="lineno"> 891</span> gw,</div>
|
||||
<div class="line"><a id="l00892" name="l00892"></a><span class="lineno"> 892</span> <a class="code hl_enumvalue" href="namespaceripple.html#a17a9a9b903b66e49f5413d82ce79f085a852cabbbe21a9b4d63aff777eceab2fd">fhZERO_IF_FROZEN</a>,</div>
|
||||
<div class="line"><a id="l00893" name="l00893"></a><span class="lineno"> 893</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="l00894" name="l00894"></a><span class="lineno"> 894</span> </div>
|
||||
<div class="line"><a id="l00895" name="l00895"></a><span class="lineno"> 895</span> <span class="comment">// But carol does have USD.</span></div>
|
||||
<div class="line"><a id="l00896" name="l00896"></a><span class="lineno"> 896</span> BEAST_EXPECT(</div>
|
||||
<div class="line"><a id="l00897" name="l00897"></a><span class="lineno"> 897</span> USD(50) ==</div>
|
||||
<div class="line"><a id="l00898" name="l00898"></a><span class="lineno"> 898</span> <a class="code hl_function" href="namespaceripple.html#ab001e43f50e612727b1ce5985a2770d6">accountHolds</a>(</div>
|
||||
<div class="line"><a id="l00899" name="l00899"></a><span class="lineno"> 899</span> *env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a14cbba5f53c931d433ce2e403bf692f4">closed</a>(),</div>
|
||||
<div class="line"><a id="l00900" name="l00900"></a><span class="lineno"> 900</span> carol,</div>
|
||||
<div class="line"><a id="l00901" name="l00901"></a><span class="lineno"> 901</span> USD.currency,</div>
|
||||
<div class="line"><a id="l00902" name="l00902"></a><span class="lineno"> 902</span> gw,</div>
|
||||
<div class="line"><a id="l00903" name="l00903"></a><span class="lineno"> 903</span> <a class="code hl_enumvalue" href="namespaceripple.html#a17a9a9b903b66e49f5413d82ce79f085a852cabbbe21a9b4d63aff777eceab2fd">fhZERO_IF_FROZEN</a>,</div>
|
||||
<div class="line"><a id="l00904" name="l00904"></a><span class="lineno"> 904</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="l00905" name="l00905"></a><span class="lineno"> 905</span> </div>
|
||||
<div class="line"><a id="l00906" name="l00906"></a><span class="lineno"> 906</span> <span class="comment">// carol's XRP balance should be her holdings minus her reserve.</span></div>
|
||||
<div class="line"><a id="l00907" name="l00907"></a><span class="lineno"> 907</span> <span class="keyword">auto</span> <span class="keyword">const</span> carolsXRP = <a class="code hl_function" href="namespaceripple.html#ab001e43f50e612727b1ce5985a2770d6">accountHolds</a>(</div>
|
||||
<div class="line"><a id="l00908" name="l00908"></a><span class="lineno"> 908</span> *env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a14cbba5f53c931d433ce2e403bf692f4">closed</a>(),</div>
|
||||
<div class="line"><a id="l00909" name="l00909"></a><span class="lineno"> 909</span> carol,</div>
|
||||
<div class="line"><a id="l00910" name="l00910"></a><span class="lineno"> 910</span> <a class="code hl_function" href="namespaceripple.html#a91af9326e7f471001066b6b59f24599c">xrpCurrency</a>(),</div>
|
||||
<div class="line"><a id="l00911" name="l00911"></a><span class="lineno"> 911</span> <a class="code hl_function" href="namespaceripple.html#a21696ba0d0fac348f88f1b9da51091b0">xrpAccount</a>(),</div>
|
||||
<div class="line"><a id="l00912" name="l00912"></a><span class="lineno"> 912</span> <a class="code hl_enumvalue" href="namespaceripple.html#a17a9a9b903b66e49f5413d82ce79f085a852cabbbe21a9b4d63aff777eceab2fd">fhZERO_IF_FROZEN</a>,</div>
|
||||
<div class="line"><a id="l00913" name="l00913"></a><span class="lineno"> 913</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="l00914" name="l00914"></a><span class="lineno"> 914</span> <span class="comment">// carol's XRP balance: 10000</span></div>
|
||||
<div class="line"><a id="l00915" name="l00915"></a><span class="lineno"> 915</span> <span class="comment">// base reserve: -200</span></div>
|
||||
<div class="line"><a id="l00916" name="l00916"></a><span class="lineno"> 916</span> <span class="comment">// 1 trust line times its reserve: 1 * -50</span></div>
|
||||
<div class="line"><a id="l00917" name="l00917"></a><span class="lineno"> 917</span> <span class="comment">// -------</span></div>
|
||||
<div class="line"><a id="l00918" name="l00918"></a><span class="lineno"> 918</span> <span class="comment">// carol's available balance: 9750</span></div>
|
||||
<div class="line"><a id="l00919" name="l00919"></a><span class="lineno"> 919</span> BEAST_EXPECT(carolsXRP == <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(9750));</div>
|
||||
<div class="line"><a id="l00920" name="l00920"></a><span class="lineno"> 920</span> </div>
|
||||
<div class="line"><a id="l00921" name="l00921"></a><span class="lineno"> 921</span> <span class="comment">// carol should be able to spend *more* than her XRP balance on</span></div>
|
||||
<div class="line"><a id="l00922" name="l00922"></a><span class="lineno"> 922</span> <span class="comment">// a fee by eating into her reserve.</span></div>
|
||||
<div class="line"><a id="l00923" name="l00923"></a><span class="lineno"> 923</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a95abf901db0a698e0c97d00476c95f34">noop</a>(carol), <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1fee.html">fee</a>(carolsXRP + <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10)));</div>
|
||||
<div class="line"><a id="l00924" name="l00924"></a><span class="lineno"> 924</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="l00925" name="l00925"></a><span class="lineno"> 925</span> </div>
|
||||
<div class="line"><a id="l00926" name="l00926"></a><span class="lineno"> 926</span> <span class="comment">// carol's XRP balance should now show as zero.</span></div>
|
||||
<div class="line"><a id="l00927" name="l00927"></a><span class="lineno"> 927</span> BEAST_EXPECT(</div>
|
||||
<div class="line"><a id="l00928" name="l00928"></a><span class="lineno"> 928</span> <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(0) ==</div>
|
||||
<div class="line"><a id="l00929" name="l00929"></a><span class="lineno"> 929</span> <a class="code hl_function" href="namespaceripple.html#ab001e43f50e612727b1ce5985a2770d6">accountHolds</a>(</div>
|
||||
<div class="line"><a id="l00930" name="l00930"></a><span class="lineno"> 930</span> *env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a14cbba5f53c931d433ce2e403bf692f4">closed</a>(),</div>
|
||||
<div class="line"><a id="l00931" name="l00931"></a><span class="lineno"> 931</span> carol,</div>
|
||||
<div class="line"><a id="l00932" name="l00932"></a><span class="lineno"> 932</span> <a class="code hl_function" href="namespaceripple.html#a91af9326e7f471001066b6b59f24599c">xrpCurrency</a>(),</div>
|
||||
<div class="line"><a id="l00933" name="l00933"></a><span class="lineno"> 933</span> gw,</div>
|
||||
<div class="line"><a id="l00934" name="l00934"></a><span class="lineno"> 934</span> <a class="code hl_enumvalue" href="namespaceripple.html#a17a9a9b903b66e49f5413d82ce79f085a852cabbbe21a9b4d63aff777eceab2fd">fhZERO_IF_FROZEN</a>,</div>
|
||||
<div class="line"><a id="l00935" name="l00935"></a><span class="lineno"> 935</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="l00936" name="l00936"></a><span class="lineno"> 936</span> }</div>
|
||||
<div class="line"><a id="l00937" name="l00937"></a><span class="lineno"> 937</span> {</div>
|
||||
<div class="line"><a id="l00938" name="l00938"></a><span class="lineno"> 938</span> <span class="comment">// accountFunds().</span></div>
|
||||
<div class="line"><a id="l00939" name="l00939"></a><span class="lineno"> 939</span> <span class="comment">// Gateways have whatever funds they claim to have.</span></div>
|
||||
<div class="line"><a id="l00940" name="l00940"></a><span class="lineno"> 940</span> <span class="keyword">auto</span> <span class="keyword">const</span> gwUSD = <a class="code hl_function" href="namespaceripple.html#a15bb971c7e554fc3df218aba54c33fcc">accountFunds</a>(</div>
|
||||
<div class="line"><a id="l00941" name="l00941"></a><span class="lineno"> 941</span> *env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a14cbba5f53c931d433ce2e403bf692f4">closed</a>(), gw, USD(314159), <a class="code hl_enumvalue" href="namespaceripple.html#a17a9a9b903b66e49f5413d82ce79f085a852cabbbe21a9b4d63aff777eceab2fd">fhZERO_IF_FROZEN</a>, env.<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1Env.html#acfdfa1e283de8fb2dad0216cd1711307">journal</a>);</div>
|
||||
<div class="line"><a id="l00942" name="l00942"></a><span class="lineno"> 942</span> BEAST_EXPECT(gwUSD == USD(314159));</div>
|
||||
<div class="line"><a id="l00943" name="l00943"></a><span class="lineno"> 943</span> </div>
|
||||
<div class="line"><a id="l00944" name="l00944"></a><span class="lineno"> 944</span> <span class="comment">// carol has funds from the gateway.</span></div>
|
||||
<div class="line"><a id="l00945" name="l00945"></a><span class="lineno"> 945</span> <span class="keyword">auto</span> carolsUSD = <a class="code hl_function" href="namespaceripple.html#a15bb971c7e554fc3df218aba54c33fcc">accountFunds</a>(</div>
|
||||
<div class="line"><a id="l00946" name="l00946"></a><span class="lineno"> 946</span> *env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a14cbba5f53c931d433ce2e403bf692f4">closed</a>(), carol, USD(0), <a class="code hl_enumvalue" href="namespaceripple.html#a17a9a9b903b66e49f5413d82ce79f085a852cabbbe21a9b4d63aff777eceab2fd">fhZERO_IF_FROZEN</a>, env.<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1Env.html#acfdfa1e283de8fb2dad0216cd1711307">journal</a>);</div>
|
||||
<div class="line"><a id="l00947" name="l00947"></a><span class="lineno"> 947</span> BEAST_EXPECT(carolsUSD == USD(50));</div>
|
||||
<div class="line"><a id="l00948" name="l00948"></a><span class="lineno"> 948</span> </div>
|
||||
<div class="line"><a id="l00949" name="l00949"></a><span class="lineno"> 949</span> <span class="comment">// If carol's funds are frozen she has no funds...</span></div>
|
||||
<div class="line"><a id="l00950" name="l00950"></a><span class="lineno"> 950</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a50cacef3867fc01273aa9c29231f9a7c">fset</a>(gw, <a class="code hl_variable" href="namespaceripple.html#a0ce63352f37481632452056bb649eb58">asfGlobalFreeze</a>));</div>
|
||||
<div class="line"><a id="l00951" name="l00951"></a><span class="lineno"> 951</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="l00952" name="l00952"></a><span class="lineno"> 952</span> carolsUSD = <a class="code hl_function" href="namespaceripple.html#a15bb971c7e554fc3df218aba54c33fcc">accountFunds</a>(</div>
|
||||
<div class="line"><a id="l00953" name="l00953"></a><span class="lineno"> 953</span> *env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a14cbba5f53c931d433ce2e403bf692f4">closed</a>(), carol, USD(0), <a class="code hl_enumvalue" href="namespaceripple.html#a17a9a9b903b66e49f5413d82ce79f085a852cabbbe21a9b4d63aff777eceab2fd">fhZERO_IF_FROZEN</a>, env.<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1Env.html#acfdfa1e283de8fb2dad0216cd1711307">journal</a>);</div>
|
||||
<div class="line"><a id="l00954" name="l00954"></a><span class="lineno"> 954</span> BEAST_EXPECT(carolsUSD == USD(0));</div>
|
||||
<div class="line"><a id="l00955" name="l00955"></a><span class="lineno"> 955</span> </div>
|
||||
<div class="line"><a id="l00956" name="l00956"></a><span class="lineno"> 956</span> <span class="comment">// ... unless the query ignores the FROZEN state.</span></div>
|
||||
<div class="line"><a id="l00957" name="l00957"></a><span class="lineno"> 957</span> carolsUSD = <a class="code hl_function" href="namespaceripple.html#a15bb971c7e554fc3df218aba54c33fcc">accountFunds</a>(</div>
|
||||
<div class="line"><a id="l00958" name="l00958"></a><span class="lineno"> 958</span> *env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a14cbba5f53c931d433ce2e403bf692f4">closed</a>(), carol, USD(0), <a class="code hl_enumvalue" href="namespaceripple.html#a17a9a9b903b66e49f5413d82ce79f085a91e3c4f8089025c7ecf66dd62b822d90">fhIGNORE_FREEZE</a>, env.<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1Env.html#acfdfa1e283de8fb2dad0216cd1711307">journal</a>);</div>
|
||||
<div class="line"><a id="l00959" name="l00959"></a><span class="lineno"> 959</span> BEAST_EXPECT(carolsUSD == USD(50));</div>
|
||||
<div class="line"><a id="l00960" name="l00960"></a><span class="lineno"> 960</span> </div>
|
||||
<div class="line"><a id="l00961" name="l00961"></a><span class="lineno"> 961</span> <span class="comment">// Just to be tidy, thaw gw.</span></div>
|
||||
<div class="line"><a id="l00962" name="l00962"></a><span class="lineno"> 962</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a18cde110bb3ad7dce97ac11a4b251d0e">fclear</a>(gw, <a class="code hl_variable" href="namespaceripple.html#a0ce63352f37481632452056bb649eb58">asfGlobalFreeze</a>));</div>
|
||||
<div class="line"><a id="l00963" name="l00963"></a><span class="lineno"> 963</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="l00964" name="l00964"></a><span class="lineno"> 964</span> }</div>
|
||||
<div class="line"><a id="l00965" name="l00965"></a><span class="lineno"> 965</span> }</div>
|
||||
<div class="line"><a id="l00966" name="l00966"></a><span class="lineno"> 966</span> </div>
|
||||
<div class="line"><a id="l00967" name="l00967"></a><span class="lineno"> 967</span> <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a id="l00968" name="l00968"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1View__test.html#af204bf82ad2d34c59e85af6b87b22434"> 968</a></span> <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#af204bf82ad2d34c59e85af6b87b22434">testTransferRate</a>()</div>
|
||||
<div class="line"><a id="l00969" name="l00969"></a><span class="lineno"> 969</span> {</div>
|
||||
<div class="line"><a id="l00970" name="l00970"></a><span class="lineno"> 970</span> <a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">testcase</a>(<span class="stringliteral">"Transfer rate"</span>);</div>
|
||||
<div class="line"><a id="l00971" name="l00971"></a><span class="lineno"> 971</span> </div>
|
||||
<div class="line"><a id="l00972" name="l00972"></a><span class="lineno"> 972</span> <span class="keyword">using namespace </span>jtx;</div>
|
||||
<div class="line"><a id="l00973" name="l00973"></a><span class="lineno"> 973</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env(*<span class="keyword">this</span>);</div>
|
||||
<div class="line"><a id="l00974" name="l00974"></a><span class="lineno"> 974</span> </div>
|
||||
<div class="line"><a id="l00975" name="l00975"></a><span class="lineno"> 975</span> <span class="keyword">auto</span> <span class="keyword">const</span> gw1 = <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Account.html">Account</a>(<span class="stringliteral">"gw1"</span>);</div>
|
||||
<div class="line"><a id="l00976" name="l00976"></a><span class="lineno"> 976</span> </div>
|
||||
<div class="line"><a id="l00977" name="l00977"></a><span class="lineno"> 977</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>(10000), gw1);</div>
|
||||
<div class="line"><a id="l00978" name="l00978"></a><span class="lineno"> 978</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="l00979" name="l00979"></a><span class="lineno"> 979</span> </div>
|
||||
<div class="line"><a id="l00980" name="l00980"></a><span class="lineno"> 980</span> <span class="keyword">auto</span> rdView = env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a14cbba5f53c931d433ce2e403bf692f4">closed</a>();</div>
|
||||
<div class="line"><a id="l00981" name="l00981"></a><span class="lineno"> 981</span> <span class="comment">// Test with no rate set on gw1.</span></div>
|
||||
<div class="line"><a id="l00982" name="l00982"></a><span class="lineno"> 982</span> BEAST_EXPECT(<a class="code hl_function" href="namespaceripple.html#a40a2f551909e4b709699f6d41292d374">transferRate</a>(*rdView, gw1) == <a class="code hl_variable" href="namespaceripple.html#afbcd0117839fb629a769c600a741f452">parityRate</a>);</div>
|
||||
<div class="line"><a id="l00983" name="l00983"></a><span class="lineno"> 983</span> </div>
|
||||
<div class="line"><a id="l00984" name="l00984"></a><span class="lineno"> 984</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a8e8d814b8820ce0b6979abde0d6a2618">rate</a>(gw1, 1.02));</div>
|
||||
<div class="line"><a id="l00985" name="l00985"></a><span class="lineno"> 985</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="l00986" name="l00986"></a><span class="lineno"> 986</span> </div>
|
||||
<div class="line"><a id="l00987" name="l00987"></a><span class="lineno"> 987</span> rdView = env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a14cbba5f53c931d433ce2e403bf692f4">closed</a>();</div>
|
||||
<div class="line"><a id="l00988" name="l00988"></a><span class="lineno"> 988</span> BEAST_EXPECT(<a class="code hl_function" href="namespaceripple.html#a40a2f551909e4b709699f6d41292d374">transferRate</a>(*rdView, gw1) == <a class="code hl_struct" href="structripple_1_1Rate.html">Rate</a>{1020000000});</div>
|
||||
<div class="line"><a id="l00989" name="l00989"></a><span class="lineno"> 989</span> }</div>
|
||||
<div class="line"><a id="l00990" name="l00990"></a><span class="lineno"> 990</span> </div>
|
||||
<div class="line"><a id="l00991" name="l00991"></a><span class="lineno"> 991</span> <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a id="l00992" name="l00992"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1View__test.html#a212be5fd7a3dbc45131d1d3bdc4b307a"> 992</a></span> <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#a212be5fd7a3dbc45131d1d3bdc4b307a">testAreCompatible</a>()</div>
|
||||
<div class="line"><a id="l00993" name="l00993"></a><span class="lineno"> 993</span> {</div>
|
||||
<div class="line"><a id="l00994" name="l00994"></a><span class="lineno"> 994</span> <span class="comment">// This test requires incompatible ledgers. The good news we can</span></div>
|
||||
<div class="line"><a id="l00995" name="l00995"></a><span class="lineno"> 995</span> <span class="comment">// construct and manage two different Env instances at the same</span></div>
|
||||
<div class="line"><a id="l00996" name="l00996"></a><span class="lineno"> 996</span> <span class="comment">// time. So we can use two Env instances to produce mutually</span></div>
|
||||
<div class="line"><a id="l00997" name="l00997"></a><span class="lineno"> 997</span> <span class="comment">// incompatible ledgers.</span></div>
|
||||
<div class="line"><a id="l00998" name="l00998"></a><span class="lineno"> 998</span> <a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">testcase</a>(<span class="stringliteral">"Are compatible"</span>);</div>
|
||||
<div class="line"><a id="l00999" name="l00999"></a><span class="lineno"> 999</span> </div>
|
||||
<div class="line"><a id="l01000" name="l01000"></a><span class="lineno"> 1000</span> <span class="keyword">using namespace </span>jtx;</div>
|
||||
<div class="line"><a id="l01001" name="l01001"></a><span class="lineno"> 1001</span> <span class="keyword">auto</span> <span class="keyword">const</span> alice = <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Account.html">Account</a>(<span class="stringliteral">"alice"</span>);</div>
|
||||
<div class="line"><a id="l01002" name="l01002"></a><span class="lineno"> 1002</span> <span class="keyword">auto</span> <span class="keyword">const</span> bob = <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Account.html">Account</a>(<span class="stringliteral">"bob"</span>);</div>
|
||||
<div class="line"><a id="l01003" name="l01003"></a><span class="lineno"> 1003</span> </div>
|
||||
<div class="line"><a id="l01004" name="l01004"></a><span class="lineno"> 1004</span> <span class="comment">// The first Env.</span></div>
|
||||
<div class="line"><a id="l01005" name="l01005"></a><span class="lineno"> 1005</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> eA(*<span class="keyword">this</span>, <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a7a4caa0465c555c5c59ce7c0d0d48d78">envconfig</a>(), <span class="keyword">nullptr</span>, <a class="code hl_enumvalue" href="namespacebeast_1_1severities.html#a069a8a312b9123b77f6aa31733ca73beae13a45640877c138fc59c94443ece6f0">beast::severities::kDisabled</a>);</div>
|
||||
<div class="line"><a id="l01006" name="l01006"></a><span class="lineno"> 1006</span> </div>
|
||||
<div class="line"><a id="l01007" name="l01007"></a><span class="lineno"> 1007</span> eA.<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>(10000), alice);</div>
|
||||
<div class="line"><a id="l01008" name="l01008"></a><span class="lineno"> 1008</span> eA.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a id="l01009" name="l01009"></a><span class="lineno"> 1009</span> <span class="keyword">auto</span> <span class="keyword">const</span> rdViewA3 = eA.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a14cbba5f53c931d433ce2e403bf692f4">closed</a>();</div>
|
||||
<div class="line"><a id="l01010" name="l01010"></a><span class="lineno"> 1010</span> </div>
|
||||
<div class="line"><a id="l01011" name="l01011"></a><span class="lineno"> 1011</span> eA.<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>(10000), bob);</div>
|
||||
<div class="line"><a id="l01012" name="l01012"></a><span class="lineno"> 1012</span> eA.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a id="l01013" name="l01013"></a><span class="lineno"> 1013</span> <span class="keyword">auto</span> <span class="keyword">const</span> rdViewA4 = eA.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a14cbba5f53c931d433ce2e403bf692f4">closed</a>();</div>
|
||||
<div class="line"><a id="l01014" name="l01014"></a><span class="lineno"> 1014</span> </div>
|
||||
<div class="line"><a id="l01015" name="l01015"></a><span class="lineno"> 1015</span> <span class="comment">// The two Env's can't share the same ports, so modify the config</span></div>
|
||||
<div class="line"><a id="l01016" name="l01016"></a><span class="lineno"> 1016</span> <span class="comment">// of the second Env to use higher port numbers</span></div>
|
||||
<div class="line"><a id="l01017" name="l01017"></a><span class="lineno"> 1017</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> eB{*<span class="keyword">this</span>, <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a7a4caa0465c555c5c59ce7c0d0d48d78">envconfig</a>(), <span class="keyword">nullptr</span>, <a class="code hl_enumvalue" href="namespacebeast_1_1severities.html#a069a8a312b9123b77f6aa31733ca73beae13a45640877c138fc59c94443ece6f0">beast::severities::kDisabled</a>};</div>
|
||||
<div class="line"><a id="l01018" name="l01018"></a><span class="lineno"> 1018</span> </div>
|
||||
<div class="line"><a id="l01019" name="l01019"></a><span class="lineno"> 1019</span> <span class="comment">// Make ledgers that are incompatible with the first ledgers. Note</span></div>
|
||||
<div class="line"><a id="l01020" name="l01020"></a><span class="lineno"> 1020</span> <span class="comment">// that bob is funded before alice.</span></div>
|
||||
<div class="line"><a id="l01021" name="l01021"></a><span class="lineno"> 1021</span> eB.fund(<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10000), bob);</div>
|
||||
<div class="line"><a id="l01022" name="l01022"></a><span class="lineno"> 1022</span> eB.close();</div>
|
||||
<div class="line"><a id="l01023" name="l01023"></a><span class="lineno"> 1023</span> <span class="keyword">auto</span> <span class="keyword">const</span> rdViewB3 = eB.closed();</div>
|
||||
<div class="line"><a id="l01024" name="l01024"></a><span class="lineno"> 1024</span> </div>
|
||||
<div class="line"><a id="l01025" name="l01025"></a><span class="lineno"> 1025</span> eB.fund(<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10000), alice);</div>
|
||||
<div class="line"><a id="l01026" name="l01026"></a><span class="lineno"> 1026</span> eB.close();</div>
|
||||
<div class="line"><a id="l01027" name="l01027"></a><span class="lineno"> 1027</span> <span class="keyword">auto</span> <span class="keyword">const</span> rdViewB4 = eB.closed();</div>
|
||||
<div class="line"><a id="l01028" name="l01028"></a><span class="lineno"> 1028</span> </div>
|
||||
<div class="line"><a id="l01029" name="l01029"></a><span class="lineno"> 1029</span> <span class="comment">// Check for compatibility.</span></div>
|
||||
<div class="line"><a id="l01030" name="l01030"></a><span class="lineno"> 1030</span> <span class="keyword">auto</span> jStream = eA.<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1Env.html#acfdfa1e283de8fb2dad0216cd1711307">journal</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>();</div>
|
||||
<div class="line"><a id="l01031" name="l01031"></a><span class="lineno"> 1031</span> BEAST_EXPECT(<a class="code hl_function" href="namespaceripple.html#ae93a0ce909950194e6f9aaed7579ea74">areCompatible</a>(*rdViewA3, *rdViewA4, jStream, <span class="stringliteral">""</span>));</div>
|
||||
<div class="line"><a id="l01032" name="l01032"></a><span class="lineno"> 1032</span> BEAST_EXPECT(<a class="code hl_function" href="namespaceripple.html#ae93a0ce909950194e6f9aaed7579ea74">areCompatible</a>(*rdViewA4, *rdViewA3, jStream, <span class="stringliteral">""</span>));</div>
|
||||
<div class="line"><a id="l01033" name="l01033"></a><span class="lineno"> 1033</span> BEAST_EXPECT(<a class="code hl_function" href="namespaceripple.html#ae93a0ce909950194e6f9aaed7579ea74">areCompatible</a>(*rdViewA4, *rdViewA4, jStream, <span class="stringliteral">""</span>));</div>
|
||||
<div class="line"><a id="l01034" name="l01034"></a><span class="lineno"> 1034</span> BEAST_EXPECT(!<a class="code hl_function" href="namespaceripple.html#ae93a0ce909950194e6f9aaed7579ea74">areCompatible</a>(*rdViewA3, *rdViewB4, jStream, <span class="stringliteral">""</span>));</div>
|
||||
<div class="line"><a id="l01035" name="l01035"></a><span class="lineno"> 1035</span> BEAST_EXPECT(!<a class="code hl_function" href="namespaceripple.html#ae93a0ce909950194e6f9aaed7579ea74">areCompatible</a>(*rdViewA4, *rdViewB3, jStream, <span class="stringliteral">""</span>));</div>
|
||||
<div class="line"><a id="l01036" name="l01036"></a><span class="lineno"> 1036</span> BEAST_EXPECT(!<a class="code hl_function" href="namespaceripple.html#ae93a0ce909950194e6f9aaed7579ea74">areCompatible</a>(*rdViewA4, *rdViewB4, jStream, <span class="stringliteral">""</span>));</div>
|
||||
<div class="line"><a id="l01037" name="l01037"></a><span class="lineno"> 1037</span> </div>
|
||||
<div class="line"><a id="l01038" name="l01038"></a><span class="lineno"> 1038</span> <span class="comment">// Try the other interface.</span></div>
|
||||
<div class="line"><a id="l01039" name="l01039"></a><span class="lineno"> 1039</span> <span class="comment">// Note that the different interface has different outcomes.</span></div>
|
||||
<div class="line"><a id="l01040" name="l01040"></a><span class="lineno"> 1040</span> <span class="keyword">auto</span> <span class="keyword">const</span>& iA3 = rdViewA3->info();</div>
|
||||
<div class="line"><a id="l01041" name="l01041"></a><span class="lineno"> 1041</span> <span class="keyword">auto</span> <span class="keyword">const</span>& iA4 = rdViewA4->info();</div>
|
||||
<div class="line"><a id="l01042" name="l01042"></a><span class="lineno"> 1042</span> </div>
|
||||
<div class="line"><a id="l01043" name="l01043"></a><span class="lineno"> 1043</span> BEAST_EXPECT(<a class="code hl_function" href="namespaceripple.html#ae93a0ce909950194e6f9aaed7579ea74">areCompatible</a>(iA3.hash, iA3.seq, *rdViewA4, jStream, <span class="stringliteral">""</span>));</div>
|
||||
<div class="line"><a id="l01044" name="l01044"></a><span class="lineno"> 1044</span> BEAST_EXPECT(<a class="code hl_function" href="namespaceripple.html#ae93a0ce909950194e6f9aaed7579ea74">areCompatible</a>(iA4.hash, iA4.seq, *rdViewA3, jStream, <span class="stringliteral">""</span>));</div>
|
||||
<div class="line"><a id="l01045" name="l01045"></a><span class="lineno"> 1045</span> BEAST_EXPECT(<a class="code hl_function" href="namespaceripple.html#ae93a0ce909950194e6f9aaed7579ea74">areCompatible</a>(iA4.hash, iA4.seq, *rdViewA4, jStream, <span class="stringliteral">""</span>));</div>
|
||||
<div class="line"><a id="l01046" name="l01046"></a><span class="lineno"> 1046</span> BEAST_EXPECT(!<a class="code hl_function" href="namespaceripple.html#ae93a0ce909950194e6f9aaed7579ea74">areCompatible</a>(iA3.hash, iA3.seq, *rdViewB4, jStream, <span class="stringliteral">""</span>));</div>
|
||||
<div class="line"><a id="l01047" name="l01047"></a><span class="lineno"> 1047</span> BEAST_EXPECT(<a class="code hl_function" href="namespaceripple.html#ae93a0ce909950194e6f9aaed7579ea74">areCompatible</a>(iA4.hash, iA4.seq, *rdViewB3, jStream, <span class="stringliteral">""</span>));</div>
|
||||
<div class="line"><a id="l01048" name="l01048"></a><span class="lineno"> 1048</span> BEAST_EXPECT(!<a class="code hl_function" href="namespaceripple.html#ae93a0ce909950194e6f9aaed7579ea74">areCompatible</a>(iA4.hash, iA4.seq, *rdViewB4, jStream, <span class="stringliteral">""</span>));</div>
|
||||
<div class="line"><a id="l01049" name="l01049"></a><span class="lineno"> 1049</span> }</div>
|
||||
<div class="line"><a id="l01050" name="l01050"></a><span class="lineno"> 1050</span> </div>
|
||||
<div class="line"><a id="l01051" name="l01051"></a><span class="lineno"> 1051</span> <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a id="l01052" name="l01052"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1View__test.html#a876d0b6d69f1e6ce68f8fa1a804e4174"> 1052</a></span> <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#a876d0b6d69f1e6ce68f8fa1a804e4174">testRegressions</a>()</div>
|
||||
<div class="line"><a id="l01053" name="l01053"></a><span class="lineno"> 1053</span> {</div>
|
||||
<div class="line"><a id="l01054" name="l01054"></a><span class="lineno"> 1054</span> <a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">testcase</a>(<span class="stringliteral">"Regressions"</span>);</div>
|
||||
<div class="line"><a id="l01055" name="l01055"></a><span class="lineno"> 1055</span> </div>
|
||||
<div class="line"><a id="l01056" name="l01056"></a><span class="lineno"> 1056</span> <span class="keyword">using namespace </span>jtx;</div>
|
||||
<div class="line"><a id="l01057" name="l01057"></a><span class="lineno"> 1057</span> </div>
|
||||
<div class="line"><a id="l01058" name="l01058"></a><span class="lineno"> 1058</span> <span class="comment">// Create a ledger with 1 item, put a</span></div>
|
||||
<div class="line"><a id="l01059" name="l01059"></a><span class="lineno"> 1059</span> <span class="comment">// ApplyView on that, then another ApplyView,</span></div>
|
||||
<div class="line"><a id="l01060" name="l01060"></a><span class="lineno"> 1060</span> <span class="comment">// erase the item, apply.</span></div>
|
||||
<div class="line"><a id="l01061" name="l01061"></a><span class="lineno"> 1061</span> {</div>
|
||||
<div class="line"><a id="l01062" name="l01062"></a><span class="lineno"> 1062</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env(*<span class="keyword">this</span>);</div>
|
||||
<div class="line"><a id="l01063" name="l01063"></a><span class="lineno"> 1063</span> <a class="code hl_class" href="classripple_1_1Config.html">Config</a> config;</div>
|
||||
<div class="line"><a id="l01064" name="l01064"></a><span class="lineno"> 1064</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<Ledger const></a> <span class="keyword">const</span> genesis =</div>
|
||||
<div class="line"><a id="l01065" name="l01065"></a><span class="lineno"> 1065</span> std::make_shared<Ledger>(</div>
|
||||
<div class="line"><a id="l01066" name="l01066"></a><span class="lineno"> 1066</span> <a class="code hl_variable" href="namespaceripple.html#ac2c0e7e7b0be5e10cb5803c0a6b5b700">create_genesis</a>,</div>
|
||||
<div class="line"><a id="l01067" name="l01067"></a><span class="lineno"> 1067</span> config,</div>
|
||||
<div class="line"><a id="l01068" name="l01068"></a><span class="lineno"> 1068</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint256></a>{},</div>
|
||||
<div class="line"><a id="l01069" name="l01069"></a><span class="lineno"> 1069</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#acd48f8ab02c37b1a30cedf4dec7cc96c">app</a>().getNodeFamily());</div>
|
||||
<div class="line"><a id="l01070" name="l01070"></a><span class="lineno"> 1070</span> <span class="keyword">auto</span> <span class="keyword">const</span> ledger = std::make_shared<Ledger>(</div>
|
||||
<div class="line"><a id="l01071" name="l01071"></a><span class="lineno"> 1071</span> *genesis, 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#a6053f47d2aefc7800dc2bb1eda0cf91d">timeKeeper</a>().<a class="code hl_function" href="classripple_1_1TimeKeeper.html#ada2cee023f1dcf3c80250f8840139440">closeTime</a>());</div>
|
||||
<div class="line"><a id="l01072" name="l01072"></a><span class="lineno"> 1072</span> <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#a6d746e59eef5e7c4144b2065ae6f7622">wipe</a>(*ledger);</div>
|
||||
<div class="line"><a id="l01073" name="l01073"></a><span class="lineno"> 1073</span> ledger->rawInsert(<a class="code hl_function" href="classripple_1_1test_1_1View__test.html#a087507e87a0fcc724a24f4ff9b90d3a0">sle</a>(1));</div>
|
||||
<div class="line"><a id="l01074" name="l01074"></a><span class="lineno"> 1074</span> <a class="code hl_class" href="classripple_1_1ReadView.html">ReadView</a>& v0 = *ledger;</div>
|
||||
<div class="line"><a id="l01075" name="l01075"></a><span class="lineno"> 1075</span> <a class="code hl_class" href="classripple_1_1ApplyViewImpl.html">ApplyViewImpl</a> v1(&v0, <a class="code hl_enumvalue" href="namespaceripple.html#ad2487abbcc1a5d6064b72144b461df6eaf77cbea9706ce2ee7fdf5a85efbf70c5">tapNONE</a>);</div>
|
||||
<div class="line"><a id="l01076" name="l01076"></a><span class="lineno"> 1076</span> {</div>
|
||||
<div class="line"><a id="l01077" name="l01077"></a><span class="lineno"> 1077</span> <a class="code hl_class" href="classripple_1_1Sandbox.html">Sandbox</a> v2(&v1);</div>
|
||||
<div class="line"><a id="l01078" name="l01078"></a><span class="lineno"> 1078</span> v2.<a class="code hl_function" href="classripple_1_1detail_1_1ApplyViewBase.html#a165c96d3bf59c98b608ffabcf2f70276">erase</a>(v2.<a class="code hl_function" href="classripple_1_1detail_1_1ApplyViewBase.html#afe88196d7aec85f2af00d7cd0b1a28c3">peek</a>(<a class="code hl_function" href="classripple_1_1test_1_1View__test.html#a302bc0969a99610f578630eeca5fa754">k</a>(1)));</div>
|
||||
<div class="line"><a id="l01079" name="l01079"></a><span class="lineno"> 1079</span> v2.<a class="code hl_function" href="classripple_1_1Sandbox.html#af027065a92ed80c4b54b08d7974c06ce">apply</a>(v1);</div>
|
||||
<div class="line"><a id="l01080" name="l01080"></a><span class="lineno"> 1080</span> }</div>
|
||||
<div class="line"><a id="l01081" name="l01081"></a><span class="lineno"> 1081</span> BEAST_EXPECT(!v1.<a class="code hl_function" href="classripple_1_1detail_1_1ApplyViewBase.html#ab5b90b656223e19272dfe10e2dcd7f56">exists</a>(<a class="code hl_function" href="classripple_1_1test_1_1View__test.html#a302bc0969a99610f578630eeca5fa754">k</a>(1)));</div>
|
||||
<div class="line"><a id="l01082" name="l01082"></a><span class="lineno"> 1082</span> }</div>
|
||||
<div class="line"><a id="l01083" name="l01083"></a><span class="lineno"> 1083</span> </div>
|
||||
<div class="line"><a id="l01084" name="l01084"></a><span class="lineno"> 1084</span> <span class="comment">// Make sure OpenLedger::empty works</span></div>
|
||||
<div class="line"><a id="l01085" name="l01085"></a><span class="lineno"> 1085</span> {</div>
|
||||
<div class="line"><a id="l01086" name="l01086"></a><span class="lineno"> 1086</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env(*<span class="keyword">this</span>);</div>
|
||||
<div class="line"><a id="l01087" name="l01087"></a><span class="lineno"> 1087</span> BEAST_EXPECT(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#a151d1401a346131fc6fb3efb197133e6">openLedger</a>().<a class="code hl_function" href="classripple_1_1OpenLedger.html#a88144aac5696b3f33eccfaaed0aeb8ba">empty</a>());</div>
|
||||
<div class="line"><a id="l01088" name="l01088"></a><span class="lineno"> 1088</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>(10000), <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Account.html">Account</a>(<span class="stringliteral">"test"</span>));</div>
|
||||
<div class="line"><a id="l01089" name="l01089"></a><span class="lineno"> 1089</span> BEAST_EXPECT(!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#a151d1401a346131fc6fb3efb197133e6">openLedger</a>().<a class="code hl_function" href="classripple_1_1OpenLedger.html#a88144aac5696b3f33eccfaaed0aeb8ba">empty</a>());</div>
|
||||
<div class="line"><a id="l01090" name="l01090"></a><span class="lineno"> 1090</span> }</div>
|
||||
<div class="line"><a id="l01091" name="l01091"></a><span class="lineno"> 1091</span> }</div>
|
||||
<div class="line"><a id="l01092" name="l01092"></a><span class="lineno"> 1092</span> </div>
|
||||
<div class="line"><a id="l01093" name="l01093"></a><span class="lineno"> 1093</span> <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a id="l01094" name="l01094"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1View__test.html#ac4dc08fbd79cdefb231b58455da628dd"> 1094</a></span> <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#ac4dc08fbd79cdefb231b58455da628dd">run</a>()<span class="keyword"> override</span></div>
|
||||
<div class="line"><a id="l01095" name="l01095"></a><span class="lineno"> 1095</span><span class="keyword"> </span>{</div>
|
||||
<div class="line"><a id="l01096" name="l01096"></a><span class="lineno"> 1096</span> <span class="comment">// This had better work, or else</span></div>
|
||||
<div class="line"><a id="l01097" name="l01097"></a><span class="lineno"> 1097</span> BEAST_EXPECT(<a class="code hl_function" href="classripple_1_1test_1_1View__test.html#a302bc0969a99610f578630eeca5fa754">k</a>(0).key < <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#a302bc0969a99610f578630eeca5fa754">k</a>(1).key);</div>
|
||||
<div class="line"><a id="l01098" name="l01098"></a><span class="lineno"> 1098</span> </div>
|
||||
<div class="line"><a id="l01099" name="l01099"></a><span class="lineno"> 1099</span> <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#a4af3a487d399abe48fef4e8dff23ac99">testLedger</a>();</div>
|
||||
<div class="line"><a id="l01100" name="l01100"></a><span class="lineno"> 1100</span> <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#ad7d00b70c5c289d33d40aefeb9af5beb">testMeta</a>();</div>
|
||||
<div class="line"><a id="l01101" name="l01101"></a><span class="lineno"> 1101</span> <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#a24a0161bd55353bc9815d918eca70fd2">testMetaSucc</a>();</div>
|
||||
<div class="line"><a id="l01102" name="l01102"></a><span class="lineno"> 1102</span> <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#ab548fbc346788e353914d76482acfbc6">testStacked</a>();</div>
|
||||
<div class="line"><a id="l01103" name="l01103"></a><span class="lineno"> 1103</span> <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#a0e8e994b5cdd90ed5c9ceb881902c775">testContext</a>();</div>
|
||||
<div class="line"><a id="l01104" name="l01104"></a><span class="lineno"> 1104</span> <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#a261cf72736bc5e7664c277fa69e5c74a">testSles</a>();</div>
|
||||
<div class="line"><a id="l01105" name="l01105"></a><span class="lineno"> 1105</span> <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#a8dee0a79653dc6e1e5dae44907c33d1e">testUpperAndLowerBound</a>();</div>
|
||||
<div class="line"><a id="l01106" name="l01106"></a><span class="lineno"> 1106</span> <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#afa58f7754681a17073636c71a01f3d04">testFlags</a>();</div>
|
||||
<div class="line"><a id="l01107" name="l01107"></a><span class="lineno"> 1107</span> <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#af204bf82ad2d34c59e85af6b87b22434">testTransferRate</a>();</div>
|
||||
<div class="line"><a id="l01108" name="l01108"></a><span class="lineno"> 1108</span> <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#a212be5fd7a3dbc45131d1d3bdc4b307a">testAreCompatible</a>();</div>
|
||||
<div class="line"><a id="l01109" name="l01109"></a><span class="lineno"> 1109</span> <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#a876d0b6d69f1e6ce68f8fa1a804e4174">testRegressions</a>();</div>
|
||||
<div class="line"><a id="l01110" name="l01110"></a><span class="lineno"> 1110</span> }</div>
|
||||
<div class="line"><a id="l01111" name="l01111"></a><span class="lineno"> 1111</span>};</div>
|
||||
<div class="line"><a id="l01112" name="l01112"></a><span class="lineno"> 1112</span> </div>
|
||||
<div class="line"><a id="l01113" name="l01113"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1GetAmendments__test.html"> 1113</a></span><span class="keyword">class </span><a class="code hl_class" href="classripple_1_1test_1_1GetAmendments__test.html">GetAmendments_test</a> : <span class="keyword">public</span> <a class="code hl_class" href="classbeast_1_1unit__test_1_1suite.html">beast::unit_test::suite</a></div>
|
||||
<div class="line"><a id="l01114" name="l01114"></a><span class="lineno"> 1114</span>{</div>
|
||||
<div class="line"><a id="l01115" name="l01115"></a><span class="lineno"> 1115</span> <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a id="l01116" name="l01116"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1GetAmendments__test.html#a07fe3d47cbade85144ebe7f90bf2dad1"> 1116</a></span> <a class="code hl_function" href="classripple_1_1test_1_1GetAmendments__test.html#a07fe3d47cbade85144ebe7f90bf2dad1">testGetAmendments</a>()</div>
|
||||
<div class="line"><a id="l01117" name="l01117"></a><span class="lineno"> 1117</span> {</div>
|
||||
<div class="line"><a id="l01118" name="l01118"></a><span class="lineno"> 1118</span> <span class="keyword">using namespace </span>jtx;</div>
|
||||
<div class="line"><a id="l01119" name="l01119"></a><span class="lineno"> 1119</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env{*<span class="keyword">this</span>, <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a7a4caa0465c555c5c59ce7c0d0d48d78">envconfig</a>(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a000ffa48b8512f4af030e7fd63c26cad">validator</a>, <span class="stringliteral">""</span>)};</div>
|
||||
<div class="line"><a id="l01120" name="l01120"></a><span class="lineno"> 1120</span> </div>
|
||||
<div class="line"><a id="l01121" name="l01121"></a><span class="lineno"> 1121</span> <span class="comment">// Start out with no amendments.</span></div>
|
||||
<div class="line"><a id="l01122" name="l01122"></a><span class="lineno"> 1122</span> <span class="keyword">auto</span> majorities = <a class="code hl_function" href="namespaceripple.html#ab6b00b336996c0b0a3fe2e8a8d5fa76a">getMajorityAmendments</a>(*env.closed());</div>
|
||||
<div class="line"><a id="l01123" name="l01123"></a><span class="lineno"> 1123</span> BEAST_EXPECT(majorities.empty());</div>
|
||||
<div class="line"><a id="l01124" name="l01124"></a><span class="lineno"> 1124</span> </div>
|
||||
<div class="line"><a id="l01125" name="l01125"></a><span class="lineno"> 1125</span> <span class="comment">// Now close ledgers until the amendments show up.</span></div>
|
||||
<div class="line"><a id="l01126" name="l01126"></a><span class="lineno"> 1126</span> <span class="keywordtype">int</span> i = 0;</div>
|
||||
<div class="line"><a id="l01127" name="l01127"></a><span class="lineno"> 1127</span> <span class="keywordflow">for</span> (i = 0; i <= 256; ++i)</div>
|
||||
<div class="line"><a id="l01128" name="l01128"></a><span class="lineno"> 1128</span> {</div>
|
||||
<div class="line"><a id="l01129" name="l01129"></a><span class="lineno"> 1129</span> env.close();</div>
|
||||
<div class="line"><a id="l01130" name="l01130"></a><span class="lineno"> 1130</span> majorities = <a class="code hl_function" href="namespaceripple.html#ab6b00b336996c0b0a3fe2e8a8d5fa76a">getMajorityAmendments</a>(*env.closed());</div>
|
||||
<div class="line"><a id="l01131" name="l01131"></a><span class="lineno"> 1131</span> <span class="keywordflow">if</span> (!majorities.empty())</div>
|
||||
<div class="line"><a id="l01132" name="l01132"></a><span class="lineno"> 1132</span> <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a id="l01133" name="l01133"></a><span class="lineno"> 1133</span> }</div>
|
||||
<div class="line"><a id="l01134" name="l01134"></a><span class="lineno"> 1134</span> </div>
|
||||
<div class="line"><a id="l01135" name="l01135"></a><span class="lineno"> 1135</span> <span class="comment">// There should be at least 5 amendments. Don't do exact comparison</span></div>
|
||||
<div class="line"><a id="l01136" name="l01136"></a><span class="lineno"> 1136</span> <span class="comment">// to avoid maintenance as more amendments are added in the future.</span></div>
|
||||
<div class="line"><a id="l01137" name="l01137"></a><span class="lineno"> 1137</span> BEAST_EXPECT(i == 254);</div>
|
||||
<div class="line"><a id="l01138" name="l01138"></a><span class="lineno"> 1138</span> BEAST_EXPECT(majorities.size() >= 5);</div>
|
||||
<div class="line"><a id="l01139" name="l01139"></a><span class="lineno"> 1139</span> </div>
|
||||
<div class="line"><a id="l01140" name="l01140"></a><span class="lineno"> 1140</span> <span class="comment">// None of the amendments should be enabled yet.</span></div>
|
||||
<div class="line"><a id="l01141" name="l01141"></a><span class="lineno"> 1141</span> <span class="keyword">auto</span> enableds = <a class="code hl_function" href="namespaceripple.html#a6f8b0cab74710c17299c1d37f3e05b48">getEnabledAmendments</a>(*env.closed());</div>
|
||||
<div class="line"><a id="l01142" name="l01142"></a><span class="lineno"> 1142</span> BEAST_EXPECT(enableds.empty());</div>
|
||||
<div class="line"><a id="l01143" name="l01143"></a><span class="lineno"> 1143</span> </div>
|
||||
<div class="line"><a id="l01144" name="l01144"></a><span class="lineno"> 1144</span> <span class="comment">// Now wait 2 weeks modulo 256 ledgers for the amendments to be</span></div>
|
||||
<div class="line"><a id="l01145" name="l01145"></a><span class="lineno"> 1145</span> <span class="comment">// enabled. Speed the process by closing ledgers every 80 minutes,</span></div>
|
||||
<div class="line"><a id="l01146" name="l01146"></a><span class="lineno"> 1146</span> <span class="comment">// which should get us to just past 2 weeks after 256 ledgers.</span></div>
|
||||
<div class="line"><a id="l01147" name="l01147"></a><span class="lineno"> 1147</span> <span class="keywordflow">for</span> (i = 0; i <= 256; ++i)</div>
|
||||
<div class="line"><a id="l01148" name="l01148"></a><span class="lineno"> 1148</span> {</div>
|
||||
<div class="line"><a id="l01149" name="l01149"></a><span class="lineno"> 1149</span> <span class="keyword">using namespace </span>std::chrono_literals;</div>
|
||||
<div class="line"><a id="l01150" name="l01150"></a><span class="lineno"> 1150</span> env.close(80min);</div>
|
||||
<div class="line"><a id="l01151" name="l01151"></a><span class="lineno"> 1151</span> enableds = <a class="code hl_function" href="namespaceripple.html#a6f8b0cab74710c17299c1d37f3e05b48">getEnabledAmendments</a>(*env.closed());</div>
|
||||
<div class="line"><a id="l01152" name="l01152"></a><span class="lineno"> 1152</span> <span class="keywordflow">if</span> (!enableds.empty())</div>
|
||||
<div class="line"><a id="l01153" name="l01153"></a><span class="lineno"> 1153</span> <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a id="l01154" name="l01154"></a><span class="lineno"> 1154</span> }</div>
|
||||
<div class="line"><a id="l01155" name="l01155"></a><span class="lineno"> 1155</span> BEAST_EXPECT(i == 255);</div>
|
||||
<div class="line"><a id="l01156" name="l01156"></a><span class="lineno"> 1156</span> BEAST_EXPECT(enableds.size() >= 5);</div>
|
||||
<div class="line"><a id="l01157" name="l01157"></a><span class="lineno"> 1157</span> }</div>
|
||||
<div class="line"><a id="l01158" name="l01158"></a><span class="lineno"> 1158</span> </div>
|
||||
<div class="line"><a id="l01159" name="l01159"></a><span class="lineno"> 1159</span> <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a id="l01160" name="l01160"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1GetAmendments__test.html#aad102a9976dc4ac9f7b2c3d75c6c343a"> 1160</a></span> <a class="code hl_function" href="classripple_1_1test_1_1GetAmendments__test.html#aad102a9976dc4ac9f7b2c3d75c6c343a">run</a>()<span class="keyword"> override</span></div>
|
||||
<div class="line"><a id="l01161" name="l01161"></a><span class="lineno"> 1161</span><span class="keyword"> </span>{</div>
|
||||
<div class="line"><a id="l01162" name="l01162"></a><span class="lineno"> 1162</span> <a class="code hl_function" href="classripple_1_1test_1_1GetAmendments__test.html#a07fe3d47cbade85144ebe7f90bf2dad1">testGetAmendments</a>();</div>
|
||||
<div class="line"><a id="l01163" name="l01163"></a><span class="lineno"> 1163</span> }</div>
|
||||
<div class="line"><a id="l01164" name="l01164"></a><span class="lineno"> 1164</span>};</div>
|
||||
<div class="line"><a id="l01165" name="l01165"></a><span class="lineno"> 1165</span> </div>
|
||||
<div class="line"><a id="l01166" name="l01166"></a><span class="lineno"><a class="line" href="namespaceripple_1_1test.html#a906b102cc2c93800f28861323a783854"> 1166</a></span>BEAST_DEFINE_TESTSUITE(View, ledger, <a class="code hl_namespace" href="namespaceripple.html">ripple</a>);</div>
|
||||
<div class="line"><a id="l01167" name="l01167"></a><span class="lineno"><a class="line" href="namespaceripple_1_1test.html#a1bba843ee138f1243a7f688ce8e91ca2"> 1167</a></span>BEAST_DEFINE_TESTSUITE(GetAmendments, ledger, <a class="code hl_namespace" href="namespaceripple.html">ripple</a>);</div>
|
||||
<div class="line"><a id="l01168" name="l01168"></a><span class="lineno"> 1168</span> </div>
|
||||
<div class="line"><a id="l01169" name="l01169"></a><span class="lineno"> 1169</span>} <span class="comment">// namespace test</span></div>
|
||||
<div class="line"><a id="l01170" name="l01170"></a><span class="lineno"> 1170</span>} <span class="comment">// namespace ripple</span></div>
|
||||
<div class="line"><a id="l00818" name="l00818"></a><span class="lineno"> 818</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="l00819" name="l00819"></a><span class="lineno"> 819</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a90fecf3c0f6cdc1c40761e19917bf65a">trust</a>(USD(100), alice, bob, carol);</div>
|
||||
<div class="line"><a id="l00820" name="l00820"></a><span class="lineno"> 820</span> {</div>
|
||||
<div class="line"><a id="l00821" name="l00821"></a><span class="lineno"> 821</span> <span class="comment">// Global freezing.</span></div>
|
||||
<div class="line"><a id="l00822" name="l00822"></a><span class="lineno"> 822</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a66b99468a4160bccaa9959a444b40d40">pay</a>(gw, alice, USD(50)));</div>
|
||||
<div class="line"><a id="l00823" name="l00823"></a><span class="lineno"> 823</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#ac423e2aa3fd7a14ae651849b430994f1">offer</a>(alice, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(5), USD(5)));</div>
|
||||
<div class="line"><a id="l00824" name="l00824"></a><span class="lineno"> 824</span> </div>
|
||||
<div class="line"><a id="l00825" name="l00825"></a><span class="lineno"> 825</span> <span class="comment">// Now freeze gw.</span></div>
|
||||
<div class="line"><a id="l00826" name="l00826"></a><span class="lineno"> 826</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a50cacef3867fc01273aa9c29231f9a7c">fset</a>(gw, <a class="code hl_variable" href="namespaceripple.html#a0ce63352f37481632452056bb649eb58">asfGlobalFreeze</a>));</div>
|
||||
<div class="line"><a id="l00827" name="l00827"></a><span class="lineno"> 827</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="l00828" name="l00828"></a><span class="lineno"> 828</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#ac423e2aa3fd7a14ae651849b430994f1">offer</a>(alice, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(4), USD(5)), <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1ter.html">ter</a>(<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca608da193a4a22ae1c78d76b6e843b7e6">tecFROZEN</a>));</div>
|
||||
<div class="line"><a id="l00829" name="l00829"></a><span class="lineno"> 829</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="l00830" name="l00830"></a><span class="lineno"> 830</span> </div>
|
||||
<div class="line"><a id="l00831" name="l00831"></a><span class="lineno"> 831</span> <span class="comment">// Alice's USD balance should be zero if frozen.</span></div>
|
||||
<div class="line"><a id="l00832" name="l00832"></a><span class="lineno"> 832</span> BEAST_EXPECT(</div>
|
||||
<div class="line"><a id="l00833" name="l00833"></a><span class="lineno"> 833</span> USD(0) ==</div>
|
||||
<div class="line"><a id="l00834" name="l00834"></a><span class="lineno"> 834</span> <a class="code hl_function" href="namespaceripple.html#ab001e43f50e612727b1ce5985a2770d6">accountHolds</a>(</div>
|
||||
<div class="line"><a id="l00835" name="l00835"></a><span class="lineno"> 835</span> *env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a14cbba5f53c931d433ce2e403bf692f4">closed</a>(),</div>
|
||||
<div class="line"><a id="l00836" name="l00836"></a><span class="lineno"> 836</span> alice,</div>
|
||||
<div class="line"><a id="l00837" name="l00837"></a><span class="lineno"> 837</span> USD.currency,</div>
|
||||
<div class="line"><a id="l00838" name="l00838"></a><span class="lineno"> 838</span> gw,</div>
|
||||
<div class="line"><a id="l00839" name="l00839"></a><span class="lineno"> 839</span> <a class="code hl_enumvalue" href="namespaceripple.html#a17a9a9b903b66e49f5413d82ce79f085a852cabbbe21a9b4d63aff777eceab2fd">fhZERO_IF_FROZEN</a>,</div>
|
||||
<div class="line"><a id="l00840" name="l00840"></a><span class="lineno"> 840</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="l00841" name="l00841"></a><span class="lineno"> 841</span> </div>
|
||||
<div class="line"><a id="l00842" name="l00842"></a><span class="lineno"> 842</span> <span class="comment">// Thaw gw and try again.</span></div>
|
||||
<div class="line"><a id="l00843" name="l00843"></a><span class="lineno"> 843</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a18cde110bb3ad7dce97ac11a4b251d0e">fclear</a>(gw, <a class="code hl_variable" href="namespaceripple.html#a0ce63352f37481632452056bb649eb58">asfGlobalFreeze</a>));</div>
|
||||
<div class="line"><a id="l00844" name="l00844"></a><span class="lineno"> 844</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="l00845" name="l00845"></a><span class="lineno"> 845</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#ac423e2aa3fd7a14ae651849b430994f1">offer</a>(<span class="stringliteral">"alice"</span>, <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(4), USD(5)));</div>
|
||||
<div class="line"><a id="l00846" name="l00846"></a><span class="lineno"> 846</span> }</div>
|
||||
<div class="line"><a id="l00847" name="l00847"></a><span class="lineno"> 847</span> {</div>
|
||||
<div class="line"><a id="l00848" name="l00848"></a><span class="lineno"> 848</span> <span class="comment">// Local freezing.</span></div>
|
||||
<div class="line"><a id="l00849" name="l00849"></a><span class="lineno"> 849</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a66b99468a4160bccaa9959a444b40d40">pay</a>(gw, bob, USD(50)));</div>
|
||||
<div class="line"><a id="l00850" name="l00850"></a><span class="lineno"> 850</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="l00851" name="l00851"></a><span class="lineno"> 851</span> </div>
|
||||
<div class="line"><a id="l00852" name="l00852"></a><span class="lineno"> 852</span> <span class="comment">// Now gw freezes bob's USD trust line.</span></div>
|
||||
<div class="line"><a id="l00853" name="l00853"></a><span class="lineno"> 853</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a47cac3a8bfbc8c14ae8da735ec52ebbf">trust</a>(gw, USD(100), bob, <a class="code hl_variable" href="namespaceripple.html#ae34d881cd8926ab3505340a51f91fd8b">tfSetFreeze</a>));</div>
|
||||
<div class="line"><a id="l00854" name="l00854"></a><span class="lineno"> 854</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="l00855" name="l00855"></a><span class="lineno"> 855</span> </div>
|
||||
<div class="line"><a id="l00856" name="l00856"></a><span class="lineno"> 856</span> <span class="comment">// Bob's balance should be zero if frozen.</span></div>
|
||||
<div class="line"><a id="l00857" name="l00857"></a><span class="lineno"> 857</span> BEAST_EXPECT(</div>
|
||||
<div class="line"><a id="l00858" name="l00858"></a><span class="lineno"> 858</span> USD(0) ==</div>
|
||||
<div class="line"><a id="l00859" name="l00859"></a><span class="lineno"> 859</span> <a class="code hl_function" href="namespaceripple.html#ab001e43f50e612727b1ce5985a2770d6">accountHolds</a>(</div>
|
||||
<div class="line"><a id="l00860" name="l00860"></a><span class="lineno"> 860</span> *env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a14cbba5f53c931d433ce2e403bf692f4">closed</a>(),</div>
|
||||
<div class="line"><a id="l00861" name="l00861"></a><span class="lineno"> 861</span> bob,</div>
|
||||
<div class="line"><a id="l00862" name="l00862"></a><span class="lineno"> 862</span> USD.currency,</div>
|
||||
<div class="line"><a id="l00863" name="l00863"></a><span class="lineno"> 863</span> gw,</div>
|
||||
<div class="line"><a id="l00864" name="l00864"></a><span class="lineno"> 864</span> <a class="code hl_enumvalue" href="namespaceripple.html#a17a9a9b903b66e49f5413d82ce79f085a852cabbbe21a9b4d63aff777eceab2fd">fhZERO_IF_FROZEN</a>,</div>
|
||||
<div class="line"><a id="l00865" name="l00865"></a><span class="lineno"> 865</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="l00866" name="l00866"></a><span class="lineno"> 866</span> </div>
|
||||
<div class="line"><a id="l00867" name="l00867"></a><span class="lineno"> 867</span> <span class="comment">// gw thaws bob's trust line. bob gets his money back.</span></div>
|
||||
<div class="line"><a id="l00868" name="l00868"></a><span class="lineno"> 868</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a47cac3a8bfbc8c14ae8da735ec52ebbf">trust</a>(gw, USD(100), bob, <a class="code hl_variable" href="namespaceripple.html#a98f09aa7b518e640710f4362145dd444">tfClearFreeze</a>));</div>
|
||||
<div class="line"><a id="l00869" name="l00869"></a><span class="lineno"> 869</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="l00870" name="l00870"></a><span class="lineno"> 870</span> BEAST_EXPECT(</div>
|
||||
<div class="line"><a id="l00871" name="l00871"></a><span class="lineno"> 871</span> USD(50) ==</div>
|
||||
<div class="line"><a id="l00872" name="l00872"></a><span class="lineno"> 872</span> <a class="code hl_function" href="namespaceripple.html#ab001e43f50e612727b1ce5985a2770d6">accountHolds</a>(</div>
|
||||
<div class="line"><a id="l00873" name="l00873"></a><span class="lineno"> 873</span> *env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a14cbba5f53c931d433ce2e403bf692f4">closed</a>(),</div>
|
||||
<div class="line"><a id="l00874" name="l00874"></a><span class="lineno"> 874</span> bob,</div>
|
||||
<div class="line"><a id="l00875" name="l00875"></a><span class="lineno"> 875</span> USD.currency,</div>
|
||||
<div class="line"><a id="l00876" name="l00876"></a><span class="lineno"> 876</span> gw,</div>
|
||||
<div class="line"><a id="l00877" name="l00877"></a><span class="lineno"> 877</span> <a class="code hl_enumvalue" href="namespaceripple.html#a17a9a9b903b66e49f5413d82ce79f085a852cabbbe21a9b4d63aff777eceab2fd">fhZERO_IF_FROZEN</a>,</div>
|
||||
<div class="line"><a id="l00878" name="l00878"></a><span class="lineno"> 878</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="l00879" name="l00879"></a><span class="lineno"> 879</span> }</div>
|
||||
<div class="line"><a id="l00880" name="l00880"></a><span class="lineno"> 880</span> {</div>
|
||||
<div class="line"><a id="l00881" name="l00881"></a><span class="lineno"> 881</span> <span class="comment">// accountHolds().</span></div>
|
||||
<div class="line"><a id="l00882" name="l00882"></a><span class="lineno"> 882</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a66b99468a4160bccaa9959a444b40d40">pay</a>(gw, carol, USD(50)));</div>
|
||||
<div class="line"><a id="l00883" name="l00883"></a><span class="lineno"> 883</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="l00884" name="l00884"></a><span class="lineno"> 884</span> </div>
|
||||
<div class="line"><a id="l00885" name="l00885"></a><span class="lineno"> 885</span> <span class="comment">// carol has no EUR.</span></div>
|
||||
<div class="line"><a id="l00886" name="l00886"></a><span class="lineno"> 886</span> BEAST_EXPECT(</div>
|
||||
<div class="line"><a id="l00887" name="l00887"></a><span class="lineno"> 887</span> EUR(0) ==</div>
|
||||
<div class="line"><a id="l00888" name="l00888"></a><span class="lineno"> 888</span> <a class="code hl_function" href="namespaceripple.html#ab001e43f50e612727b1ce5985a2770d6">accountHolds</a>(</div>
|
||||
<div class="line"><a id="l00889" name="l00889"></a><span class="lineno"> 889</span> *env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a14cbba5f53c931d433ce2e403bf692f4">closed</a>(),</div>
|
||||
<div class="line"><a id="l00890" name="l00890"></a><span class="lineno"> 890</span> carol,</div>
|
||||
<div class="line"><a id="l00891" name="l00891"></a><span class="lineno"> 891</span> EUR.currency,</div>
|
||||
<div class="line"><a id="l00892" name="l00892"></a><span class="lineno"> 892</span> gw,</div>
|
||||
<div class="line"><a id="l00893" name="l00893"></a><span class="lineno"> 893</span> <a class="code hl_enumvalue" href="namespaceripple.html#a17a9a9b903b66e49f5413d82ce79f085a852cabbbe21a9b4d63aff777eceab2fd">fhZERO_IF_FROZEN</a>,</div>
|
||||
<div class="line"><a id="l00894" name="l00894"></a><span class="lineno"> 894</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="l00895" name="l00895"></a><span class="lineno"> 895</span> </div>
|
||||
<div class="line"><a id="l00896" name="l00896"></a><span class="lineno"> 896</span> <span class="comment">// But carol does have USD.</span></div>
|
||||
<div class="line"><a id="l00897" name="l00897"></a><span class="lineno"> 897</span> BEAST_EXPECT(</div>
|
||||
<div class="line"><a id="l00898" name="l00898"></a><span class="lineno"> 898</span> USD(50) ==</div>
|
||||
<div class="line"><a id="l00899" name="l00899"></a><span class="lineno"> 899</span> <a class="code hl_function" href="namespaceripple.html#ab001e43f50e612727b1ce5985a2770d6">accountHolds</a>(</div>
|
||||
<div class="line"><a id="l00900" name="l00900"></a><span class="lineno"> 900</span> *env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a14cbba5f53c931d433ce2e403bf692f4">closed</a>(),</div>
|
||||
<div class="line"><a id="l00901" name="l00901"></a><span class="lineno"> 901</span> carol,</div>
|
||||
<div class="line"><a id="l00902" name="l00902"></a><span class="lineno"> 902</span> USD.currency,</div>
|
||||
<div class="line"><a id="l00903" name="l00903"></a><span class="lineno"> 903</span> gw,</div>
|
||||
<div class="line"><a id="l00904" name="l00904"></a><span class="lineno"> 904</span> <a class="code hl_enumvalue" href="namespaceripple.html#a17a9a9b903b66e49f5413d82ce79f085a852cabbbe21a9b4d63aff777eceab2fd">fhZERO_IF_FROZEN</a>,</div>
|
||||
<div class="line"><a id="l00905" name="l00905"></a><span class="lineno"> 905</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="l00906" name="l00906"></a><span class="lineno"> 906</span> </div>
|
||||
<div class="line"><a id="l00907" name="l00907"></a><span class="lineno"> 907</span> <span class="comment">// carol's XRP balance should be her holdings minus her reserve.</span></div>
|
||||
<div class="line"><a id="l00908" name="l00908"></a><span class="lineno"> 908</span> <span class="keyword">auto</span> <span class="keyword">const</span> carolsXRP = <a class="code hl_function" href="namespaceripple.html#ab001e43f50e612727b1ce5985a2770d6">accountHolds</a>(</div>
|
||||
<div class="line"><a id="l00909" name="l00909"></a><span class="lineno"> 909</span> *env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a14cbba5f53c931d433ce2e403bf692f4">closed</a>(),</div>
|
||||
<div class="line"><a id="l00910" name="l00910"></a><span class="lineno"> 910</span> carol,</div>
|
||||
<div class="line"><a id="l00911" name="l00911"></a><span class="lineno"> 911</span> <a class="code hl_function" href="namespaceripple.html#a91af9326e7f471001066b6b59f24599c">xrpCurrency</a>(),</div>
|
||||
<div class="line"><a id="l00912" name="l00912"></a><span class="lineno"> 912</span> <a class="code hl_function" href="namespaceripple.html#a21696ba0d0fac348f88f1b9da51091b0">xrpAccount</a>(),</div>
|
||||
<div class="line"><a id="l00913" name="l00913"></a><span class="lineno"> 913</span> <a class="code hl_enumvalue" href="namespaceripple.html#a17a9a9b903b66e49f5413d82ce79f085a852cabbbe21a9b4d63aff777eceab2fd">fhZERO_IF_FROZEN</a>,</div>
|
||||
<div class="line"><a id="l00914" name="l00914"></a><span class="lineno"> 914</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="l00915" name="l00915"></a><span class="lineno"> 915</span> <span class="comment">// carol's XRP balance: 10000</span></div>
|
||||
<div class="line"><a id="l00916" name="l00916"></a><span class="lineno"> 916</span> <span class="comment">// base reserve: -200</span></div>
|
||||
<div class="line"><a id="l00917" name="l00917"></a><span class="lineno"> 917</span> <span class="comment">// 1 trust line times its reserve: 1 * -50</span></div>
|
||||
<div class="line"><a id="l00918" name="l00918"></a><span class="lineno"> 918</span> <span class="comment">// -------</span></div>
|
||||
<div class="line"><a id="l00919" name="l00919"></a><span class="lineno"> 919</span> <span class="comment">// carol's available balance: 9750</span></div>
|
||||
<div class="line"><a id="l00920" name="l00920"></a><span class="lineno"> 920</span> BEAST_EXPECT(carolsXRP == <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(9750));</div>
|
||||
<div class="line"><a id="l00921" name="l00921"></a><span class="lineno"> 921</span> </div>
|
||||
<div class="line"><a id="l00922" name="l00922"></a><span class="lineno"> 922</span> <span class="comment">// carol should be able to spend *more* than her XRP balance on</span></div>
|
||||
<div class="line"><a id="l00923" name="l00923"></a><span class="lineno"> 923</span> <span class="comment">// a fee by eating into her reserve.</span></div>
|
||||
<div class="line"><a id="l00924" name="l00924"></a><span class="lineno"> 924</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a95abf901db0a698e0c97d00476c95f34">noop</a>(carol), <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1fee.html">fee</a>(carolsXRP + <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10)));</div>
|
||||
<div class="line"><a id="l00925" name="l00925"></a><span class="lineno"> 925</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="l00926" name="l00926"></a><span class="lineno"> 926</span> </div>
|
||||
<div class="line"><a id="l00927" name="l00927"></a><span class="lineno"> 927</span> <span class="comment">// carol's XRP balance should now show as zero.</span></div>
|
||||
<div class="line"><a id="l00928" name="l00928"></a><span class="lineno"> 928</span> BEAST_EXPECT(</div>
|
||||
<div class="line"><a id="l00929" name="l00929"></a><span class="lineno"> 929</span> <a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(0) ==</div>
|
||||
<div class="line"><a id="l00930" name="l00930"></a><span class="lineno"> 930</span> <a class="code hl_function" href="namespaceripple.html#ab001e43f50e612727b1ce5985a2770d6">accountHolds</a>(</div>
|
||||
<div class="line"><a id="l00931" name="l00931"></a><span class="lineno"> 931</span> *env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a14cbba5f53c931d433ce2e403bf692f4">closed</a>(),</div>
|
||||
<div class="line"><a id="l00932" name="l00932"></a><span class="lineno"> 932</span> carol,</div>
|
||||
<div class="line"><a id="l00933" name="l00933"></a><span class="lineno"> 933</span> <a class="code hl_function" href="namespaceripple.html#a91af9326e7f471001066b6b59f24599c">xrpCurrency</a>(),</div>
|
||||
<div class="line"><a id="l00934" name="l00934"></a><span class="lineno"> 934</span> gw,</div>
|
||||
<div class="line"><a id="l00935" name="l00935"></a><span class="lineno"> 935</span> <a class="code hl_enumvalue" href="namespaceripple.html#a17a9a9b903b66e49f5413d82ce79f085a852cabbbe21a9b4d63aff777eceab2fd">fhZERO_IF_FROZEN</a>,</div>
|
||||
<div class="line"><a id="l00936" name="l00936"></a><span class="lineno"> 936</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="l00937" name="l00937"></a><span class="lineno"> 937</span> }</div>
|
||||
<div class="line"><a id="l00938" name="l00938"></a><span class="lineno"> 938</span> {</div>
|
||||
<div class="line"><a id="l00939" name="l00939"></a><span class="lineno"> 939</span> <span class="comment">// accountFunds().</span></div>
|
||||
<div class="line"><a id="l00940" name="l00940"></a><span class="lineno"> 940</span> <span class="comment">// Gateways have whatever funds they claim to have.</span></div>
|
||||
<div class="line"><a id="l00941" name="l00941"></a><span class="lineno"> 941</span> <span class="keyword">auto</span> <span class="keyword">const</span> gwUSD = <a class="code hl_function" href="namespaceripple.html#a15bb971c7e554fc3df218aba54c33fcc">accountFunds</a>(</div>
|
||||
<div class="line"><a id="l00942" name="l00942"></a><span class="lineno"> 942</span> *env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a14cbba5f53c931d433ce2e403bf692f4">closed</a>(), gw, USD(314159), <a class="code hl_enumvalue" href="namespaceripple.html#a17a9a9b903b66e49f5413d82ce79f085a852cabbbe21a9b4d63aff777eceab2fd">fhZERO_IF_FROZEN</a>, env.<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1Env.html#acfdfa1e283de8fb2dad0216cd1711307">journal</a>);</div>
|
||||
<div class="line"><a id="l00943" name="l00943"></a><span class="lineno"> 943</span> BEAST_EXPECT(gwUSD == USD(314159));</div>
|
||||
<div class="line"><a id="l00944" name="l00944"></a><span class="lineno"> 944</span> </div>
|
||||
<div class="line"><a id="l00945" name="l00945"></a><span class="lineno"> 945</span> <span class="comment">// carol has funds from the gateway.</span></div>
|
||||
<div class="line"><a id="l00946" name="l00946"></a><span class="lineno"> 946</span> <span class="keyword">auto</span> carolsUSD = <a class="code hl_function" href="namespaceripple.html#a15bb971c7e554fc3df218aba54c33fcc">accountFunds</a>(</div>
|
||||
<div class="line"><a id="l00947" name="l00947"></a><span class="lineno"> 947</span> *env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a14cbba5f53c931d433ce2e403bf692f4">closed</a>(), carol, USD(0), <a class="code hl_enumvalue" href="namespaceripple.html#a17a9a9b903b66e49f5413d82ce79f085a852cabbbe21a9b4d63aff777eceab2fd">fhZERO_IF_FROZEN</a>, env.<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1Env.html#acfdfa1e283de8fb2dad0216cd1711307">journal</a>);</div>
|
||||
<div class="line"><a id="l00948" name="l00948"></a><span class="lineno"> 948</span> BEAST_EXPECT(carolsUSD == USD(50));</div>
|
||||
<div class="line"><a id="l00949" name="l00949"></a><span class="lineno"> 949</span> </div>
|
||||
<div class="line"><a id="l00950" name="l00950"></a><span class="lineno"> 950</span> <span class="comment">// If carol's funds are frozen she has no funds...</span></div>
|
||||
<div class="line"><a id="l00951" name="l00951"></a><span class="lineno"> 951</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a50cacef3867fc01273aa9c29231f9a7c">fset</a>(gw, <a class="code hl_variable" href="namespaceripple.html#a0ce63352f37481632452056bb649eb58">asfGlobalFreeze</a>));</div>
|
||||
<div class="line"><a id="l00952" name="l00952"></a><span class="lineno"> 952</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="l00953" name="l00953"></a><span class="lineno"> 953</span> carolsUSD = <a class="code hl_function" href="namespaceripple.html#a15bb971c7e554fc3df218aba54c33fcc">accountFunds</a>(</div>
|
||||
<div class="line"><a id="l00954" name="l00954"></a><span class="lineno"> 954</span> *env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a14cbba5f53c931d433ce2e403bf692f4">closed</a>(), carol, USD(0), <a class="code hl_enumvalue" href="namespaceripple.html#a17a9a9b903b66e49f5413d82ce79f085a852cabbbe21a9b4d63aff777eceab2fd">fhZERO_IF_FROZEN</a>, env.<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1Env.html#acfdfa1e283de8fb2dad0216cd1711307">journal</a>);</div>
|
||||
<div class="line"><a id="l00955" name="l00955"></a><span class="lineno"> 955</span> BEAST_EXPECT(carolsUSD == USD(0));</div>
|
||||
<div class="line"><a id="l00956" name="l00956"></a><span class="lineno"> 956</span> </div>
|
||||
<div class="line"><a id="l00957" name="l00957"></a><span class="lineno"> 957</span> <span class="comment">// ... unless the query ignores the FROZEN state.</span></div>
|
||||
<div class="line"><a id="l00958" name="l00958"></a><span class="lineno"> 958</span> carolsUSD = <a class="code hl_function" href="namespaceripple.html#a15bb971c7e554fc3df218aba54c33fcc">accountFunds</a>(</div>
|
||||
<div class="line"><a id="l00959" name="l00959"></a><span class="lineno"> 959</span> *env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a14cbba5f53c931d433ce2e403bf692f4">closed</a>(), carol, USD(0), <a class="code hl_enumvalue" href="namespaceripple.html#a17a9a9b903b66e49f5413d82ce79f085a91e3c4f8089025c7ecf66dd62b822d90">fhIGNORE_FREEZE</a>, env.<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1Env.html#acfdfa1e283de8fb2dad0216cd1711307">journal</a>);</div>
|
||||
<div class="line"><a id="l00960" name="l00960"></a><span class="lineno"> 960</span> BEAST_EXPECT(carolsUSD == USD(50));</div>
|
||||
<div class="line"><a id="l00961" name="l00961"></a><span class="lineno"> 961</span> </div>
|
||||
<div class="line"><a id="l00962" name="l00962"></a><span class="lineno"> 962</span> <span class="comment">// Just to be tidy, thaw gw.</span></div>
|
||||
<div class="line"><a id="l00963" name="l00963"></a><span class="lineno"> 963</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a18cde110bb3ad7dce97ac11a4b251d0e">fclear</a>(gw, <a class="code hl_variable" href="namespaceripple.html#a0ce63352f37481632452056bb649eb58">asfGlobalFreeze</a>));</div>
|
||||
<div class="line"><a id="l00964" name="l00964"></a><span class="lineno"> 964</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="l00965" name="l00965"></a><span class="lineno"> 965</span> }</div>
|
||||
<div class="line"><a id="l00966" name="l00966"></a><span class="lineno"> 966</span> }</div>
|
||||
<div class="line"><a id="l00967" name="l00967"></a><span class="lineno"> 967</span> </div>
|
||||
<div class="line"><a id="l00968" name="l00968"></a><span class="lineno"> 968</span> <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a id="l00969" name="l00969"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1View__test.html#af204bf82ad2d34c59e85af6b87b22434"> 969</a></span> <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#af204bf82ad2d34c59e85af6b87b22434">testTransferRate</a>()</div>
|
||||
<div class="line"><a id="l00970" name="l00970"></a><span class="lineno"> 970</span> {</div>
|
||||
<div class="line"><a id="l00971" name="l00971"></a><span class="lineno"> 971</span> <a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">testcase</a>(<span class="stringliteral">"Transfer rate"</span>);</div>
|
||||
<div class="line"><a id="l00972" name="l00972"></a><span class="lineno"> 972</span> </div>
|
||||
<div class="line"><a id="l00973" name="l00973"></a><span class="lineno"> 973</span> <span class="keyword">using namespace </span>jtx;</div>
|
||||
<div class="line"><a id="l00974" name="l00974"></a><span class="lineno"> 974</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env(*<span class="keyword">this</span>);</div>
|
||||
<div class="line"><a id="l00975" name="l00975"></a><span class="lineno"> 975</span> </div>
|
||||
<div class="line"><a id="l00976" name="l00976"></a><span class="lineno"> 976</span> <span class="keyword">auto</span> <span class="keyword">const</span> gw1 = <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Account.html">Account</a>(<span class="stringliteral">"gw1"</span>);</div>
|
||||
<div class="line"><a id="l00977" name="l00977"></a><span class="lineno"> 977</span> </div>
|
||||
<div class="line"><a id="l00978" name="l00978"></a><span class="lineno"> 978</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>(10000), gw1);</div>
|
||||
<div class="line"><a id="l00979" name="l00979"></a><span class="lineno"> 979</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="l00980" name="l00980"></a><span class="lineno"> 980</span> </div>
|
||||
<div class="line"><a id="l00981" name="l00981"></a><span class="lineno"> 981</span> <span class="keyword">auto</span> rdView = env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a14cbba5f53c931d433ce2e403bf692f4">closed</a>();</div>
|
||||
<div class="line"><a id="l00982" name="l00982"></a><span class="lineno"> 982</span> <span class="comment">// Test with no rate set on gw1.</span></div>
|
||||
<div class="line"><a id="l00983" name="l00983"></a><span class="lineno"> 983</span> BEAST_EXPECT(<a class="code hl_function" href="namespaceripple.html#a40a2f551909e4b709699f6d41292d374">transferRate</a>(*rdView, gw1) == <a class="code hl_variable" href="namespaceripple.html#afbcd0117839fb629a769c600a741f452">parityRate</a>);</div>
|
||||
<div class="line"><a id="l00984" name="l00984"></a><span class="lineno"> 984</span> </div>
|
||||
<div class="line"><a id="l00985" name="l00985"></a><span class="lineno"> 985</span> env(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a8e8d814b8820ce0b6979abde0d6a2618">rate</a>(gw1, 1.02));</div>
|
||||
<div class="line"><a id="l00986" name="l00986"></a><span class="lineno"> 986</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="l00987" name="l00987"></a><span class="lineno"> 987</span> </div>
|
||||
<div class="line"><a id="l00988" name="l00988"></a><span class="lineno"> 988</span> rdView = env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a14cbba5f53c931d433ce2e403bf692f4">closed</a>();</div>
|
||||
<div class="line"><a id="l00989" name="l00989"></a><span class="lineno"> 989</span> BEAST_EXPECT(<a class="code hl_function" href="namespaceripple.html#a40a2f551909e4b709699f6d41292d374">transferRate</a>(*rdView, gw1) == <a class="code hl_struct" href="structripple_1_1Rate.html">Rate</a>{1020000000});</div>
|
||||
<div class="line"><a id="l00990" name="l00990"></a><span class="lineno"> 990</span> }</div>
|
||||
<div class="line"><a id="l00991" name="l00991"></a><span class="lineno"> 991</span> </div>
|
||||
<div class="line"><a id="l00992" name="l00992"></a><span class="lineno"> 992</span> <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a id="l00993" name="l00993"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1View__test.html#a212be5fd7a3dbc45131d1d3bdc4b307a"> 993</a></span> <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#a212be5fd7a3dbc45131d1d3bdc4b307a">testAreCompatible</a>()</div>
|
||||
<div class="line"><a id="l00994" name="l00994"></a><span class="lineno"> 994</span> {</div>
|
||||
<div class="line"><a id="l00995" name="l00995"></a><span class="lineno"> 995</span> <span class="comment">// This test requires incompatible ledgers. The good news we can</span></div>
|
||||
<div class="line"><a id="l00996" name="l00996"></a><span class="lineno"> 996</span> <span class="comment">// construct and manage two different Env instances at the same</span></div>
|
||||
<div class="line"><a id="l00997" name="l00997"></a><span class="lineno"> 997</span> <span class="comment">// time. So we can use two Env instances to produce mutually</span></div>
|
||||
<div class="line"><a id="l00998" name="l00998"></a><span class="lineno"> 998</span> <span class="comment">// incompatible ledgers.</span></div>
|
||||
<div class="line"><a id="l00999" name="l00999"></a><span class="lineno"> 999</span> <a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">testcase</a>(<span class="stringliteral">"Are compatible"</span>);</div>
|
||||
<div class="line"><a id="l01000" name="l01000"></a><span class="lineno"> 1000</span> </div>
|
||||
<div class="line"><a id="l01001" name="l01001"></a><span class="lineno"> 1001</span> <span class="keyword">using namespace </span>jtx;</div>
|
||||
<div class="line"><a id="l01002" name="l01002"></a><span class="lineno"> 1002</span> <span class="keyword">auto</span> <span class="keyword">const</span> alice = <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Account.html">Account</a>(<span class="stringliteral">"alice"</span>);</div>
|
||||
<div class="line"><a id="l01003" name="l01003"></a><span class="lineno"> 1003</span> <span class="keyword">auto</span> <span class="keyword">const</span> bob = <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Account.html">Account</a>(<span class="stringliteral">"bob"</span>);</div>
|
||||
<div class="line"><a id="l01004" name="l01004"></a><span class="lineno"> 1004</span> </div>
|
||||
<div class="line"><a id="l01005" name="l01005"></a><span class="lineno"> 1005</span> <span class="comment">// The first Env.</span></div>
|
||||
<div class="line"><a id="l01006" name="l01006"></a><span class="lineno"> 1006</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> eA(*<span class="keyword">this</span>, <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a7a4caa0465c555c5c59ce7c0d0d48d78">envconfig</a>(), <span class="keyword">nullptr</span>, <a class="code hl_enumvalue" href="namespacebeast_1_1severities.html#a069a8a312b9123b77f6aa31733ca73beae13a45640877c138fc59c94443ece6f0">beast::severities::kDisabled</a>);</div>
|
||||
<div class="line"><a id="l01007" name="l01007"></a><span class="lineno"> 1007</span> </div>
|
||||
<div class="line"><a id="l01008" name="l01008"></a><span class="lineno"> 1008</span> eA.<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>(10000), alice);</div>
|
||||
<div class="line"><a id="l01009" name="l01009"></a><span class="lineno"> 1009</span> eA.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a id="l01010" name="l01010"></a><span class="lineno"> 1010</span> <span class="keyword">auto</span> <span class="keyword">const</span> rdViewA3 = eA.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a14cbba5f53c931d433ce2e403bf692f4">closed</a>();</div>
|
||||
<div class="line"><a id="l01011" name="l01011"></a><span class="lineno"> 1011</span> </div>
|
||||
<div class="line"><a id="l01012" name="l01012"></a><span class="lineno"> 1012</span> eA.<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>(10000), bob);</div>
|
||||
<div class="line"><a id="l01013" name="l01013"></a><span class="lineno"> 1013</span> eA.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a69095691c9bcfab1f3d69c645f2dbe33">close</a>();</div>
|
||||
<div class="line"><a id="l01014" name="l01014"></a><span class="lineno"> 1014</span> <span class="keyword">auto</span> <span class="keyword">const</span> rdViewA4 = eA.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#a14cbba5f53c931d433ce2e403bf692f4">closed</a>();</div>
|
||||
<div class="line"><a id="l01015" name="l01015"></a><span class="lineno"> 1015</span> </div>
|
||||
<div class="line"><a id="l01016" name="l01016"></a><span class="lineno"> 1016</span> <span class="comment">// The two Env's can't share the same ports, so modify the config</span></div>
|
||||
<div class="line"><a id="l01017" name="l01017"></a><span class="lineno"> 1017</span> <span class="comment">// of the second Env to use higher port numbers</span></div>
|
||||
<div class="line"><a id="l01018" name="l01018"></a><span class="lineno"> 1018</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> eB{*<span class="keyword">this</span>, <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a7a4caa0465c555c5c59ce7c0d0d48d78">envconfig</a>(), <span class="keyword">nullptr</span>, <a class="code hl_enumvalue" href="namespacebeast_1_1severities.html#a069a8a312b9123b77f6aa31733ca73beae13a45640877c138fc59c94443ece6f0">beast::severities::kDisabled</a>};</div>
|
||||
<div class="line"><a id="l01019" name="l01019"></a><span class="lineno"> 1019</span> </div>
|
||||
<div class="line"><a id="l01020" name="l01020"></a><span class="lineno"> 1020</span> <span class="comment">// Make ledgers that are incompatible with the first ledgers. Note</span></div>
|
||||
<div class="line"><a id="l01021" name="l01021"></a><span class="lineno"> 1021</span> <span class="comment">// that bob is funded before alice.</span></div>
|
||||
<div class="line"><a id="l01022" name="l01022"></a><span class="lineno"> 1022</span> eB.fund(<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10000), bob);</div>
|
||||
<div class="line"><a id="l01023" name="l01023"></a><span class="lineno"> 1023</span> eB.close();</div>
|
||||
<div class="line"><a id="l01024" name="l01024"></a><span class="lineno"> 1024</span> <span class="keyword">auto</span> <span class="keyword">const</span> rdViewB3 = eB.closed();</div>
|
||||
<div class="line"><a id="l01025" name="l01025"></a><span class="lineno"> 1025</span> </div>
|
||||
<div class="line"><a id="l01026" name="l01026"></a><span class="lineno"> 1026</span> eB.fund(<a class="code hl_variable" href="namespaceripple_1_1test_1_1jtx.html#aea9cd3d4e6b5df2e62d53b34b605957e">XRP</a>(10000), alice);</div>
|
||||
<div class="line"><a id="l01027" name="l01027"></a><span class="lineno"> 1027</span> eB.close();</div>
|
||||
<div class="line"><a id="l01028" name="l01028"></a><span class="lineno"> 1028</span> <span class="keyword">auto</span> <span class="keyword">const</span> rdViewB4 = eB.closed();</div>
|
||||
<div class="line"><a id="l01029" name="l01029"></a><span class="lineno"> 1029</span> </div>
|
||||
<div class="line"><a id="l01030" name="l01030"></a><span class="lineno"> 1030</span> <span class="comment">// Check for compatibility.</span></div>
|
||||
<div class="line"><a id="l01031" name="l01031"></a><span class="lineno"> 1031</span> <span class="keyword">auto</span> jStream = eA.<a class="code hl_variable" href="classripple_1_1test_1_1jtx_1_1Env.html#acfdfa1e283de8fb2dad0216cd1711307">journal</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>();</div>
|
||||
<div class="line"><a id="l01032" name="l01032"></a><span class="lineno"> 1032</span> BEAST_EXPECT(<a class="code hl_function" href="namespaceripple.html#ae93a0ce909950194e6f9aaed7579ea74">areCompatible</a>(*rdViewA3, *rdViewA4, jStream, <span class="stringliteral">""</span>));</div>
|
||||
<div class="line"><a id="l01033" name="l01033"></a><span class="lineno"> 1033</span> BEAST_EXPECT(<a class="code hl_function" href="namespaceripple.html#ae93a0ce909950194e6f9aaed7579ea74">areCompatible</a>(*rdViewA4, *rdViewA3, jStream, <span class="stringliteral">""</span>));</div>
|
||||
<div class="line"><a id="l01034" name="l01034"></a><span class="lineno"> 1034</span> BEAST_EXPECT(<a class="code hl_function" href="namespaceripple.html#ae93a0ce909950194e6f9aaed7579ea74">areCompatible</a>(*rdViewA4, *rdViewA4, jStream, <span class="stringliteral">""</span>));</div>
|
||||
<div class="line"><a id="l01035" name="l01035"></a><span class="lineno"> 1035</span> BEAST_EXPECT(!<a class="code hl_function" href="namespaceripple.html#ae93a0ce909950194e6f9aaed7579ea74">areCompatible</a>(*rdViewA3, *rdViewB4, jStream, <span class="stringliteral">""</span>));</div>
|
||||
<div class="line"><a id="l01036" name="l01036"></a><span class="lineno"> 1036</span> BEAST_EXPECT(!<a class="code hl_function" href="namespaceripple.html#ae93a0ce909950194e6f9aaed7579ea74">areCompatible</a>(*rdViewA4, *rdViewB3, jStream, <span class="stringliteral">""</span>));</div>
|
||||
<div class="line"><a id="l01037" name="l01037"></a><span class="lineno"> 1037</span> BEAST_EXPECT(!<a class="code hl_function" href="namespaceripple.html#ae93a0ce909950194e6f9aaed7579ea74">areCompatible</a>(*rdViewA4, *rdViewB4, jStream, <span class="stringliteral">""</span>));</div>
|
||||
<div class="line"><a id="l01038" name="l01038"></a><span class="lineno"> 1038</span> </div>
|
||||
<div class="line"><a id="l01039" name="l01039"></a><span class="lineno"> 1039</span> <span class="comment">// Try the other interface.</span></div>
|
||||
<div class="line"><a id="l01040" name="l01040"></a><span class="lineno"> 1040</span> <span class="comment">// Note that the different interface has different outcomes.</span></div>
|
||||
<div class="line"><a id="l01041" name="l01041"></a><span class="lineno"> 1041</span> <span class="keyword">auto</span> <span class="keyword">const</span>& iA3 = rdViewA3->info();</div>
|
||||
<div class="line"><a id="l01042" name="l01042"></a><span class="lineno"> 1042</span> <span class="keyword">auto</span> <span class="keyword">const</span>& iA4 = rdViewA4->info();</div>
|
||||
<div class="line"><a id="l01043" name="l01043"></a><span class="lineno"> 1043</span> </div>
|
||||
<div class="line"><a id="l01044" name="l01044"></a><span class="lineno"> 1044</span> BEAST_EXPECT(<a class="code hl_function" href="namespaceripple.html#ae93a0ce909950194e6f9aaed7579ea74">areCompatible</a>(iA3.hash, iA3.seq, *rdViewA4, jStream, <span class="stringliteral">""</span>));</div>
|
||||
<div class="line"><a id="l01045" name="l01045"></a><span class="lineno"> 1045</span> BEAST_EXPECT(<a class="code hl_function" href="namespaceripple.html#ae93a0ce909950194e6f9aaed7579ea74">areCompatible</a>(iA4.hash, iA4.seq, *rdViewA3, jStream, <span class="stringliteral">""</span>));</div>
|
||||
<div class="line"><a id="l01046" name="l01046"></a><span class="lineno"> 1046</span> BEAST_EXPECT(<a class="code hl_function" href="namespaceripple.html#ae93a0ce909950194e6f9aaed7579ea74">areCompatible</a>(iA4.hash, iA4.seq, *rdViewA4, jStream, <span class="stringliteral">""</span>));</div>
|
||||
<div class="line"><a id="l01047" name="l01047"></a><span class="lineno"> 1047</span> BEAST_EXPECT(!<a class="code hl_function" href="namespaceripple.html#ae93a0ce909950194e6f9aaed7579ea74">areCompatible</a>(iA3.hash, iA3.seq, *rdViewB4, jStream, <span class="stringliteral">""</span>));</div>
|
||||
<div class="line"><a id="l01048" name="l01048"></a><span class="lineno"> 1048</span> BEAST_EXPECT(<a class="code hl_function" href="namespaceripple.html#ae93a0ce909950194e6f9aaed7579ea74">areCompatible</a>(iA4.hash, iA4.seq, *rdViewB3, jStream, <span class="stringliteral">""</span>));</div>
|
||||
<div class="line"><a id="l01049" name="l01049"></a><span class="lineno"> 1049</span> BEAST_EXPECT(!<a class="code hl_function" href="namespaceripple.html#ae93a0ce909950194e6f9aaed7579ea74">areCompatible</a>(iA4.hash, iA4.seq, *rdViewB4, jStream, <span class="stringliteral">""</span>));</div>
|
||||
<div class="line"><a id="l01050" name="l01050"></a><span class="lineno"> 1050</span> }</div>
|
||||
<div class="line"><a id="l01051" name="l01051"></a><span class="lineno"> 1051</span> </div>
|
||||
<div class="line"><a id="l01052" name="l01052"></a><span class="lineno"> 1052</span> <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a id="l01053" name="l01053"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1View__test.html#a876d0b6d69f1e6ce68f8fa1a804e4174"> 1053</a></span> <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#a876d0b6d69f1e6ce68f8fa1a804e4174">testRegressions</a>()</div>
|
||||
<div class="line"><a id="l01054" name="l01054"></a><span class="lineno"> 1054</span> {</div>
|
||||
<div class="line"><a id="l01055" name="l01055"></a><span class="lineno"> 1055</span> <a class="code hl_variable" href="classbeast_1_1unit__test_1_1suite.html#aaa1237d9b85c69d35fe86645cee094b5">testcase</a>(<span class="stringliteral">"Regressions"</span>);</div>
|
||||
<div class="line"><a id="l01056" name="l01056"></a><span class="lineno"> 1056</span> </div>
|
||||
<div class="line"><a id="l01057" name="l01057"></a><span class="lineno"> 1057</span> <span class="keyword">using namespace </span>jtx;</div>
|
||||
<div class="line"><a id="l01058" name="l01058"></a><span class="lineno"> 1058</span> </div>
|
||||
<div class="line"><a id="l01059" name="l01059"></a><span class="lineno"> 1059</span> <span class="comment">// Create a ledger with 1 item, put a</span></div>
|
||||
<div class="line"><a id="l01060" name="l01060"></a><span class="lineno"> 1060</span> <span class="comment">// ApplyView on that, then another ApplyView,</span></div>
|
||||
<div class="line"><a id="l01061" name="l01061"></a><span class="lineno"> 1061</span> <span class="comment">// erase the item, apply.</span></div>
|
||||
<div class="line"><a id="l01062" name="l01062"></a><span class="lineno"> 1062</span> {</div>
|
||||
<div class="line"><a id="l01063" name="l01063"></a><span class="lineno"> 1063</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env(*<span class="keyword">this</span>);</div>
|
||||
<div class="line"><a id="l01064" name="l01064"></a><span class="lineno"> 1064</span> <a class="code hl_class" href="classripple_1_1Config.html">Config</a> config;</div>
|
||||
<div class="line"><a id="l01065" name="l01065"></a><span class="lineno"> 1065</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<Ledger const></a> <span class="keyword">const</span> genesis =</div>
|
||||
<div class="line"><a id="l01066" name="l01066"></a><span class="lineno"> 1066</span> std::make_shared<Ledger>(</div>
|
||||
<div class="line"><a id="l01067" name="l01067"></a><span class="lineno"> 1067</span> <a class="code hl_variable" href="namespaceripple.html#ac2c0e7e7b0be5e10cb5803c0a6b5b700">create_genesis</a>,</div>
|
||||
<div class="line"><a id="l01068" name="l01068"></a><span class="lineno"> 1068</span> config,</div>
|
||||
<div class="line"><a id="l01069" name="l01069"></a><span class="lineno"> 1069</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint256></a>{},</div>
|
||||
<div class="line"><a id="l01070" name="l01070"></a><span class="lineno"> 1070</span> env.<a class="code hl_function" href="classripple_1_1test_1_1jtx_1_1Env.html#acd48f8ab02c37b1a30cedf4dec7cc96c">app</a>().getNodeFamily());</div>
|
||||
<div class="line"><a id="l01071" name="l01071"></a><span class="lineno"> 1071</span> <span class="keyword">auto</span> <span class="keyword">const</span> ledger = std::make_shared<Ledger>(</div>
|
||||
<div class="line"><a id="l01072" name="l01072"></a><span class="lineno"> 1072</span> *genesis, 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#a6053f47d2aefc7800dc2bb1eda0cf91d">timeKeeper</a>().<a class="code hl_function" href="classripple_1_1TimeKeeper.html#ada2cee023f1dcf3c80250f8840139440">closeTime</a>());</div>
|
||||
<div class="line"><a id="l01073" name="l01073"></a><span class="lineno"> 1073</span> <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#a6d746e59eef5e7c4144b2065ae6f7622">wipe</a>(*ledger);</div>
|
||||
<div class="line"><a id="l01074" name="l01074"></a><span class="lineno"> 1074</span> ledger->rawInsert(<a class="code hl_function" href="classripple_1_1test_1_1View__test.html#a087507e87a0fcc724a24f4ff9b90d3a0">sle</a>(1));</div>
|
||||
<div class="line"><a id="l01075" name="l01075"></a><span class="lineno"> 1075</span> <a class="code hl_class" href="classripple_1_1ReadView.html">ReadView</a>& v0 = *ledger;</div>
|
||||
<div class="line"><a id="l01076" name="l01076"></a><span class="lineno"> 1076</span> <a class="code hl_class" href="classripple_1_1ApplyViewImpl.html">ApplyViewImpl</a> v1(&v0, <a class="code hl_enumvalue" href="namespaceripple.html#ad2487abbcc1a5d6064b72144b461df6eaf77cbea9706ce2ee7fdf5a85efbf70c5">tapNONE</a>);</div>
|
||||
<div class="line"><a id="l01077" name="l01077"></a><span class="lineno"> 1077</span> {</div>
|
||||
<div class="line"><a id="l01078" name="l01078"></a><span class="lineno"> 1078</span> <a class="code hl_class" href="classripple_1_1Sandbox.html">Sandbox</a> v2(&v1);</div>
|
||||
<div class="line"><a id="l01079" name="l01079"></a><span class="lineno"> 1079</span> v2.<a class="code hl_function" href="classripple_1_1detail_1_1ApplyViewBase.html#a165c96d3bf59c98b608ffabcf2f70276">erase</a>(v2.<a class="code hl_function" href="classripple_1_1detail_1_1ApplyViewBase.html#afe88196d7aec85f2af00d7cd0b1a28c3">peek</a>(<a class="code hl_function" href="classripple_1_1test_1_1View__test.html#a302bc0969a99610f578630eeca5fa754">k</a>(1)));</div>
|
||||
<div class="line"><a id="l01080" name="l01080"></a><span class="lineno"> 1080</span> v2.<a class="code hl_function" href="classripple_1_1Sandbox.html#af027065a92ed80c4b54b08d7974c06ce">apply</a>(v1);</div>
|
||||
<div class="line"><a id="l01081" name="l01081"></a><span class="lineno"> 1081</span> }</div>
|
||||
<div class="line"><a id="l01082" name="l01082"></a><span class="lineno"> 1082</span> BEAST_EXPECT(!v1.<a class="code hl_function" href="classripple_1_1detail_1_1ApplyViewBase.html#ab5b90b656223e19272dfe10e2dcd7f56">exists</a>(<a class="code hl_function" href="classripple_1_1test_1_1View__test.html#a302bc0969a99610f578630eeca5fa754">k</a>(1)));</div>
|
||||
<div class="line"><a id="l01083" name="l01083"></a><span class="lineno"> 1083</span> }</div>
|
||||
<div class="line"><a id="l01084" name="l01084"></a><span class="lineno"> 1084</span> </div>
|
||||
<div class="line"><a id="l01085" name="l01085"></a><span class="lineno"> 1085</span> <span class="comment">// Make sure OpenLedger::empty works</span></div>
|
||||
<div class="line"><a id="l01086" name="l01086"></a><span class="lineno"> 1086</span> {</div>
|
||||
<div class="line"><a id="l01087" name="l01087"></a><span class="lineno"> 1087</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env(*<span class="keyword">this</span>);</div>
|
||||
<div class="line"><a id="l01088" name="l01088"></a><span class="lineno"> 1088</span> BEAST_EXPECT(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#a151d1401a346131fc6fb3efb197133e6">openLedger</a>().<a class="code hl_function" href="classripple_1_1OpenLedger.html#a88144aac5696b3f33eccfaaed0aeb8ba">empty</a>());</div>
|
||||
<div class="line"><a id="l01089" name="l01089"></a><span class="lineno"> 1089</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>(10000), <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Account.html">Account</a>(<span class="stringliteral">"test"</span>));</div>
|
||||
<div class="line"><a id="l01090" name="l01090"></a><span class="lineno"> 1090</span> BEAST_EXPECT(!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#a151d1401a346131fc6fb3efb197133e6">openLedger</a>().<a class="code hl_function" href="classripple_1_1OpenLedger.html#a88144aac5696b3f33eccfaaed0aeb8ba">empty</a>());</div>
|
||||
<div class="line"><a id="l01091" name="l01091"></a><span class="lineno"> 1091</span> }</div>
|
||||
<div class="line"><a id="l01092" name="l01092"></a><span class="lineno"> 1092</span> }</div>
|
||||
<div class="line"><a id="l01093" name="l01093"></a><span class="lineno"> 1093</span> </div>
|
||||
<div class="line"><a id="l01094" name="l01094"></a><span class="lineno"> 1094</span> <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a id="l01095" name="l01095"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1View__test.html#ac4dc08fbd79cdefb231b58455da628dd"> 1095</a></span> <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#ac4dc08fbd79cdefb231b58455da628dd">run</a>()<span class="keyword"> override</span></div>
|
||||
<div class="line"><a id="l01096" name="l01096"></a><span class="lineno"> 1096</span><span class="keyword"> </span>{</div>
|
||||
<div class="line"><a id="l01097" name="l01097"></a><span class="lineno"> 1097</span> <span class="comment">// This had better work, or else</span></div>
|
||||
<div class="line"><a id="l01098" name="l01098"></a><span class="lineno"> 1098</span> BEAST_EXPECT(<a class="code hl_function" href="classripple_1_1test_1_1View__test.html#a302bc0969a99610f578630eeca5fa754">k</a>(0).key < <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#a302bc0969a99610f578630eeca5fa754">k</a>(1).key);</div>
|
||||
<div class="line"><a id="l01099" name="l01099"></a><span class="lineno"> 1099</span> </div>
|
||||
<div class="line"><a id="l01100" name="l01100"></a><span class="lineno"> 1100</span> <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#a4af3a487d399abe48fef4e8dff23ac99">testLedger</a>();</div>
|
||||
<div class="line"><a id="l01101" name="l01101"></a><span class="lineno"> 1101</span> <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#ad7d00b70c5c289d33d40aefeb9af5beb">testMeta</a>();</div>
|
||||
<div class="line"><a id="l01102" name="l01102"></a><span class="lineno"> 1102</span> <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#a24a0161bd55353bc9815d918eca70fd2">testMetaSucc</a>();</div>
|
||||
<div class="line"><a id="l01103" name="l01103"></a><span class="lineno"> 1103</span> <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#ab548fbc346788e353914d76482acfbc6">testStacked</a>();</div>
|
||||
<div class="line"><a id="l01104" name="l01104"></a><span class="lineno"> 1104</span> <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#a0e8e994b5cdd90ed5c9ceb881902c775">testContext</a>();</div>
|
||||
<div class="line"><a id="l01105" name="l01105"></a><span class="lineno"> 1105</span> <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#a261cf72736bc5e7664c277fa69e5c74a">testSles</a>();</div>
|
||||
<div class="line"><a id="l01106" name="l01106"></a><span class="lineno"> 1106</span> <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#a8dee0a79653dc6e1e5dae44907c33d1e">testUpperAndLowerBound</a>();</div>
|
||||
<div class="line"><a id="l01107" name="l01107"></a><span class="lineno"> 1107</span> <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#afa58f7754681a17073636c71a01f3d04">testFlags</a>();</div>
|
||||
<div class="line"><a id="l01108" name="l01108"></a><span class="lineno"> 1108</span> <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#af204bf82ad2d34c59e85af6b87b22434">testTransferRate</a>();</div>
|
||||
<div class="line"><a id="l01109" name="l01109"></a><span class="lineno"> 1109</span> <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#a212be5fd7a3dbc45131d1d3bdc4b307a">testAreCompatible</a>();</div>
|
||||
<div class="line"><a id="l01110" name="l01110"></a><span class="lineno"> 1110</span> <a class="code hl_function" href="classripple_1_1test_1_1View__test.html#a876d0b6d69f1e6ce68f8fa1a804e4174">testRegressions</a>();</div>
|
||||
<div class="line"><a id="l01111" name="l01111"></a><span class="lineno"> 1111</span> }</div>
|
||||
<div class="line"><a id="l01112" name="l01112"></a><span class="lineno"> 1112</span>};</div>
|
||||
<div class="line"><a id="l01113" name="l01113"></a><span class="lineno"> 1113</span> </div>
|
||||
<div class="line"><a id="l01114" name="l01114"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1GetAmendments__test.html"> 1114</a></span><span class="keyword">class </span><a class="code hl_class" href="classripple_1_1test_1_1GetAmendments__test.html">GetAmendments_test</a> : <span class="keyword">public</span> <a class="code hl_class" href="classbeast_1_1unit__test_1_1suite.html">beast::unit_test::suite</a></div>
|
||||
<div class="line"><a id="l01115" name="l01115"></a><span class="lineno"> 1115</span>{</div>
|
||||
<div class="line"><a id="l01116" name="l01116"></a><span class="lineno"> 1116</span> <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a id="l01117" name="l01117"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1GetAmendments__test.html#a07fe3d47cbade85144ebe7f90bf2dad1"> 1117</a></span> <a class="code hl_function" href="classripple_1_1test_1_1GetAmendments__test.html#a07fe3d47cbade85144ebe7f90bf2dad1">testGetAmendments</a>()</div>
|
||||
<div class="line"><a id="l01118" name="l01118"></a><span class="lineno"> 1118</span> {</div>
|
||||
<div class="line"><a id="l01119" name="l01119"></a><span class="lineno"> 1119</span> <span class="keyword">using namespace </span>jtx;</div>
|
||||
<div class="line"><a id="l01120" name="l01120"></a><span class="lineno"> 1120</span> <a class="code hl_class" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env{*<span class="keyword">this</span>, <a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a7a4caa0465c555c5c59ce7c0d0d48d78">envconfig</a>(<a class="code hl_function" href="namespaceripple_1_1test_1_1jtx.html#a000ffa48b8512f4af030e7fd63c26cad">validator</a>, <span class="stringliteral">""</span>)};</div>
|
||||
<div class="line"><a id="l01121" name="l01121"></a><span class="lineno"> 1121</span> </div>
|
||||
<div class="line"><a id="l01122" name="l01122"></a><span class="lineno"> 1122</span> <span class="comment">// Start out with no amendments.</span></div>
|
||||
<div class="line"><a id="l01123" name="l01123"></a><span class="lineno"> 1123</span> <span class="keyword">auto</span> majorities = <a class="code hl_function" href="namespaceripple.html#ab6b00b336996c0b0a3fe2e8a8d5fa76a">getMajorityAmendments</a>(*env.closed());</div>
|
||||
<div class="line"><a id="l01124" name="l01124"></a><span class="lineno"> 1124</span> BEAST_EXPECT(majorities.empty());</div>
|
||||
<div class="line"><a id="l01125" name="l01125"></a><span class="lineno"> 1125</span> </div>
|
||||
<div class="line"><a id="l01126" name="l01126"></a><span class="lineno"> 1126</span> <span class="comment">// Now close ledgers until the amendments show up.</span></div>
|
||||
<div class="line"><a id="l01127" name="l01127"></a><span class="lineno"> 1127</span> <span class="keywordtype">int</span> i = 0;</div>
|
||||
<div class="line"><a id="l01128" name="l01128"></a><span class="lineno"> 1128</span> <span class="keywordflow">for</span> (i = 0; i <= 256; ++i)</div>
|
||||
<div class="line"><a id="l01129" name="l01129"></a><span class="lineno"> 1129</span> {</div>
|
||||
<div class="line"><a id="l01130" name="l01130"></a><span class="lineno"> 1130</span> env.close();</div>
|
||||
<div class="line"><a id="l01131" name="l01131"></a><span class="lineno"> 1131</span> majorities = <a class="code hl_function" href="namespaceripple.html#ab6b00b336996c0b0a3fe2e8a8d5fa76a">getMajorityAmendments</a>(*env.closed());</div>
|
||||
<div class="line"><a id="l01132" name="l01132"></a><span class="lineno"> 1132</span> <span class="keywordflow">if</span> (!majorities.empty())</div>
|
||||
<div class="line"><a id="l01133" name="l01133"></a><span class="lineno"> 1133</span> <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a id="l01134" name="l01134"></a><span class="lineno"> 1134</span> }</div>
|
||||
<div class="line"><a id="l01135" name="l01135"></a><span class="lineno"> 1135</span> </div>
|
||||
<div class="line"><a id="l01136" name="l01136"></a><span class="lineno"> 1136</span> <span class="comment">// There should be at least 5 amendments. Don't do exact comparison</span></div>
|
||||
<div class="line"><a id="l01137" name="l01137"></a><span class="lineno"> 1137</span> <span class="comment">// to avoid maintenance as more amendments are added in the future.</span></div>
|
||||
<div class="line"><a id="l01138" name="l01138"></a><span class="lineno"> 1138</span> BEAST_EXPECT(i == 254);</div>
|
||||
<div class="line"><a id="l01139" name="l01139"></a><span class="lineno"> 1139</span> BEAST_EXPECT(majorities.size() >= 5);</div>
|
||||
<div class="line"><a id="l01140" name="l01140"></a><span class="lineno"> 1140</span> </div>
|
||||
<div class="line"><a id="l01141" name="l01141"></a><span class="lineno"> 1141</span> <span class="comment">// None of the amendments should be enabled yet.</span></div>
|
||||
<div class="line"><a id="l01142" name="l01142"></a><span class="lineno"> 1142</span> <span class="keyword">auto</span> enableds = <a class="code hl_function" href="namespaceripple.html#a6f8b0cab74710c17299c1d37f3e05b48">getEnabledAmendments</a>(*env.closed());</div>
|
||||
<div class="line"><a id="l01143" name="l01143"></a><span class="lineno"> 1143</span> BEAST_EXPECT(enableds.empty());</div>
|
||||
<div class="line"><a id="l01144" name="l01144"></a><span class="lineno"> 1144</span> </div>
|
||||
<div class="line"><a id="l01145" name="l01145"></a><span class="lineno"> 1145</span> <span class="comment">// Now wait 2 weeks modulo 256 ledgers for the amendments to be</span></div>
|
||||
<div class="line"><a id="l01146" name="l01146"></a><span class="lineno"> 1146</span> <span class="comment">// enabled. Speed the process by closing ledgers every 80 minutes,</span></div>
|
||||
<div class="line"><a id="l01147" name="l01147"></a><span class="lineno"> 1147</span> <span class="comment">// which should get us to just past 2 weeks after 256 ledgers.</span></div>
|
||||
<div class="line"><a id="l01148" name="l01148"></a><span class="lineno"> 1148</span> <span class="keywordflow">for</span> (i = 0; i <= 256; ++i)</div>
|
||||
<div class="line"><a id="l01149" name="l01149"></a><span class="lineno"> 1149</span> {</div>
|
||||
<div class="line"><a id="l01150" name="l01150"></a><span class="lineno"> 1150</span> <span class="keyword">using namespace </span>std::chrono_literals;</div>
|
||||
<div class="line"><a id="l01151" name="l01151"></a><span class="lineno"> 1151</span> env.close(80min);</div>
|
||||
<div class="line"><a id="l01152" name="l01152"></a><span class="lineno"> 1152</span> enableds = <a class="code hl_function" href="namespaceripple.html#a6f8b0cab74710c17299c1d37f3e05b48">getEnabledAmendments</a>(*env.closed());</div>
|
||||
<div class="line"><a id="l01153" name="l01153"></a><span class="lineno"> 1153</span> <span class="keywordflow">if</span> (!enableds.empty())</div>
|
||||
<div class="line"><a id="l01154" name="l01154"></a><span class="lineno"> 1154</span> <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a id="l01155" name="l01155"></a><span class="lineno"> 1155</span> }</div>
|
||||
<div class="line"><a id="l01156" name="l01156"></a><span class="lineno"> 1156</span> BEAST_EXPECT(i == 255);</div>
|
||||
<div class="line"><a id="l01157" name="l01157"></a><span class="lineno"> 1157</span> BEAST_EXPECT(enableds.size() >= 5);</div>
|
||||
<div class="line"><a id="l01158" name="l01158"></a><span class="lineno"> 1158</span> }</div>
|
||||
<div class="line"><a id="l01159" name="l01159"></a><span class="lineno"> 1159</span> </div>
|
||||
<div class="line"><a id="l01160" name="l01160"></a><span class="lineno"> 1160</span> <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a id="l01161" name="l01161"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1GetAmendments__test.html#aad102a9976dc4ac9f7b2c3d75c6c343a"> 1161</a></span> <a class="code hl_function" href="classripple_1_1test_1_1GetAmendments__test.html#aad102a9976dc4ac9f7b2c3d75c6c343a">run</a>()<span class="keyword"> override</span></div>
|
||||
<div class="line"><a id="l01162" name="l01162"></a><span class="lineno"> 1162</span><span class="keyword"> </span>{</div>
|
||||
<div class="line"><a id="l01163" name="l01163"></a><span class="lineno"> 1163</span> <a class="code hl_function" href="classripple_1_1test_1_1GetAmendments__test.html#a07fe3d47cbade85144ebe7f90bf2dad1">testGetAmendments</a>();</div>
|
||||
<div class="line"><a id="l01164" name="l01164"></a><span class="lineno"> 1164</span> }</div>
|
||||
<div class="line"><a id="l01165" name="l01165"></a><span class="lineno"> 1165</span>};</div>
|
||||
<div class="line"><a id="l01166" name="l01166"></a><span class="lineno"> 1166</span> </div>
|
||||
<div class="line"><a id="l01167" name="l01167"></a><span class="lineno"><a class="line" href="namespaceripple_1_1test.html#a906b102cc2c93800f28861323a783854"> 1167</a></span>BEAST_DEFINE_TESTSUITE(View, ledger, <a class="code hl_namespace" href="namespaceripple.html">ripple</a>);</div>
|
||||
<div class="line"><a id="l01168" name="l01168"></a><span class="lineno"><a class="line" href="namespaceripple_1_1test.html#a1bba843ee138f1243a7f688ce8e91ca2"> 1168</a></span>BEAST_DEFINE_TESTSUITE(GetAmendments, ledger, <a class="code hl_namespace" href="namespaceripple.html">ripple</a>);</div>
|
||||
<div class="line"><a id="l01169" name="l01169"></a><span class="lineno"> 1169</span> </div>
|
||||
<div class="line"><a id="l01170" name="l01170"></a><span class="lineno"> 1170</span>} <span class="comment">// namespace test</span></div>
|
||||
<div class="line"><a id="l01171" name="l01171"></a><span class="lineno"> 1171</span>} <span class="comment">// namespace ripple</span></div>
|
||||
<div class="ttc" id="aclassbeast_1_1Journal_html"><div class="ttname"><a href="classbeast_1_1Journal.html">beast::Journal</a></div><div class="ttdoc">A generic endpoint for log messages.</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00059">Journal.h:60</a></div></div>
|
||||
<div class="ttc" id="aclassbeast_1_1Journal_html_a49b0713e65bb8e2c51b76fbf16252afe"><div class="ttname"><a href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">beast::Journal::error</a></div><div class="ttdeci">Stream error() const</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00346">Journal.h:346</a></div></div>
|
||||
<div class="ttc" id="aclassbeast_1_1unit__test_1_1suite_html"><div class="ttname"><a href="classbeast_1_1unit__test_1_1suite.html">beast::unit_test::suite</a></div><div class="ttdoc">A testsuite class.</div><div class="ttdef"><b>Definition:</b> <a href="suite_8h_source.html#l00054">suite.h:55</a></div></div>
|
||||
@@ -1287,15 +1288,15 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1detail_1_1ApplyViewBase_html_ad615aed650814602031c446241bbca10"><div class="ttname"><a href="classripple_1_1detail_1_1ApplyViewBase.html#ad615aed650814602031c446241bbca10">ripple::detail::ApplyViewBase::flags</a></div><div class="ttdeci">ApplyFlags flags() const override</div><div class="ttdoc">Returns the tx apply flags.</div><div class="ttdef"><b>Definition:</b> <a href="ApplyViewBase_8cpp_source.html#l00121">ApplyViewBase.cpp:121</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1detail_1_1ApplyViewBase_html_adbca64f4c123b0fbcfdf27586649732b"><div class="ttname"><a href="classripple_1_1detail_1_1ApplyViewBase.html#adbca64f4c123b0fbcfdf27586649732b">ripple::detail::ApplyViewBase::read</a></div><div class="ttdeci">std::shared_ptr< SLE const > read(Keylet const &k) const override</div><div class="ttdoc">Return the state item associated with a key.</div><div class="ttdef"><b>Definition:</b> <a href="ApplyViewBase_8cpp_source.html#l00070">ApplyViewBase.cpp:70</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1detail_1_1ApplyViewBase_html_afe88196d7aec85f2af00d7cd0b1a28c3"><div class="ttname"><a href="classripple_1_1detail_1_1ApplyViewBase.html#afe88196d7aec85f2af00d7cd0b1a28c3">ripple::detail::ApplyViewBase::peek</a></div><div class="ttdeci">std::shared_ptr< SLE > peek(Keylet const &k) override</div><div class="ttdoc">Prepare to modify the SLE associated with key.</div><div class="ttdef"><b>Definition:</b> <a href="ApplyViewBase_8cpp_source.html#l00127">ApplyViewBase.cpp:127</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1GetAmendments__test_html"><div class="ttname"><a href="classripple_1_1test_1_1GetAmendments__test.html">ripple::test::GetAmendments_test</a></div><div class="ttdef"><b>Definition:</b> <a href="View__test_8cpp_source.html#l01113">View_test.cpp:1114</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1GetAmendments__test_html_a07fe3d47cbade85144ebe7f90bf2dad1"><div class="ttname"><a href="classripple_1_1test_1_1GetAmendments__test.html#a07fe3d47cbade85144ebe7f90bf2dad1">ripple::test::GetAmendments_test::testGetAmendments</a></div><div class="ttdeci">void testGetAmendments()</div><div class="ttdef"><b>Definition:</b> <a href="View__test_8cpp_source.html#l01116">View_test.cpp:1116</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1GetAmendments__test_html_aad102a9976dc4ac9f7b2c3d75c6c343a"><div class="ttname"><a href="classripple_1_1test_1_1GetAmendments__test.html#aad102a9976dc4ac9f7b2c3d75c6c343a">ripple::test::GetAmendments_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="View__test_8cpp_source.html#l01160">View_test.cpp:1160</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1GetAmendments__test_html"><div class="ttname"><a href="classripple_1_1test_1_1GetAmendments__test.html">ripple::test::GetAmendments_test</a></div><div class="ttdef"><b>Definition:</b> <a href="View__test_8cpp_source.html#l01114">View_test.cpp:1115</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1GetAmendments__test_html_a07fe3d47cbade85144ebe7f90bf2dad1"><div class="ttname"><a href="classripple_1_1test_1_1GetAmendments__test.html#a07fe3d47cbade85144ebe7f90bf2dad1">ripple::test::GetAmendments_test::testGetAmendments</a></div><div class="ttdeci">void testGetAmendments()</div><div class="ttdef"><b>Definition:</b> <a href="View__test_8cpp_source.html#l01117">View_test.cpp:1117</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1GetAmendments__test_html_aad102a9976dc4ac9f7b2c3d75c6c343a"><div class="ttname"><a href="classripple_1_1test_1_1GetAmendments__test.html#aad102a9976dc4ac9f7b2c3d75c6c343a">ripple::test::GetAmendments_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="View__test_8cpp_source.html#l01161">View_test.cpp:1161</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1View__test_html"><div class="ttname"><a href="classripple_1_1test_1_1View__test.html">ripple::test::View_test</a></div><div class="ttdef"><b>Definition:</b> <a href="View__test_8cpp_source.html#l00036">View_test.cpp:37</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1View__test_html_a087507e87a0fcc724a24f4ff9b90d3a0"><div class="ttname"><a href="classripple_1_1test_1_1View__test.html#a087507e87a0fcc724a24f4ff9b90d3a0">ripple::test::View_test::sle</a></div><div class="ttdeci">static std::shared_ptr< SLE > sle(std::uint64_t id, std::uint32_t seq=1)</div><div class="ttdef"><b>Definition:</b> <a href="View__test_8cpp_source.html#l00047">View_test.cpp:47</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1View__test_html_a0e8e994b5cdd90ed5c9ceb881902c775"><div class="ttname"><a href="classripple_1_1test_1_1View__test.html#a0e8e994b5cdd90ed5c9ceb881902c775">ripple::test::View_test::testContext</a></div><div class="ttdeci">void testContext()</div><div class="ttdef"><b>Definition:</b> <a href="View__test_8cpp_source.html#l00336">View_test.cpp:336</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1View__test_html_a0ec9402f8cd5a506db6de1828be69191"><div class="ttname"><a href="classripple_1_1test_1_1View__test.html#a0ec9402f8cd5a506db6de1828be69191">ripple::test::View_test::wipe</a></div><div class="ttdeci">static void wipe(Ledger &ledger)</div><div class="ttdef"><b>Definition:</b> <a href="View__test_8cpp_source.html#l00090">View_test.cpp:90</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1View__test_html_a14d9c2a98db10bbe288ba36d73740e75"><div class="ttname"><a href="classripple_1_1test_1_1View__test.html#a14d9c2a98db10bbe288ba36d73740e75">ripple::test::View_test::seq</a></div><div class="ttdeci">static void seq(std::shared_ptr< SLE > const &le, std::uint32_t seq)</div><div class="ttdef"><b>Definition:</b> <a href="View__test_8cpp_source.html#l00064">View_test.cpp:64</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1View__test_html_a212be5fd7a3dbc45131d1d3bdc4b307a"><div class="ttname"><a href="classripple_1_1test_1_1View__test.html#a212be5fd7a3dbc45131d1d3bdc4b307a">ripple::test::View_test::testAreCompatible</a></div><div class="ttdeci">void testAreCompatible()</div><div class="ttdef"><b>Definition:</b> <a href="View__test_8cpp_source.html#l00992">View_test.cpp:992</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1View__test_html_a212be5fd7a3dbc45131d1d3bdc4b307a"><div class="ttname"><a href="classripple_1_1test_1_1View__test.html#a212be5fd7a3dbc45131d1d3bdc4b307a">ripple::test::View_test::testAreCompatible</a></div><div class="ttdeci">void testAreCompatible()</div><div class="ttdef"><b>Definition:</b> <a href="View__test_8cpp_source.html#l00993">View_test.cpp:993</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1View__test_html_a242ea1876bbadb3d1e88f441ec370b40"><div class="ttname"><a href="classripple_1_1test_1_1View__test.html#a242ea1876bbadb3d1e88f441ec370b40">ripple::test::View_test::succ</a></div><div class="ttdeci">void succ(ReadView const &v, std::uint32_t id, std::optional< std::uint32_t > answer)</div><div class="ttdef"><b>Definition:</b> <a href="View__test_8cpp_source.html#l00107">View_test.cpp:107</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1View__test_html_a24a0161bd55353bc9815d918eca70fd2"><div class="ttname"><a href="classripple_1_1test_1_1View__test.html#a24a0161bd55353bc9815d918eca70fd2">ripple::test::View_test::testMetaSucc</a></div><div class="ttdeci">void testMetaSucc()</div><div class="ttdef"><b>Definition:</b> <a href="View__test_8cpp_source.html#l00203">View_test.cpp:203</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1View__test_html_a261cf72736bc5e7664c277fa69e5c74a"><div class="ttname"><a href="classripple_1_1test_1_1View__test.html#a261cf72736bc5e7664c277fa69e5c74a">ripple::test::View_test::testSles</a></div><div class="ttdeci">void testSles()</div><div class="ttdef"><b>Definition:</b> <a href="View__test_8cpp_source.html#l00669">View_test.cpp:669</a></div></div>
|
||||
@@ -1303,15 +1304,15 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1View__test_html_a4af3a487d399abe48fef4e8dff23ac99"><div class="ttname"><a href="classripple_1_1test_1_1View__test.html#a4af3a487d399abe48fef4e8dff23ac99">ripple::test::View_test::testLedger</a></div><div class="ttdeci">void testLedger()</div><div class="ttdef"><b>Definition:</b> <a href="View__test_8cpp_source.html#l00133">View_test.cpp:133</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1View__test_html_a6d746e59eef5e7c4144b2065ae6f7622"><div class="ttname"><a href="classripple_1_1test_1_1View__test.html#a6d746e59eef5e7c4144b2065ae6f7622">ripple::test::View_test::wipe</a></div><div class="ttdeci">static void wipe(OpenLedger &openLedger)</div><div class="ttdef"><b>Definition:</b> <a href="View__test_8cpp_source.html#l00071">View_test.cpp:71</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1View__test_html_a786177507a140f005ffe190e80404938"><div class="ttname"><a href="classripple_1_1test_1_1View__test.html#a786177507a140f005ffe190e80404938">ripple::test::View_test::copy</a></div><div class="ttdeci">static std::shared_ptr< std::remove_const_t< T > > copy(std::shared_ptr< T > const &sp)</div><div class="ttdef"><b>Definition:</b> <a href="View__test_8cpp_source.html#l00126">View_test.cpp:126</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1View__test_html_a876d0b6d69f1e6ce68f8fa1a804e4174"><div class="ttname"><a href="classripple_1_1test_1_1View__test.html#a876d0b6d69f1e6ce68f8fa1a804e4174">ripple::test::View_test::testRegressions</a></div><div class="ttdeci">void testRegressions()</div><div class="ttdef"><b>Definition:</b> <a href="View__test_8cpp_source.html#l01052">View_test.cpp:1052</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1View__test_html_a876d0b6d69f1e6ce68f8fa1a804e4174"><div class="ttname"><a href="classripple_1_1test_1_1View__test.html#a876d0b6d69f1e6ce68f8fa1a804e4174">ripple::test::View_test::testRegressions</a></div><div class="ttdeci">void testRegressions()</div><div class="ttdef"><b>Definition:</b> <a href="View__test_8cpp_source.html#l01053">View_test.cpp:1053</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1View__test_html_a893e77db3bc03712ad7f59a6fcd1cb58"><div class="ttname"><a href="classripple_1_1test_1_1View__test.html#a893e77db3bc03712ad7f59a6fcd1cb58">ripple::test::View_test::sles</a></div><div class="ttdeci">static std::vector< uint256 > sles(ReadView const &ledger)</div><div class="ttdef"><b>Definition:</b> <a href="View__test_8cpp_source.html#l00383">View_test.cpp:383</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1View__test_html_a8dee0a79653dc6e1e5dae44907c33d1e"><div class="ttname"><a href="classripple_1_1test_1_1View__test.html#a8dee0a79653dc6e1e5dae44907c33d1e">ripple::test::View_test::testUpperAndLowerBound</a></div><div class="ttdeci">void testUpperAndLowerBound()</div><div class="ttdef"><b>Definition:</b> <a href="View__test_8cpp_source.html#l00400">View_test.cpp:400</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1View__test_html_ab548fbc346788e353914d76482acfbc6"><div class="ttname"><a href="classripple_1_1test_1_1View__test.html#ab548fbc346788e353914d76482acfbc6">ripple::test::View_test::testStacked</a></div><div class="ttdeci">void testStacked()</div><div class="ttdef"><b>Definition:</b> <a href="View__test_8cpp_source.html#l00269">View_test.cpp:269</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1View__test_html_ac4dc08fbd79cdefb231b58455da628dd"><div class="ttname"><a href="classripple_1_1test_1_1View__test.html#ac4dc08fbd79cdefb231b58455da628dd">ripple::test::View_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="View__test_8cpp_source.html#l01094">View_test.cpp:1094</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1View__test_html_ac4dc08fbd79cdefb231b58455da628dd"><div class="ttname"><a href="classripple_1_1test_1_1View__test.html#ac4dc08fbd79cdefb231b58455da628dd">ripple::test::View_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="View__test_8cpp_source.html#l01095">View_test.cpp:1095</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1View__test_html_ace1e1e1996ead65ddf4206173950df2c"><div class="ttname"><a href="classripple_1_1test_1_1View__test.html#ace1e1e1996ead65ddf4206173950df2c">ripple::test::View_test::seq</a></div><div class="ttdeci">static std::uint32_t seq(std::shared_ptr< T > const &le)</div><div class="ttdef"><b>Definition:</b> <a href="View__test_8cpp_source.html#l00057">View_test.cpp:57</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1View__test_html_ad7d00b70c5c289d33d40aefeb9af5beb"><div class="ttname"><a href="classripple_1_1test_1_1View__test.html#ad7d00b70c5c289d33d40aefeb9af5beb">ripple::test::View_test::testMeta</a></div><div class="ttdeci">void testMeta()</div><div class="ttdef"><b>Definition:</b> <a href="View__test_8cpp_source.html#l00170">View_test.cpp:170</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1View__test_html_add0e96e28c9aa0fc4a4e8660d1631b21"><div class="ttname"><a href="classripple_1_1test_1_1View__test.html#add0e96e28c9aa0fc4a4e8660d1631b21">ripple::test::View_test::list</a></div><div class="ttdeci">static std::vector< uint256 > list(Args... args)</div><div class="ttdef"><b>Definition:</b> <a href="View__test_8cpp_source.html#l00394">View_test.cpp:394</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1View__test_html_af204bf82ad2d34c59e85af6b87b22434"><div class="ttname"><a href="classripple_1_1test_1_1View__test.html#af204bf82ad2d34c59e85af6b87b22434">ripple::test::View_test::testTransferRate</a></div><div class="ttdeci">void testTransferRate()</div><div class="ttdef"><b>Definition:</b> <a href="View__test_8cpp_source.html#l00968">View_test.cpp:968</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1View__test_html_af204bf82ad2d34c59e85af6b87b22434"><div class="ttname"><a href="classripple_1_1test_1_1View__test.html#af204bf82ad2d34c59e85af6b87b22434">ripple::test::View_test::testTransferRate</a></div><div class="ttdeci">void testTransferRate()</div><div class="ttdef"><b>Definition:</b> <a href="View__test_8cpp_source.html#l00969">View_test.cpp:969</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1View__test_html_afa58f7754681a17073636c71a01f3d04"><div class="ttname"><a href="classripple_1_1test_1_1View__test.html#afa58f7754681a17073636c71a01f3d04">ripple::test::View_test::testFlags</a></div><div class="ttdeci">void testFlags()</div><div class="ttdef"><b>Definition:</b> <a href="View__test_8cpp_source.html#l00803">View_test.cpp:803</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#l00038">Account.h:39</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html">ripple::test::jtx::Env</a></div><div class="ttdoc">A transaction testing environment.</div><div class="ttdef"><b>Definition:</b> <a href="Env_8h_source.html#l00119">Env.h:120</a></div></div>
|
||||
|
||||
Reference in New Issue
Block a user