This commit is contained in:
manojsdoshi
2020-06-01 21:57:45 +00:00
parent 9facc04fc4
commit afa79b0356
1940 changed files with 36875 additions and 32960 deletions

View File

@@ -445,7 +445,7 @@ $(function() {
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; }</div>
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; BEAST_EXPECT(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#abfd534772468c2234779ba395db66409">channelExists</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), chan));</div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>(cancelAfter);</div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>(cancelAfter);</div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; {</div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="comment">// dst cannot claim after cancelAfter</span></div>
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> chanBal = <a class="code" href="structripple_1_1test_1_1PayChan__test.html#ab1e1adbddf67c33f31db2a59fb8df650">channelBalance</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), chan);</div>
@@ -480,7 +480,7 @@ $(function() {
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; <span class="comment">// third party close before cancelAfter</span></div>
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#a7bf25fd4a1baa71da784aaa6a7c8ac89">claim</a>(carol, chan), <a class="code" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code" href="namespaceripple.html#a78a6567a2640f956218079f498874c3f">tfClose</a>), <a class="code" href="classripple_1_1test_1_1jtx_1_1ter.html">ter</a>(<a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca9af7057961bc54674f4a6c2dd8ed6ab9">tecNO_PERMISSION</a>));</div>
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; BEAST_EXPECT(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#abfd534772468c2234779ba395db66409">channelExists</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), chan));</div>
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>(cancelAfter);</div>
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>(cancelAfter);</div>
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <span class="comment">// third party close after cancelAfter</span></div>
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> preAlice = env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#af09170466fd01f912527c64d7a34dc1e">balance</a>(alice);</div>
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#a7bf25fd4a1baa71da784aaa6a7c8ac89">claim</a>(carol, chan), <a class="code" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code" href="namespaceripple.html#a78a6567a2640f956218079f498874c3f">tfClose</a>));</div>
@@ -548,7 +548,7 @@ $(function() {
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; <a class="code" href="classripple_1_1test_1_1jtx_1_1ter.html">ter</a>(<a class="code" href="namespaceripple.html#afe21c8454670d46fb93751a5edffed46a8845e05d481141ea5e8e5274796f45a7">temBAD_EXPIRATION</a>));</div>
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; BEAST_EXPECT(!<a class="code" href="structripple_1_1test_1_1PayChan__test.html#a98c3d0d19952e9b2a4b46fe4ed48cd5b">channelExpiration</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), chan));</div>
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#a317daba9a82d43eeec2d8f6df217ca90">fund</a>(alice, chan, <a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(1), <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">NetClock::time_point</a>{minExpiration}));</div>
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>(minExpiration);</div>
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>(minExpiration);</div>
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <span class="comment">// Try to extend the expiration after the expiration has already passed</span></div>
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#a317daba9a82d43eeec2d8f6df217ca90">fund</a>(</div>
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; alice, chan, <a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(1), <a class="codeRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">NetClock::time_point</a>{minExpiration + 1000s}));</div>
@@ -576,7 +576,7 @@ $(function() {
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <span class="comment">// Owner closes, will close after settleDelay</span></div>
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#a7bf25fd4a1baa71da784aaa6a7c8ac89">claim</a>(alice, chan), <a class="code" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code" href="namespaceripple.html#a78a6567a2640f956218079f498874c3f">tfClose</a>));</div>
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; BEAST_EXPECT(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#abfd534772468c2234779ba395db66409">channelExists</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), chan));</div>
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>(settleTimepoint - settleDelay / 2);</div>
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>(settleTimepoint - settleDelay / 2);</div>
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; {</div>
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="comment">// receiver can still claim</span></div>
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> chanBal = <a class="code" href="structripple_1_1test_1_1PayChan__test.html#ab1e1adbddf67c33f31db2a59fb8df650">channelBalance</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), chan);</div>
@@ -594,7 +594,7 @@ $(function() {
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> feeDrops = env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>()-&gt;fees().base;</div>
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; BEAST_EXPECT(env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#af09170466fd01f912527c64d7a34dc1e">balance</a>(bob) == preBob + delta - feeDrops);</div>
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; }</div>
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>(settleTimepoint);</div>
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>(settleTimepoint);</div>
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; {</div>
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="comment">// past settleTime, channel will close</span></div>
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> chanBal = <a class="code" href="structripple_1_1test_1_1PayChan__test.html#ab1e1adbddf67c33f31db2a59fb8df650">channelBalance</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), chan);</div>
@@ -805,12 +805,12 @@ $(function() {
<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ae2349266cb09d1f1c3de06606ebdf9e2">fund</a>(<a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(10000), alice, bob, carol);</div>
<div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; </div>
<div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; env(<a class="code" href="namespaceripple_1_1test_1_1jtx.html#a50cacef3867fc01273aa9c29231f9a7c">fset</a>(bob, <a class="code" href="namespaceripple.html#ac8702c2a063621ce9c6b31ed17e7bb9c">asfDepositAuth</a>));</div>
<div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; </div>
<div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> pk = alice.pk();</div>
<div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> settleDelay = 100s;</div>
<div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#adf68cfcb13430224ad4c6eeecdf56617">create</a>(alice, bob, <a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(1000), settleDelay, pk));</div>
<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; </div>
<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> chan = <a class="code" href="structripple_1_1test_1_1PayChan__test.html#a9ae2c2887859e49547ca0f457c2691a4">channel</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), alice, bob);</div>
<div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; BEAST_EXPECT(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#ab1e1adbddf67c33f31db2a59fb8df650">channelBalance</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), chan) == <a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(0));</div>
@@ -819,12 +819,12 @@ $(function() {
<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; <span class="comment">// alice can add more funds to the channel even though bob has</span></div>
<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; <span class="comment">// asfDepositAuth set.</span></div>
<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#a317daba9a82d43eeec2d8f6df217ca90">fund</a>(alice, chan, <a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(1000)));</div>
<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; </div>
<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; <span class="comment">// alice claims. Fails because bob&#39;s lsfDepositAuth flag is set.</span></div>
<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#a7bf25fd4a1baa71da784aaa6a7c8ac89">claim</a>(alice, chan, <a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(500).value(), <a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(500).value()),</div>
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; <a class="code" href="classripple_1_1test_1_1jtx_1_1ter.html">ter</a>(<a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca9af7057961bc54674f4a6c2dd8ed6ab9">tecNO_PERMISSION</a>));</div>
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; </div>
<div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; <span class="comment">// Claim with signature</span></div>
<div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> baseFee = env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>()-&gt;fees().base;</div>
@@ -837,19 +837,19 @@ $(function() {
<div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; <span class="comment">// lsfDepositAuth flag set.</span></div>
<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#a7bf25fd4a1baa71da784aaa6a7c8ac89">claim</a>(alice, chan, delta, delta, <a class="code" href="classripple_1_1Slice.html">Slice</a>(<a class="code" href="classripple_1_1test_1_1jtx_1_1sig.html">sig</a>), pk),</div>
<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; <a class="code" href="classripple_1_1test_1_1jtx_1_1ter.html">ter</a>(<a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca9af7057961bc54674f4a6c2dd8ed6ab9">tecNO_PERMISSION</a>));</div>
<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; BEAST_EXPECT(env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#af09170466fd01f912527c64d7a34dc1e">balance</a>(bob) == preBob);</div>
<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; </div>
<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; <span class="comment">// bob claims but omits the signature. Fails because only</span></div>
<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; <span class="comment">// alice can claim without a signature.</span></div>
<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#a7bf25fd4a1baa71da784aaa6a7c8ac89">claim</a>(bob, chan, delta, delta), <a class="code" href="classripple_1_1test_1_1jtx_1_1ter.html">ter</a>(<a class="code" href="namespaceripple.html#afe21c8454670d46fb93751a5edffed46aecc18d207c14edd554462f82555e9d92">temBAD_SIGNATURE</a>));</div>
<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; </div>
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; <span class="comment">// bob claims with signature. Succeeds even though bob&#39;s</span></div>
<div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; <span class="comment">// lsfDepositAuth flag is set since bob submitted the</span></div>
<div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; <span class="comment">// transaction.</span></div>
<div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#a7bf25fd4a1baa71da784aaa6a7c8ac89">claim</a>(bob, chan, delta, delta, <a class="code" href="classripple_1_1Slice.html">Slice</a>(<a class="code" href="classripple_1_1test_1_1jtx_1_1sig.html">sig</a>), pk));</div>
<div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; BEAST_EXPECT(env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#af09170466fd01f912527c64d7a34dc1e">balance</a>(bob) == preBob + delta - baseFee);</div>
<div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; }</div>
<div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; {</div>
@@ -861,12 +861,12 @@ $(function() {
<div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; <span class="comment">// alice) may claim.</span></div>
<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#a7bf25fd4a1baa71da784aaa6a7c8ac89">claim</a>(carol, chan, delta, delta, <a class="code" href="classripple_1_1Slice.html">Slice</a>(<a class="code" href="classripple_1_1test_1_1jtx_1_1sig.html">sig</a>), pk),</div>
<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; <a class="code" href="classripple_1_1test_1_1jtx_1_1ter.html">ter</a>(<a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca9af7057961bc54674f4a6c2dd8ed6ab9">tecNO_PERMISSION</a>));</div>
<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; </div>
<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; <span class="comment">// bob preauthorizes carol for deposit. But after that carol</span></div>
<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; <span class="comment">// still can&#39;t claim since only channel participants may claim.</span></div>
<div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; env(deposit::auth(bob, carol));</div>
<div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; </div>
<div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#a7bf25fd4a1baa71da784aaa6a7c8ac89">claim</a>(carol, chan, delta, delta, <a class="code" href="classripple_1_1Slice.html">Slice</a>(<a class="code" href="classripple_1_1test_1_1jtx_1_1sig.html">sig</a>), pk),</div>
<div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; <a class="code" href="classripple_1_1test_1_1jtx_1_1ter.html">ter</a>(<a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca9af7057961bc54674f4a6c2dd8ed6ab9">tecNO_PERMISSION</a>));</div>
@@ -875,15 +875,15 @@ $(function() {
<div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; <span class="comment">// for bob.</span></div>
<div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#a7bf25fd4a1baa71da784aaa6a7c8ac89">claim</a>(alice, chan, delta, delta, <a class="code" href="classripple_1_1Slice.html">Slice</a>(<a class="code" href="classripple_1_1test_1_1jtx_1_1sig.html">sig</a>), pk),</div>
<div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; <a class="code" href="classripple_1_1test_1_1jtx_1_1ter.html">ter</a>(<a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca9af7057961bc54674f4a6c2dd8ed6ab9">tecNO_PERMISSION</a>));</div>
<div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; </div>
<div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; <span class="comment">// However if bob preauthorizes alice for deposit then she can</span></div>
<div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; <span class="comment">// successfully submit a claim.</span></div>
<div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; env(deposit::auth(bob, alice));</div>
<div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; </div>
<div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#a7bf25fd4a1baa71da784aaa6a7c8ac89">claim</a>(alice, chan, delta, delta, <a class="code" href="classripple_1_1Slice.html">Slice</a>(<a class="code" href="classripple_1_1test_1_1jtx_1_1sig.html">sig</a>), pk));</div>
<div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; </div>
<div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; BEAST_EXPECT(</div>
<div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#af09170466fd01f912527c64d7a34dc1e">balance</a>(bob) == preBob + delta - (3 * baseFee));</div>
@@ -894,19 +894,19 @@ $(function() {
<div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> delta = <a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(800).value();</div>
<div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; </div>
<div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; env(deposit::unauth(bob, alice));</div>
<div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; </div>
<div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; <span class="comment">// alice claims and fails since she is no longer preauthorized.</span></div>
<div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#a7bf25fd4a1baa71da784aaa6a7c8ac89">claim</a>(alice, chan, delta, delta), <a class="code" href="classripple_1_1test_1_1jtx_1_1ter.html">ter</a>(<a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca9af7057961bc54674f4a6c2dd8ed6ab9">tecNO_PERMISSION</a>));</div>
<div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; </div>
<div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; <span class="comment">// bob clears lsfDepositAuth. Now alice can claim.</span></div>
<div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160; env(<a class="code" href="namespaceripple_1_1test_1_1jtx.html#a18cde110bb3ad7dce97ac11a4b251d0e">fclear</a>(bob, <a class="code" href="namespaceripple.html#ac8702c2a063621ce9c6b31ed17e7bb9c">asfDepositAuth</a>));</div>
<div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160; </div>
<div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160; <span class="comment">// alice claims successfully.</span></div>
<div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#a7bf25fd4a1baa71da784aaa6a7c8ac89">claim</a>(alice, chan, delta, delta));</div>
<div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; BEAST_EXPECT(</div>
<div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#af09170466fd01f912527c64d7a34dc1e">balance</a>(bob) == preBob + <a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(800) - (5 * baseFee));</div>
<div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; }</div>
@@ -952,7 +952,7 @@ $(function() {
<div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> settleDelay = 3600s;</div>
<div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> channelFunds = <a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(1000);</div>
<div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#adf68cfcb13430224ad4c6eeecdf56617">create</a>(alice, bob, channelFunds, settleDelay, pk));</div>
<div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> chan1Str = <a class="code" href="namespaceripple.html#a96888695e8d79474e080c334f149e30a">to_string</a>(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#a9ae2c2887859e49547ca0f457c2691a4">channel</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), alice, bob));</div>
<div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; {</div>
<div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> r =</div>
@@ -976,7 +976,7 @@ $(function() {
<div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; BEAST_EXPECT(r[jss::result][jss::validated]);</div>
<div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; }</div>
<div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#adf68cfcb13430224ad4c6eeecdf56617">create</a>(alice, bob, channelFunds, settleDelay, pk));</div>
<div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> chan2Str = <a class="code" href="namespaceripple.html#a96888695e8d79474e080c334f149e30a">to_string</a>(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#a9ae2c2887859e49547ca0f457c2691a4">channel</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), alice, bob));</div>
<div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; {</div>
<div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> r =</div>
@@ -1016,7 +1016,7 @@ $(function() {
<div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> <span class="keyword">const</span>&amp; a : bobs)</div>
<div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160; {</div>
<div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ae2349266cb09d1f1c3de06606ebdf9e2">fund</a>(<a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(10000), a);</div>
<div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; }</div>
<div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; </div>
<div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; {</div>
@@ -1160,7 +1160,7 @@ $(function() {
<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> settleDelay = 3600s;</div>
<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> channelFunds = <a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(1000);</div>
<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#adf68cfcb13430224ad4c6eeecdf56617">create</a>(alice, bob, channelFunds, settleDelay, pk));</div>
<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> chan1Str = <a class="code" href="namespaceripple.html#a96888695e8d79474e080c334f149e30a">to_string</a>(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#a9ae2c2887859e49547ca0f457c2691a4">channel</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), alice, bob));</div>
<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160; <a class="codeRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> chan1PkStr;</div>
<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160; {</div>
@@ -1189,7 +1189,7 @@ $(function() {
<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160; BEAST_EXPECT(r[jss::result][jss::validated]);</div>
<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160; }</div>
<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#adf68cfcb13430224ad4c6eeecdf56617">create</a>(alice, bob, channelFunds, settleDelay, pk));</div>
<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> chan2Str = <a class="code" href="namespaceripple.html#a96888695e8d79474e080c334f149e30a">to_string</a>(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#a9ae2c2887859e49547ca0f457c2691a4">channel</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), alice, bob));</div>
<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>&#160; {</div>
<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> r =</div>
@@ -1327,7 +1327,7 @@ $(function() {
<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>&#160; <span class="comment">// Try to explicitly specify secp256k1 and Ed25519 keys:</span></div>
<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#adf68cfcb13430224ad4c6eeecdf56617">create</a>(</div>
<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160; charlie, alice, channelFunds, settleDelay, charlie.pk()));</div>
<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160; </div>
<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> chan =</div>
<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160; <a class="code" href="namespaceripple.html#a96888695e8d79474e080c334f149e30a">to_string</a>(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#a9ae2c2887859e49547ca0f457c2691a4">channel</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), charlie, alice));</div>
@@ -1641,7 +1641,7 @@ $(function() {
<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>&#160; *<span class="keyword">this</span>, <a class="code" href="namespaceripple_1_1test_1_1jtx.html#af5441d84d5977d52246c5226313560d4">supported_amendments</a>() - <a class="code" href="namespaceripple.html#afd7eb1f95de1f953b43cfd2adb902eec">fixPayChanRecipientOwnerDir</a>);</div>
<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ae2349266cb09d1f1c3de06606ebdf9e2">fund</a>(<a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(10000), alice, bob);</div>
<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#adf68cfcb13430224ad4c6eeecdf56617">create</a>(alice, bob, <a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(1000), settleDelay, pk));</div>
<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> [chan, chanSle] =</div>
<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>&#160; <a class="code" href="structripple_1_1test_1_1PayChan__test.html#a63c94f07d55e987c822a95a7dc369ccd">channelKeyAndSle</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), alice, bob);</div>
<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>&#160; BEAST_EXPECT(inOwnerDir(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), alice, chanSle));</div>
@@ -1662,7 +1662,7 @@ $(function() {
<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span>&#160; <a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env(*<span class="keyword">this</span>, <a class="code" href="namespaceripple_1_1test_1_1jtx.html#af5441d84d5977d52246c5226313560d4">supported_amendments</a>());</div>
<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ae2349266cb09d1f1c3de06606ebdf9e2">fund</a>(<a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(10000), alice, bob);</div>
<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#adf68cfcb13430224ad4c6eeecdf56617">create</a>(alice, bob, <a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(1000), settleDelay, pk));</div>
<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> [chan, chanSle] =</div>
<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>&#160; <a class="code" href="structripple_1_1test_1_1PayChan__test.html#a63c94f07d55e987c822a95a7dc369ccd">channelKeyAndSle</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), alice, bob);</div>
<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>&#160; BEAST_EXPECT(inOwnerDir(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), alice, chanSle));</div>
@@ -1686,7 +1686,7 @@ $(function() {
<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ae2349266cb09d1f1c3de06606ebdf9e2">fund</a>(<a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(10000), alice, bob);</div>
<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>&#160; <span class="comment">// create the channel before the amendment activates</span></div>
<div class="line"><a name="l01617"></a><span class="lineno"> 1617</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#adf68cfcb13430224ad4c6eeecdf56617">create</a>(alice, bob, <a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(1000), settleDelay, pk));</div>
<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> [chan, chanSle] =</div>
<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span>&#160; <a class="code" href="structripple_1_1test_1_1PayChan__test.html#a63c94f07d55e987c822a95a7dc369ccd">channelKeyAndSle</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), alice, bob);</div>
<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span>&#160; BEAST_EXPECT(inOwnerDir(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), alice, chanSle));</div>
@@ -1694,7 +1694,7 @@ $(function() {
<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span>&#160; BEAST_EXPECT(!inOwnerDir(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), bob, chanSle));</div>
<div class="line"><a name="l01624"></a><span class="lineno"> 1624</span>&#160; BEAST_EXPECT(ownerDirCount(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), bob) == 0);</div>
<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ab69e6c6873e1ea21296c09d6ce9b92c3">enableFeature</a>(<a class="code" href="namespaceripple.html#afd7eb1f95de1f953b43cfd2adb902eec">fixPayChanRecipientOwnerDir</a>);</div>
<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span>&#160; BEAST_EXPECT(</div>
<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>()-&gt;rules().enabled(<a class="code" href="namespaceripple.html#afd7eb1f95de1f953b43cfd2adb902eec">fixPayChanRecipientOwnerDir</a>));</div>
<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span>&#160; <span class="comment">// These checks look redundant, but if you don&#39;t `close` after the</span></div>
@@ -1730,14 +1730,14 @@ $(function() {
<div class="line"><a name="l01659"></a><span class="lineno"> 1659</span>&#160; <span class="comment">// number is at least 256 less than the current ledger sequence</span></div>
<div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> minRmSeq = env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2ef09f6f41b7d8a2dc89175e3b108f87">seq</a>(toRm) + 257;</div>
<div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>()-&gt;seq() &lt; minRmSeq;</div>
<div class="line"><a name="l01662"></a><span class="lineno"> 1662</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>())</div>
<div class="line"><a name="l01662"></a><span class="lineno"> 1662</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>())</div>
<div class="line"><a name="l01663"></a><span class="lineno"> 1663</span>&#160; {</div>
<div class="line"><a name="l01664"></a><span class="lineno"> 1664</span>&#160; }</div>
<div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>&#160; </div>
<div class="line"><a name="l01666"></a><span class="lineno"> 1666</span>&#160; env(<a class="code" href="namespaceripple_1_1test_1_1jtx.html#ada147bbc773967de4235fc8ed1c89562">acctdelete</a>(toRm, dst),</div>
<div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>&#160; <a class="code" href="classripple_1_1test_1_1jtx_1_1fee.html">fee</a>(<a class="code" href="namespaceripple_1_1test_1_1jtx.html#a47271eb5e7eb9b5aada383ccfaf9c0cf">drops</a>(env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>()-&gt;fees().increment)),</div>
<div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>&#160; <a class="code" href="classripple_1_1test_1_1jtx_1_1ter.html">ter</a>(expectedTer));</div>
<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l01670"></a><span class="lineno"> 1670</span>&#160; this-&gt;BEAST_EXPECT(</div>
<div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>&#160; <a class="code" href="namespaceripple.html#a5b31f337f444082f547ef1838e7064fc">isTesSuccess</a>(expectedTer) ==</div>
<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>&#160; !env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ae449949223905ec9bd5b8dbc1c9e9ded">closed</a>()-&gt;exists(<a class="code" href="namespaceripple_1_1keylet.html#a50c370db96b4fdcdd202d9c2c38afce9">keylet::account</a>(toRm.id())));</div>
@@ -1754,14 +1754,14 @@ $(function() {
<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>&#160; : <a class="code" href="namespaceripple_1_1test_1_1jtx.html#af5441d84d5977d52246c5226313560d4">supported_amendments</a>() - <a class="code" href="namespaceripple.html#afd7eb1f95de1f953b43cfd2adb902eec">fixPayChanRecipientOwnerDir</a>;</div>
<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>&#160; <a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env{*<span class="keyword">this</span>, amd};</div>
<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ae2349266cb09d1f1c3de06606ebdf9e2">fund</a>(<a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(10000), alice, bob, carol);</div>
<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> feeDrops = env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>()-&gt;fees().base;</div>
<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>&#160; </div>
<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>&#160; <span class="comment">// Create a channel from alice to bob</span></div>
<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> pk = alice.pk();</div>
<div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> settleDelay = 100s;</div>
<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#adf68cfcb13430224ad4c6eeecdf56617">create</a>(alice, bob, <a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(1000), settleDelay, pk));</div>
<div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l01694"></a><span class="lineno"> 1694</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> chan = <a class="code" href="structripple_1_1test_1_1PayChan__test.html#a9ae2c2887859e49547ca0f457c2691a4">channel</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), alice, bob);</div>
<div class="line"><a name="l01695"></a><span class="lineno"> 1695</span>&#160; BEAST_EXPECT(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#ab1e1adbddf67c33f31db2a59fb8df650">channelBalance</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), chan) == <a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(0));</div>
<div class="line"><a name="l01696"></a><span class="lineno"> 1696</span>&#160; BEAST_EXPECT(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#ae05b84ca1fdac1d85b38698c1c7832cb">channelAmount</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), chan) == <a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(1000));</div>
@@ -1789,7 +1789,7 @@ $(function() {
<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span>&#160; <span class="keywordflow">if</span> (withOwnerDirFix)</div>
<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>&#160; {</div>
<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#a7bf25fd4a1baa71da784aaa6a7c8ac89">claim</a>(alice, chan, reqBal, authAmt));</div>
<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>&#160; BEAST_EXPECT(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#ab1e1adbddf67c33f31db2a59fb8df650">channelBalance</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), chan) == reqBal);</div>
<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>&#160; BEAST_EXPECT(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#ae05b84ca1fdac1d85b38698c1c7832cb">channelAmount</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), chan) == chanAmt);</div>
<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>&#160; BEAST_EXPECT(env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#af09170466fd01f912527c64d7a34dc1e">balance</a>(bob) == preBob + delta);</div>
@@ -1799,7 +1799,7 @@ $(function() {
<div class="line"><a name="l01728"></a><span class="lineno"> 1728</span>&#160; {</div>
<div class="line"><a name="l01729"></a><span class="lineno"> 1729</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> preAlice = env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#af09170466fd01f912527c64d7a34dc1e">balance</a>(alice);</div>
<div class="line"><a name="l01730"></a><span class="lineno"> 1730</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#a7bf25fd4a1baa71da784aaa6a7c8ac89">claim</a>(alice, chan, reqBal, authAmt), <a class="code" href="classripple_1_1test_1_1jtx_1_1ter.html">ter</a>(<a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca1207baad8c378dc23cd2fa4c4276844d">tecNO_DST</a>));</div>
<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>&#160; BEAST_EXPECT(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#ab1e1adbddf67c33f31db2a59fb8df650">channelBalance</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), chan) == chanBal);</div>
<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span>&#160; BEAST_EXPECT(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#ae05b84ca1fdac1d85b38698c1c7832cb">channelAmount</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), chan) == chanAmt);</div>
<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span>&#160; BEAST_EXPECT(env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#af09170466fd01f912527c64d7a34dc1e">balance</a>(bob) == preBob);</div>
@@ -1811,7 +1811,7 @@ $(function() {
<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span>&#160; {</div>
<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> preAlice = env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#af09170466fd01f912527c64d7a34dc1e">balance</a>(alice);</div>
<div class="line"><a name="l01742"></a><span class="lineno"> 1742</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#a317daba9a82d43eeec2d8f6df217ca90">fund</a>(alice, chan, <a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(1000)));</div>
<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span>&#160; BEAST_EXPECT(</div>
<div class="line"><a name="l01745"></a><span class="lineno"> 1745</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#af09170466fd01f912527c64d7a34dc1e">balance</a>(alice) == preAlice - <a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(1000) - feeDrops);</div>
<div class="line"><a name="l01746"></a><span class="lineno"> 1746</span>&#160; BEAST_EXPECT(</div>
@@ -1822,7 +1822,7 @@ $(function() {
<div class="line"><a name="l01751"></a><span class="lineno"> 1751</span>&#160; {</div>
<div class="line"><a name="l01752"></a><span class="lineno"> 1752</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> preAlice = env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#af09170466fd01f912527c64d7a34dc1e">balance</a>(alice);</div>
<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#a317daba9a82d43eeec2d8f6df217ca90">fund</a>(alice, chan, <a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(1000)), <a class="code" href="classripple_1_1test_1_1jtx_1_1ter.html">ter</a>(<a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca1207baad8c378dc23cd2fa4c4276844d">tecNO_DST</a>));</div>
<div class="line"><a name="l01754"></a><span class="lineno"> 1754</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l01754"></a><span class="lineno"> 1754</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l01755"></a><span class="lineno"> 1755</span>&#160; BEAST_EXPECT(env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#af09170466fd01f912527c64d7a34dc1e">balance</a>(alice) == preAlice - feeDrops);</div>
<div class="line"><a name="l01756"></a><span class="lineno"> 1756</span>&#160; BEAST_EXPECT(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#ae05b84ca1fdac1d85b38698c1c7832cb">channelAmount</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), chan) == chanAmt);</div>
<div class="line"><a name="l01757"></a><span class="lineno"> 1757</span>&#160; }</div>
@@ -1830,12 +1830,12 @@ $(function() {
<div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>&#160; {</div>
<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span>&#160; <span class="comment">// Owner closes, will close after settleDelay</span></div>
<div class="line"><a name="l01761"></a><span class="lineno"> 1761</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#a7bf25fd4a1baa71da784aaa6a7c8ac89">claim</a>(alice, chan), <a class="code" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code" href="namespaceripple.html#a78a6567a2640f956218079f498874c3f">tfClose</a>));</div>
<div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>&#160; <span class="comment">// settle delay hasn&#39;t ellapsed. Channels should exist.</span></div>
<div class="line"><a name="l01764"></a><span class="lineno"> 1764</span>&#160; BEAST_EXPECT(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#abfd534772468c2234779ba395db66409">channelExists</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), chan));</div>
<div class="line"><a name="l01765"></a><span class="lineno"> 1765</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> closeTime = env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>()-&gt;info().parentCloseTime;</div>
<div class="line"><a name="l01766"></a><span class="lineno"> 1766</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> minExpiration = closeTime + settleDelay;</div>
<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>(minExpiration);</div>
<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>(minExpiration);</div>
<div class="line"><a name="l01768"></a><span class="lineno"> 1768</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#a7bf25fd4a1baa71da784aaa6a7c8ac89">claim</a>(alice, chan), <a class="code" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code" href="namespaceripple.html#a78a6567a2640f956218079f498874c3f">tfClose</a>));</div>
<div class="line"><a name="l01769"></a><span class="lineno"> 1769</span>&#160; BEAST_EXPECT(!<a class="code" href="structripple_1_1test_1_1PayChan__test.html#abfd534772468c2234779ba395db66409">channelExists</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), chan));</div>
<div class="line"><a name="l01770"></a><span class="lineno"> 1770</span>&#160; }</div>
@@ -1846,14 +1846,14 @@ $(function() {
<div class="line"><a name="l01775"></a><span class="lineno"> 1775</span>&#160; <a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html">Env</a> env{</div>
<div class="line"><a name="l01776"></a><span class="lineno"> 1776</span>&#160; *<span class="keyword">this</span>, <a class="code" href="namespaceripple_1_1test_1_1jtx.html#af5441d84d5977d52246c5226313560d4">supported_amendments</a>() - <a class="code" href="namespaceripple.html#afd7eb1f95de1f953b43cfd2adb902eec">fixPayChanRecipientOwnerDir</a>};</div>
<div class="line"><a name="l01777"></a><span class="lineno"> 1777</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ae2349266cb09d1f1c3de06606ebdf9e2">fund</a>(<a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(10000), alice, bob, carol);</div>
<div class="line"><a name="l01778"></a><span class="lineno"> 1778</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l01778"></a><span class="lineno"> 1778</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l01779"></a><span class="lineno"> 1779</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> feeDrops = env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>()-&gt;fees().base;</div>
<div class="line"><a name="l01780"></a><span class="lineno"> 1780</span>&#160; </div>
<div class="line"><a name="l01781"></a><span class="lineno"> 1781</span>&#160; <span class="comment">// Create a channel from alice to bob</span></div>
<div class="line"><a name="l01782"></a><span class="lineno"> 1782</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> pk = alice.pk();</div>
<div class="line"><a name="l01783"></a><span class="lineno"> 1783</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> settleDelay = 100s;</div>
<div class="line"><a name="l01784"></a><span class="lineno"> 1784</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#adf68cfcb13430224ad4c6eeecdf56617">create</a>(alice, bob, <a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(1000), settleDelay, pk));</div>
<div class="line"><a name="l01785"></a><span class="lineno"> 1785</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l01785"></a><span class="lineno"> 1785</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l01786"></a><span class="lineno"> 1786</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> chan = <a class="code" href="structripple_1_1test_1_1PayChan__test.html#a9ae2c2887859e49547ca0f457c2691a4">channel</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), alice, bob);</div>
<div class="line"><a name="l01787"></a><span class="lineno"> 1787</span>&#160; BEAST_EXPECT(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#ab1e1adbddf67c33f31db2a59fb8df650">channelBalance</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), chan) == <a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(0));</div>
<div class="line"><a name="l01788"></a><span class="lineno"> 1788</span>&#160; BEAST_EXPECT(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#ae05b84ca1fdac1d85b38698c1c7832cb">channelAmount</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), chan) == <a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(1000));</div>
@@ -1876,7 +1876,7 @@ $(function() {
<div class="line"><a name="l01805"></a><span class="lineno"> 1805</span>&#160; <span class="comment">// claim should fail, since bob doesn&#39;t exist</span></div>
<div class="line"><a name="l01806"></a><span class="lineno"> 1806</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> preAlice = env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#af09170466fd01f912527c64d7a34dc1e">balance</a>(alice);</div>
<div class="line"><a name="l01807"></a><span class="lineno"> 1807</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#a7bf25fd4a1baa71da784aaa6a7c8ac89">claim</a>(alice, chan, reqBal, authAmt), <a class="code" href="classripple_1_1test_1_1jtx_1_1ter.html">ter</a>(<a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca1207baad8c378dc23cd2fa4c4276844d">tecNO_DST</a>));</div>
<div class="line"><a name="l01808"></a><span class="lineno"> 1808</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l01808"></a><span class="lineno"> 1808</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l01809"></a><span class="lineno"> 1809</span>&#160; BEAST_EXPECT(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#ab1e1adbddf67c33f31db2a59fb8df650">channelBalance</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), chan) == chanBal);</div>
<div class="line"><a name="l01810"></a><span class="lineno"> 1810</span>&#160; BEAST_EXPECT(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#ae05b84ca1fdac1d85b38698c1c7832cb">channelAmount</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), chan) == chanAmt);</div>
<div class="line"><a name="l01811"></a><span class="lineno"> 1811</span>&#160; BEAST_EXPECT(env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#af09170466fd01f912527c64d7a34dc1e">balance</a>(bob) == preBob);</div>
@@ -1887,14 +1887,14 @@ $(function() {
<div class="line"><a name="l01816"></a><span class="lineno"> 1816</span>&#160; <span class="comment">// fund should fail, sincebob doesn&#39;t exist</span></div>
<div class="line"><a name="l01817"></a><span class="lineno"> 1817</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> preAlice = env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#af09170466fd01f912527c64d7a34dc1e">balance</a>(alice);</div>
<div class="line"><a name="l01818"></a><span class="lineno"> 1818</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#a317daba9a82d43eeec2d8f6df217ca90">fund</a>(alice, chan, <a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(1000)), <a class="code" href="classripple_1_1test_1_1jtx_1_1ter.html">ter</a>(<a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca1207baad8c378dc23cd2fa4c4276844d">tecNO_DST</a>));</div>
<div class="line"><a name="l01819"></a><span class="lineno"> 1819</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l01819"></a><span class="lineno"> 1819</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l01820"></a><span class="lineno"> 1820</span>&#160; BEAST_EXPECT(env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#af09170466fd01f912527c64d7a34dc1e">balance</a>(alice) == preAlice - feeDrops);</div>
<div class="line"><a name="l01821"></a><span class="lineno"> 1821</span>&#160; BEAST_EXPECT(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#ae05b84ca1fdac1d85b38698c1c7832cb">channelAmount</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), chan) == chanAmt);</div>
<div class="line"><a name="l01822"></a><span class="lineno"> 1822</span>&#160; }</div>
<div class="line"><a name="l01823"></a><span class="lineno"> 1823</span>&#160; </div>
<div class="line"><a name="l01824"></a><span class="lineno"> 1824</span>&#160; <span class="comment">// resurrect bob</span></div>
<div class="line"><a name="l01825"></a><span class="lineno"> 1825</span>&#160; env(<a class="code" href="namespaceripple_1_1test_1_1jtx.html#a7816b23daf9b325ea1f88cc121a53d05">pay</a>(alice, bob, <a class="code" href="namespaceripple_1_1test_1_1jtx.html#a37cf35ddf6bc8f4c6cbfa3fba57d6815">XRP</a>(20)));</div>
<div class="line"><a name="l01826"></a><span class="lineno"> 1826</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l01826"></a><span class="lineno"> 1826</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l01827"></a><span class="lineno"> 1827</span>&#160; BEAST_EXPECT(env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ae449949223905ec9bd5b8dbc1c9e9ded">closed</a>()-&gt;exists(<a class="code" href="namespaceripple_1_1keylet.html#a50c370db96b4fdcdd202d9c2c38afce9">keylet::account</a>(bob.id())));</div>
<div class="line"><a name="l01828"></a><span class="lineno"> 1828</span>&#160; </div>
<div class="line"><a name="l01829"></a><span class="lineno"> 1829</span>&#160; {</div>
@@ -1937,12 +1937,12 @@ $(function() {
<div class="line"><a name="l01866"></a><span class="lineno"> 1866</span>&#160; {</div>
<div class="line"><a name="l01867"></a><span class="lineno"> 1867</span>&#160; <span class="comment">// Owner closes, will close after settleDelay</span></div>
<div class="line"><a name="l01868"></a><span class="lineno"> 1868</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#a7bf25fd4a1baa71da784aaa6a7c8ac89">claim</a>(alice, chan), <a class="code" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code" href="namespaceripple.html#a78a6567a2640f956218079f498874c3f">tfClose</a>));</div>
<div class="line"><a name="l01869"></a><span class="lineno"> 1869</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>();</div>
<div class="line"><a name="l01869"></a><span class="lineno"> 1869</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>();</div>
<div class="line"><a name="l01870"></a><span class="lineno"> 1870</span>&#160; <span class="comment">// settle delay hasn&#39;t ellapsed. Channels should exist.</span></div>
<div class="line"><a name="l01871"></a><span class="lineno"> 1871</span>&#160; BEAST_EXPECT(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#abfd534772468c2234779ba395db66409">channelExists</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), chan));</div>
<div class="line"><a name="l01872"></a><span class="lineno"> 1872</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> closeTime = env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>()-&gt;info().parentCloseTime;</div>
<div class="line"><a name="l01873"></a><span class="lineno"> 1873</span>&#160; <span class="keyword">auto</span> <span class="keyword">const</span> minExpiration = closeTime + settleDelay;</div>
<div class="line"><a name="l01874"></a><span class="lineno"> 1874</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">close</a>(minExpiration);</div>
<div class="line"><a name="l01874"></a><span class="lineno"> 1874</span>&#160; env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">close</a>(minExpiration);</div>
<div class="line"><a name="l01875"></a><span class="lineno"> 1875</span>&#160; env(<a class="code" href="structripple_1_1test_1_1PayChan__test.html#a7bf25fd4a1baa71da784aaa6a7c8ac89">claim</a>(alice, chan), <a class="code" href="classripple_1_1test_1_1jtx_1_1txflags.html">txflags</a>(<a class="code" href="namespaceripple.html#a78a6567a2640f956218079f498874c3f">tfClose</a>));</div>
<div class="line"><a name="l01876"></a><span class="lineno"> 1876</span>&#160; BEAST_EXPECT(!<a class="code" href="structripple_1_1test_1_1PayChan__test.html#abfd534772468c2234779ba395db66409">channelExists</a>(*env.<a class="code" href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">current</a>(), chan));</div>
<div class="line"><a name="l01877"></a><span class="lineno"> 1877</span>&#160; }</div>
@@ -1999,7 +1999,7 @@ $(function() {
<div class="ttc" id="astructripple_1_1test_1_1PayChan__test_html_adf68cfcb13430224ad4c6eeecdf56617"><div class="ttname"><a href="structripple_1_1test_1_1PayChan__test.html#adf68cfcb13430224ad4c6eeecdf56617">ripple::test::PayChan_test::create</a></div><div class="ttdeci">static Json::Value create(jtx::Account const &amp;account, jtx::Account const &amp;to, STAmount const &amp;amount, NetClock::duration const &amp;settleDelay, PublicKey const &amp;pk, boost::optional&lt; NetClock::time_point &gt; const &amp;cancelAfter=boost::none, boost::optional&lt; std::uint32_t &gt; const &amp;dstTag=boost::none)</div><div class="ttdef"><b>Definition:</b> <a href="PayChan__test_8cpp_source.html#l00110">PayChan_test.cpp:110</a></div></div>
<div class="ttc" id="avector_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a></div><div class="ttdoc">STL class.</div></div>
<div class="ttc" id="afind_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/find.html">std::find</a></div><div class="ttdeci">T find(T... args)</div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_ab69e6c6873e1ea21296c09d6ce9b92c3"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#ab69e6c6873e1ea21296c09d6ce9b92c3">ripple::test::jtx::Env::enableFeature</a></div><div class="ttdeci">void enableFeature(uint256 const feature)</div><div class="ttdef"><b>Definition:</b> <a href="Env_8cpp_source.html#l00435">Env.cpp:435</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_ab69e6c6873e1ea21296c09d6ce9b92c3"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#ab69e6c6873e1ea21296c09d6ce9b92c3">ripple::test::jtx::Env::enableFeature</a></div><div class="ttdeci">void enableFeature(uint256 const feature)</div><div class="ttdef"><b>Definition:</b> <a href="Env_8cpp_source.html#l00443">Env.cpp:443</a></div></div>
<div class="ttc" id="asize_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/set/size.html">std::set::size</a></div><div class="ttdeci">T size(T... args)</div></div>
<div class="ttc" id="anamespaceripple_html_a75d94908bf27ab4f7ec61a457e52ee8e"><div class="ttname"><a href="namespaceripple.html#a75d94908bf27ab4f7ec61a457e52ee8e">ripple::sfSequence</a></div><div class="ttdeci">const SF_U32 sfSequence(access, STI_UINT32, 4, &quot;Sequence&quot;)</div><div class="ttdef"><b>Definition:</b> <a href="SField_8h_source.html#l00355">SField.h:355</a></div></div>
<div class="ttc" id="aclassripple_1_1STAmount_html_a02bef3696a9cb07b72e5ec750e7ea456"><div class="ttname"><a href="classripple_1_1STAmount.html#a02bef3696a9cb07b72e5ec750e7ea456">ripple::STAmount::getJson</a></div><div class="ttdeci">Json::Value getJson(JsonOptions) const override</div><div class="ttdef"><b>Definition:</b> <a href="STAmount_8cpp_source.html#l00594">STAmount.cpp:594</a></div></div>
@@ -2015,7 +2015,7 @@ $(function() {
<div class="ttc" id="anamespaceripple_html_ac8702c2a063621ce9c6b31ed17e7bb9c"><div class="ttname"><a href="namespaceripple.html#ac8702c2a063621ce9c6b31ed17e7bb9c">ripple::asfDepositAuth</a></div><div class="ttdeci">const std::uint32_t asfDepositAuth</div><div class="ttdef"><b>Definition:</b> <a href="TxFlags_8h_source.html#l00073">TxFlags.h:73</a></div></div>
<div class="ttc" id="aclassripple_1_1Buffer_html"><div class="ttname"><a href="classripple_1_1Buffer.html">ripple::Buffer</a></div><div class="ttdoc">Like std::vector&lt;char&gt; but better.</div><div class="ttdef"><b>Definition:</b> <a href="Buffer_8h_source.html#l00035">Buffer.h:35</a></div></div>
<div class="ttc" id="anamespaceripple_html_acafda9b3b9bf48dd05234b013a8009df"><div class="ttname"><a href="namespaceripple.html#acafda9b3b9bf48dd05234b013a8009df">ripple::asfDisallowXRP</a></div><div class="ttdeci">const std::uint32_t asfDisallowXRP</div><div class="ttdef"><b>Definition:</b> <a href="TxFlags_8h_source.html#l00067">TxFlags.h:67</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_af09170466fd01f912527c64d7a34dc1e"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#af09170466fd01f912527c64d7a34dc1e">ripple::test::jtx::Env::balance</a></div><div class="ttdeci">PrettyAmount balance(Account const &amp;account) const</div><div class="ttdoc">Returns the XRP balance on an account.</div><div class="ttdef"><b>Definition:</b> <a href="Env_8cpp_source.html#l00156">Env.cpp:156</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_af09170466fd01f912527c64d7a34dc1e"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#af09170466fd01f912527c64d7a34dc1e">ripple::test::jtx::Env::balance</a></div><div class="ttdeci">PrettyAmount balance(Account const &amp;account) const</div><div class="ttdoc">Returns the XRP balance on an account.</div><div class="ttdef"><b>Definition:</b> <a href="Env_8cpp_source.html#l00164">Env.cpp:164</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1PayChan__test_html_a84a32d0660c2b8576e97e7cea26aab1c"><div class="ttname"><a href="structripple_1_1test_1_1PayChan__test.html#a84a32d0660c2b8576e97e7cea26aab1c">ripple::test::PayChan_test::testAccountChannelsRPC</a></div><div class="ttdeci">void testAccountChannelsRPC()</div><div class="ttdef"><b>Definition:</b> <a href="PayChan__test_8cpp_source.html#l00869">PayChan_test.cpp:869</a></div></div>
<div class="ttc" id="anamespaceripple_html_a96888695e8d79474e080c334f149e30a"><div class="ttname"><a href="namespaceripple.html#a96888695e8d79474e080c334f149e30a">ripple::to_string</a></div><div class="ttdeci">std::string to_string(ListDisposition disposition)</div><div class="ttdef"><b>Definition:</b> <a href="ValidatorList_8cpp_source.html#l00041">ValidatorList.cpp:41</a></div></div>
<div class="ttc" id="anamespaceripple_html_a70465c94c8c462001ec31e94c8e92183"><div class="ttname"><a href="namespaceripple.html#a70465c94c8c462001ec31e94c8e92183">ripple::serializePayChanAuthorization</a></div><div class="ttdeci">void serializePayChanAuthorization(Serializer &amp;msg, uint256 const &amp;key, XRPAmount const &amp;amt)</div><div class="ttdef"><b>Definition:</b> <a href="protocol_2PayChan_8h_source.html#l00031">protocol/PayChan.h:31</a></div></div>
@@ -2053,7 +2053,7 @@ $(function() {
<div class="ttc" id="anamespaceripple_html_afe21c8454670d46fb93751a5edffed46aecc18d207c14edd554462f82555e9d92"><div class="ttname"><a href="namespaceripple.html#afe21c8454670d46fb93751a5edffed46aecc18d207c14edd554462f82555e9d92">ripple::temBAD_SIGNATURE</a></div><div class="ttdeci">@ temBAD_SIGNATURE</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00100">TER.h:100</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1sig_html"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1sig.html">ripple::test::jtx::sig</a></div><div class="ttdoc">Set the regular signature on a JTx.</div><div class="ttdef"><b>Definition:</b> <a href="sig_8h_source.html#l00033">sig.h:33</a></div></div>
<div class="ttc" id="aclassripple_1_1SecretKey_html"><div class="ttname"><a href="classripple_1_1SecretKey.html">ripple::SecretKey</a></div><div class="ttdoc">A secret key.</div><div class="ttdef"><b>Definition:</b> <a href="SecretKey_8h_source.html#l00036">SecretKey.h:36</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_a2ef09f6f41b7d8a2dc89175e3b108f87"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#a2ef09f6f41b7d8a2dc89175e3b108f87">ripple::test::jtx::Env::seq</a></div><div class="ttdeci">std::uint32_t seq(Account const &amp;account) const</div><div class="ttdoc">Returns the next sequence number on account.</div><div class="ttdef"><b>Definition:</b> <a href="Env_8cpp_source.html#l00180">Env.cpp:180</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_a2ef09f6f41b7d8a2dc89175e3b108f87"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#a2ef09f6f41b7d8a2dc89175e3b108f87">ripple::test::jtx::Env::seq</a></div><div class="ttdeci">std::uint32_t seq(Account const &amp;account) const</div><div class="ttdoc">Returns the next sequence number on account.</div><div class="ttdef"><b>Definition:</b> <a href="Env_8cpp_source.html#l00188">Env.cpp:188</a></div></div>
<div class="ttc" id="anamespaceripple_1_1test_1_1jtx_html_a18cde110bb3ad7dce97ac11a4b251d0e"><div class="ttname"><a href="namespaceripple_1_1test_1_1jtx.html#a18cde110bb3ad7dce97ac11a4b251d0e">ripple::test::jtx::fclear</a></div><div class="ttdeci">Json::Value fclear(Account const &amp;account, std::uint32_t off)</div><div class="ttdoc">Remove account flag.</div><div class="ttdef"><b>Definition:</b> <a href="flags_8h_source.html#l00040">flags.h:40</a></div></div>
<div class="ttc" id="anamespaceripple_html_a27b0447a7f3e276e367515b8a8d879ee"><div class="ttname"><a href="namespaceripple.html#a27b0447a7f3e276e367515b8a8d879ee">ripple::sfExpiration</a></div><div class="ttdeci">const SF_U32 sfExpiration(access, STI_UINT32, 10, &quot;Expiration&quot;)</div><div class="ttdef"><b>Definition:</b> <a href="SField_8h_source.html#l00361">SField.h:361</a></div></div>
<div class="ttc" id="aclassripple_1_1ReadView_html_a3351e0244f921234d5ba005a07ddf539"><div class="ttname"><a href="classripple_1_1ReadView.html#a3351e0244f921234d5ba005a07ddf539">ripple::ReadView::read</a></div><div class="ttdeci">virtual std::shared_ptr&lt; SLE const &gt; read(Keylet const &amp;k) const =0</div><div class="ttdoc">Return the state item associated with a key.</div></div>
@@ -2073,9 +2073,9 @@ $(function() {
<div class="ttc" id="anamespaceripple_1_1keylet_html_a1f7996e37533aaaacae959144c95c9e9"><div class="ttname"><a href="namespaceripple_1_1keylet.html#a1f7996e37533aaaacae959144c95c9e9">ripple::keylet::payChan</a></div><div class="ttdeci">Keylet payChan(AccountID const &amp;src, AccountID const &amp;dst, std::uint32_t seq) noexcept</div><div class="ttdoc">A PaymentChannel.</div><div class="ttdef"><b>Definition:</b> <a href="Indexes_8cpp_source.html#l00297">Indexes.cpp:297</a></div></div>
<div class="ttc" id="anamespaceripple_html_a93d957d4aa50cd0c2b37f05453a0dd68"><div class="ttname"><a href="namespaceripple.html#a93d957d4aa50cd0c2b37f05453a0dd68">ripple::sign</a></div><div class="ttdeci">Buffer sign(PublicKey const &amp;pk, SecretKey const &amp;sk, Slice const &amp;m)</div><div class="ttdoc">Generate a signature for a message.</div><div class="ttdef"><b>Definition:</b> <a href="SecretKey_8cpp_source.html#l00124">SecretKey.cpp:124</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1PayChan__test_html_a317daba9a82d43eeec2d8f6df217ca90"><div class="ttname"><a href="structripple_1_1test_1_1PayChan__test.html#a317daba9a82d43eeec2d8f6df217ca90">ripple::test::PayChan_test::fund</a></div><div class="ttdeci">static Json::Value fund(jtx::Account const &amp;account, uint256 const &amp;channel, STAmount const &amp;amount, boost::optional&lt; NetClock::time_point &gt; const &amp;expiration=boost::none)</div><div class="ttdef"><b>Definition:</b> <a href="PayChan__test_8cpp_source.html#l00136">PayChan_test.cpp:136</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_abc1dc9c86060f4d385dc66b2a31c0bd6"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#abc1dc9c86060f4d385dc66b2a31c0bd6">ripple::test::jtx::Env::close</a></div><div class="ttdeci">void close(NetClock::time_point closeTime, boost::optional&lt; std::chrono::milliseconds &gt; consensusDelay=boost::none)</div><div class="ttdoc">Close and advance the ledger.</div><div class="ttdef"><b>Definition:</b> <a href="Env_8cpp_source.html#l00111">Env.cpp:111</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_a2c5dcd5bbad5c5b767ff713b6f7cb1ed"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#a2c5dcd5bbad5c5b767ff713b6f7cb1ed">ripple::test::jtx::Env::close</a></div><div class="ttdeci">bool close(NetClock::time_point closeTime, boost::optional&lt; std::chrono::milliseconds &gt; consensusDelay=boost::none)</div><div class="ttdoc">Close and advance the ledger.</div><div class="ttdef"><b>Definition:</b> <a href="Env_8cpp_source.html#l00111">Env.cpp:111</a></div></div>
<div class="ttc" id="ainsert_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/set/insert.html">std::set::insert</a></div><div class="ttdeci">T insert(T... args)</div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_ae2349266cb09d1f1c3de06606ebdf9e2"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#ae2349266cb09d1f1c3de06606ebdf9e2">ripple::test::jtx::Env::fund</a></div><div class="ttdeci">void fund(bool setDefaultRipple, STAmount const &amp;amount, Account const &amp;account)</div><div class="ttdef"><b>Definition:</b> <a href="Env_8cpp_source.html#l00201">Env.cpp:201</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_ae2349266cb09d1f1c3de06606ebdf9e2"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#ae2349266cb09d1f1c3de06606ebdf9e2">ripple::test::jtx::Env::fund</a></div><div class="ttdeci">void fund(bool setDefaultRipple, STAmount const &amp;amount, Account const &amp;account)</div><div class="ttdef"><b>Definition:</b> <a href="Env_8cpp_source.html#l00209">Env.cpp:209</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1PayChan__test_html_afe97c13985ceaed6e61f950cd19ea6d8"><div class="ttname"><a href="structripple_1_1test_1_1PayChan__test.html#afe97c13985ceaed6e61f950cd19ea6d8">ripple::test::PayChan_test::signClaimAuth</a></div><div class="ttdeci">static Buffer signClaimAuth(PublicKey const &amp;pk, SecretKey const &amp;sk, uint256 const &amp;channel, STAmount const &amp;authAmt)</div><div class="ttdef"><b>Definition:</b> <a href="PayChan__test_8cpp_source.html#l00062">PayChan_test.cpp:62</a></div></div>
<div class="ttc" id="anamespaceJson_html_a7d654b75c16a57007925868e38212b4ea7d9899633b4409bd3fc107e6737f8391"><div class="ttname"><a href="namespaceJson.html#a7d654b75c16a57007925868e38212b4ea7d9899633b4409bd3fc107e6737f8391">Json::nullValue</a></div><div class="ttdeci">@ nullValue</div><div class="ttdoc">'null' value</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8h_source.html#l00036">json_value.h:36</a></div></div>
<div class="ttc" id="astructripple_1_1test_1_1PayChan__test_html_ad7d7fddb4d74b46905c855b92a7be284"><div class="ttname"><a href="structripple_1_1test_1_1PayChan__test.html#ad7d7fddb4d74b46905c855b92a7be284">ripple::test::PayChan_test::testAccountChannelsRPCMarkers</a></div><div class="ttdeci">void testAccountChannelsRPCMarkers()</div><div class="ttdef"><b>Definition:</b> <a href="PayChan__test_8cpp_source.html#l00924">PayChan_test.cpp:924</a></div></div>
@@ -2108,7 +2108,7 @@ $(function() {
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_ace0420a6e752f5dc5400df6f2097647e"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#ace0420a6e752f5dc5400df6f2097647e">ripple::test::jtx::Env::current</a></div><div class="ttdeci">std::shared_ptr&lt; OpenView const &gt; current() const</div><div class="ttdoc">Returns the current ledger.</div><div class="ttdef"><b>Definition:</b> <a href="Env_8h_source.html#l00297">Env.h:297</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#l00114">Env.h:114</a></div></div>
<div class="ttc" id="anamespaceripple_html_aa298e929e02f59c2b05a30ee8805b38ca1207baad8c378dc23cd2fa4c4276844d"><div class="ttname"><a href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca1207baad8c378dc23cd2fa4c4276844d">ripple::tecNO_DST</a></div><div class="ttdeci">@ tecNO_DST</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00248">TER.h:248</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_a0f3a59ffc07ea469d2999d1ae0aeea77"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#a0f3a59ffc07ea469d2999d1ae0aeea77">ripple::test::jtx::Env::rpc</a></div><div class="ttdeci">Json::Value rpc(std::unordered_map&lt; std::string, std::string &gt; const &amp;headers, std::string const &amp;cmd, Args &amp;&amp;... args)</div><div class="ttdoc">Execute an RPC command.</div><div class="ttdef"><b>Definition:</b> <a href="Env_8h_source.html#l00676">Env.h:676</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1jtx_1_1Env_html_a0f3a59ffc07ea469d2999d1ae0aeea77"><div class="ttname"><a href="classripple_1_1test_1_1jtx_1_1Env.html#a0f3a59ffc07ea469d2999d1ae0aeea77">ripple::test::jtx::Env::rpc</a></div><div class="ttdeci">Json::Value rpc(std::unordered_map&lt; std::string, std::string &gt; const &amp;headers, std::string const &amp;cmd, Args &amp;&amp;... args)</div><div class="ttdoc">Execute an RPC command.</div><div class="ttdef"><b>Definition:</b> <a href="Env_8h_source.html#l00682">Env.h:682</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html"><div class="ttname"><a href="classJson_1_1Value.html">Json::Value</a></div><div class="ttdoc">Represents a JSON value.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8h_source.html#l00145">json_value.h:145</a></div></div>
<div class="ttc" id="aclassripple_1_1XRPAmount_html"><div class="ttname"><a href="classripple_1_1XRPAmount.html">ripple::XRPAmount</a></div><div class="ttdef"><b>Definition:</b> <a href="XRPAmount_8h_source.html#l00046">XRPAmount.h:46</a></div></div>
<div class="ttc" id="aclassJson_1_1Value_html_ab0d86bf425efefd03513e8dbfaca317b"><div class="ttname"><a href="classJson_1_1Value.html#ab0d86bf425efefd03513e8dbfaca317b">Json::Value::asString</a></div><div class="ttdeci">std::string asString() const</div><div class="ttdoc">Returns the unquoted string value.</div><div class="ttdef"><b>Definition:</b> <a href="json__value_8cpp_source.html#l00469">json_value.cpp:469</a></div></div>