mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-27 14:35:52 +00:00
deploy: 58c2c82a30
This commit is contained in:
@@ -2825,18 +2825,18 @@ $(function() {
|
||||
<div class="line"><a id="l02747" name="l02747"></a><span class="lineno"> 2747</span> <span class="keyword">auto</span> <span class="keyword">const</span> mptID = keylet::mptIssuance(mptIssue.getMptID());</div>
|
||||
<div class="line"><a id="l02748" name="l02748"></a><span class="lineno"> 2748</span> <span class="keyword">auto</span> sleIssuance = view.<a class="code hl_function" href="classripple_1_1ApplyView.html#afa666aaa8eb0080d96f910f8a719291d">peek</a>(mptID);</div>
|
||||
<div class="line"><a id="l02749" name="l02749"></a><span class="lineno"> 2749</span> <span class="keywordflow">if</span> (!sleIssuance)</div>
|
||||
<div class="line"><a id="l02750" name="l02750"></a><span class="lineno"> 2750</span> {</div>
|
||||
<div class="line"><a id="l02750" name="l02750"></a><span class="lineno"> 2750</span> { <span class="comment">// LCOV_EXCL_START</span></div>
|
||||
<div class="line"><a id="l02751" name="l02751"></a><span class="lineno"> 2751</span> JLOG(j.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>()) << <span class="stringliteral">"rippleLockEscrowMPT: MPT issuance not found for "</span></div>
|
||||
<div class="line"><a id="l02752" name="l02752"></a><span class="lineno"> 2752</span> << mptIssue.getMptID();</div>
|
||||
<div class="line"><a id="l02753" name="l02753"></a><span class="lineno"> 2753</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca2f3fdd22dc22973eca4c97cb3f9e65fc">tecOBJECT_NOT_FOUND</a>; <span class="comment">// LCOV_EXCL_LINE</span></div>
|
||||
<div class="line"><a id="l02754" name="l02754"></a><span class="lineno"> 2754</span> }</div>
|
||||
<div class="line"><a id="l02753" name="l02753"></a><span class="lineno"> 2753</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca2f3fdd22dc22973eca4c97cb3f9e65fc">tecOBJECT_NOT_FOUND</a>;</div>
|
||||
<div class="line"><a id="l02754" name="l02754"></a><span class="lineno"> 2754</span> } <span class="comment">// LCOV_EXCL_STOP</span></div>
|
||||
<div class="line"><a id="l02755" name="l02755"></a><span class="lineno"> 2755</span> </div>
|
||||
<div class="line"><a id="l02756" name="l02756"></a><span class="lineno"> 2756</span> <span class="keywordflow">if</span> (amount.<a class="code hl_function" href="classripple_1_1STAmount.html#aaac822e5948df5f12b6eaf48feaf1684">getIssuer</a>() == sender)</div>
|
||||
<div class="line"><a id="l02757" name="l02757"></a><span class="lineno"> 2757</span> {</div>
|
||||
<div class="line"><a id="l02757" name="l02757"></a><span class="lineno"> 2757</span> { <span class="comment">// LCOV_EXCL_START</span></div>
|
||||
<div class="line"><a id="l02758" name="l02758"></a><span class="lineno"> 2758</span> JLOG(j.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>())</div>
|
||||
<div class="line"><a id="l02759" name="l02759"></a><span class="lineno"> 2759</span> << <span class="stringliteral">"rippleLockEscrowMPT: sender is the issuer, cannot lock MPTs."</span>;</div>
|
||||
<div class="line"><a id="l02760" name="l02760"></a><span class="lineno"> 2760</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca93e4e159f8759ea0948423c699e7cf77">tecINTERNAL</a>; <span class="comment">// LCOV_EXCL_LINE</span></div>
|
||||
<div class="line"><a id="l02761" name="l02761"></a><span class="lineno"> 2761</span> }</div>
|
||||
<div class="line"><a id="l02760" name="l02760"></a><span class="lineno"> 2760</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca93e4e159f8759ea0948423c699e7cf77">tecINTERNAL</a>;</div>
|
||||
<div class="line"><a id="l02761" name="l02761"></a><span class="lineno"> 2761</span> } <span class="comment">// LCOV_EXCL_STOP</span></div>
|
||||
<div class="line"><a id="l02762" name="l02762"></a><span class="lineno"> 2762</span> </div>
|
||||
<div class="line"><a id="l02763" name="l02763"></a><span class="lineno"> 2763</span> <span class="comment">// 1. Decrease the MPT Holder MPTAmount</span></div>
|
||||
<div class="line"><a id="l02764" name="l02764"></a><span class="lineno"> 2764</span> <span class="comment">// 2. Increase the MPT Holder EscrowedAmount</span></div>
|
||||
@@ -2844,23 +2844,23 @@ $(function() {
|
||||
<div class="line"><a id="l02766" name="l02766"></a><span class="lineno"> 2766</span> <span class="keyword">auto</span> <span class="keyword">const</span> mptokenID = keylet::mptoken(mptID.key, sender);</div>
|
||||
<div class="line"><a id="l02767" name="l02767"></a><span class="lineno"> 2767</span> <span class="keyword">auto</span> sle = view.<a class="code hl_function" href="classripple_1_1ApplyView.html#afa666aaa8eb0080d96f910f8a719291d">peek</a>(mptokenID);</div>
|
||||
<div class="line"><a id="l02768" name="l02768"></a><span class="lineno"> 2768</span> <span class="keywordflow">if</span> (!sle)</div>
|
||||
<div class="line"><a id="l02769" name="l02769"></a><span class="lineno"> 2769</span> {</div>
|
||||
<div class="line"><a id="l02769" name="l02769"></a><span class="lineno"> 2769</span> { <span class="comment">// LCOV_EXCL_START</span></div>
|
||||
<div class="line"><a id="l02770" name="l02770"></a><span class="lineno"> 2770</span> JLOG(j.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>())</div>
|
||||
<div class="line"><a id="l02771" name="l02771"></a><span class="lineno"> 2771</span> << <span class="stringliteral">"rippleLockEscrowMPT: MPToken not found for "</span> << sender;</div>
|
||||
<div class="line"><a id="l02772" name="l02772"></a><span class="lineno"> 2772</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca2f3fdd22dc22973eca4c97cb3f9e65fc">tecOBJECT_NOT_FOUND</a>; <span class="comment">// LCOV_EXCL_LINE</span></div>
|
||||
<div class="line"><a id="l02773" name="l02773"></a><span class="lineno"> 2773</span> }</div>
|
||||
<div class="line"><a id="l02772" name="l02772"></a><span class="lineno"> 2772</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca2f3fdd22dc22973eca4c97cb3f9e65fc">tecOBJECT_NOT_FOUND</a>;</div>
|
||||
<div class="line"><a id="l02773" name="l02773"></a><span class="lineno"> 2773</span> } <span class="comment">// LCOV_EXCL_STOP</span></div>
|
||||
<div class="line"><a id="l02774" name="l02774"></a><span class="lineno"> 2774</span> </div>
|
||||
<div class="line"><a id="l02775" name="l02775"></a><span class="lineno"> 2775</span> <span class="keyword">auto</span> <span class="keyword">const</span> amt = sle->getFieldU64(sfMPTAmount);</div>
|
||||
<div class="line"><a id="l02776" name="l02776"></a><span class="lineno"> 2776</span> <span class="keyword">auto</span> <span class="keyword">const</span> pay = amount.<a class="code hl_function" href="classripple_1_1STAmount.html#ac22cc0520139c8d6bfa612d8ed3ef069">mpt</a>().<a class="code hl_function" href="classripple_1_1MPTAmount.html#a01eca3dd7e5f6b325ea7fc5fc7230f89">value</a>();</div>
|
||||
<div class="line"><a id="l02777" name="l02777"></a><span class="lineno"> 2777</span> </div>
|
||||
<div class="line"><a id="l02778" name="l02778"></a><span class="lineno"> 2778</span> <span class="comment">// Underflow check for subtraction</span></div>
|
||||
<div class="line"><a id="l02779" name="l02779"></a><span class="lineno"> 2779</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="namespaceripple.html#a2f2f22330db2c109956e5c4e6be0249c">canSubtract</a>(<a class="code hl_class" href="classripple_1_1STAmount.html">STAmount</a>(mptIssue, amt), <a class="code hl_class" href="classripple_1_1STAmount.html">STAmount</a>(mptIssue, pay)))</div>
|
||||
<div class="line"><a id="l02780" name="l02780"></a><span class="lineno"> 2780</span> {</div>
|
||||
<div class="line"><a id="l02780" name="l02780"></a><span class="lineno"> 2780</span> { <span class="comment">// LCOV_EXCL_START</span></div>
|
||||
<div class="line"><a id="l02781" name="l02781"></a><span class="lineno"> 2781</span> JLOG(j.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>())</div>
|
||||
<div class="line"><a id="l02782" name="l02782"></a><span class="lineno"> 2782</span> << <span class="stringliteral">"rippleLockEscrowMPT: insufficient MPTAmount for "</span></div>
|
||||
<div class="line"><a id="l02783" name="l02783"></a><span class="lineno"> 2783</span> << to_string(sender) << <span class="stringliteral">": "</span> << amt << <span class="stringliteral">" < "</span> << pay;</div>
|
||||
<div class="line"><a id="l02784" name="l02784"></a><span class="lineno"> 2784</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca93e4e159f8759ea0948423c699e7cf77">tecINTERNAL</a>; <span class="comment">// LCOV_EXCL_LINE</span></div>
|
||||
<div class="line"><a id="l02785" name="l02785"></a><span class="lineno"> 2785</span> }</div>
|
||||
<div class="line"><a id="l02784" name="l02784"></a><span class="lineno"> 2784</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca93e4e159f8759ea0948423c699e7cf77">tecINTERNAL</a>;</div>
|
||||
<div class="line"><a id="l02785" name="l02785"></a><span class="lineno"> 2785</span> } <span class="comment">// LCOV_EXCL_STOP</span></div>
|
||||
<div class="line"><a id="l02786" name="l02786"></a><span class="lineno"> 2786</span> </div>
|
||||
<div class="line"><a id="l02787" name="l02787"></a><span class="lineno"> 2787</span> (*sle)[sfMPTAmount] = amt - pay;</div>
|
||||
<div class="line"><a id="l02788" name="l02788"></a><span class="lineno"> 2788</span> </div>
|
||||
@@ -2868,12 +2868,12 @@ $(function() {
|
||||
<div class="line"><a id="l02790" name="l02790"></a><span class="lineno"> 2790</span> uint64_t <span class="keyword">const</span> locked = (*sle)[~sfLockedAmount].value_or(0);</div>
|
||||
<div class="line"><a id="l02791" name="l02791"></a><span class="lineno"> 2791</span> </div>
|
||||
<div class="line"><a id="l02792" name="l02792"></a><span class="lineno"> 2792</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="namespaceripple.html#a3c48650a4989da7655d4bedcbf6acffe">canAdd</a>(<a class="code hl_class" href="classripple_1_1STAmount.html">STAmount</a>(mptIssue, locked), <a class="code hl_class" href="classripple_1_1STAmount.html">STAmount</a>(mptIssue, pay)))</div>
|
||||
<div class="line"><a id="l02793" name="l02793"></a><span class="lineno"> 2793</span> {</div>
|
||||
<div class="line"><a id="l02793" name="l02793"></a><span class="lineno"> 2793</span> { <span class="comment">// LCOV_EXCL_START</span></div>
|
||||
<div class="line"><a id="l02794" name="l02794"></a><span class="lineno"> 2794</span> JLOG(j.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>())</div>
|
||||
<div class="line"><a id="l02795" name="l02795"></a><span class="lineno"> 2795</span> << <span class="stringliteral">"rippleLockEscrowMPT: overflow on locked amount for "</span></div>
|
||||
<div class="line"><a id="l02796" name="l02796"></a><span class="lineno"> 2796</span> << to_string(sender) << <span class="stringliteral">": "</span> << locked << <span class="stringliteral">" + "</span> << pay;</div>
|
||||
<div class="line"><a id="l02797" name="l02797"></a><span class="lineno"> 2797</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca93e4e159f8759ea0948423c699e7cf77">tecINTERNAL</a>; <span class="comment">// LCOV_EXCL_LINE</span></div>
|
||||
<div class="line"><a id="l02798" name="l02798"></a><span class="lineno"> 2798</span> }</div>
|
||||
<div class="line"><a id="l02797" name="l02797"></a><span class="lineno"> 2797</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca93e4e159f8759ea0948423c699e7cf77">tecINTERNAL</a>;</div>
|
||||
<div class="line"><a id="l02798" name="l02798"></a><span class="lineno"> 2798</span> } <span class="comment">// LCOV_EXCL_STOP</span></div>
|
||||
<div class="line"><a id="l02799" name="l02799"></a><span class="lineno"> 2799</span> </div>
|
||||
<div class="line"><a id="l02800" name="l02800"></a><span class="lineno"> 2800</span> <span class="keywordflow">if</span> (sle->isFieldPresent(sfLockedAmount))</div>
|
||||
<div class="line"><a id="l02801" name="l02801"></a><span class="lineno"> 2801</span> (*sle)[sfLockedAmount] += pay;</div>
|
||||
@@ -2893,13 +2893,13 @@ $(function() {
|
||||
<div class="line"><a id="l02815" name="l02815"></a><span class="lineno"> 2815</span> <span class="comment">// Overflow check for addition</span></div>
|
||||
<div class="line"><a id="l02816" name="l02816"></a><span class="lineno"> 2816</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="namespaceripple.html#a3c48650a4989da7655d4bedcbf6acffe">canAdd</a>(</div>
|
||||
<div class="line"><a id="l02817" name="l02817"></a><span class="lineno"> 2817</span> <a class="code hl_class" href="classripple_1_1STAmount.html">STAmount</a>(mptIssue, issuanceEscrowed), <a class="code hl_class" href="classripple_1_1STAmount.html">STAmount</a>(mptIssue, pay)))</div>
|
||||
<div class="line"><a id="l02818" name="l02818"></a><span class="lineno"> 2818</span> {</div>
|
||||
<div class="line"><a id="l02818" name="l02818"></a><span class="lineno"> 2818</span> { <span class="comment">// LCOV_EXCL_START</span></div>
|
||||
<div class="line"><a id="l02819" name="l02819"></a><span class="lineno"> 2819</span> JLOG(j.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>()) << <span class="stringliteral">"rippleLockEscrowMPT: overflow on issuance "</span></div>
|
||||
<div class="line"><a id="l02820" name="l02820"></a><span class="lineno"> 2820</span> <span class="stringliteral">"locked amount for "</span></div>
|
||||
<div class="line"><a id="l02821" name="l02821"></a><span class="lineno"> 2821</span> << mptIssue.getMptID() << <span class="stringliteral">": "</span> << issuanceEscrowed</div>
|
||||
<div class="line"><a id="l02822" name="l02822"></a><span class="lineno"> 2822</span> << <span class="stringliteral">" + "</span> << pay;</div>
|
||||
<div class="line"><a id="l02823" name="l02823"></a><span class="lineno"> 2823</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca93e4e159f8759ea0948423c699e7cf77">tecINTERNAL</a>; <span class="comment">// LCOV_EXCL_LINE</span></div>
|
||||
<div class="line"><a id="l02824" name="l02824"></a><span class="lineno"> 2824</span> }</div>
|
||||
<div class="line"><a id="l02823" name="l02823"></a><span class="lineno"> 2823</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca93e4e159f8759ea0948423c699e7cf77">tecINTERNAL</a>;</div>
|
||||
<div class="line"><a id="l02824" name="l02824"></a><span class="lineno"> 2824</span> } <span class="comment">// LCOV_EXCL_STOP</span></div>
|
||||
<div class="line"><a id="l02825" name="l02825"></a><span class="lineno"> 2825</span> </div>
|
||||
<div class="line"><a id="l02826" name="l02826"></a><span class="lineno"> 2826</span> <span class="keywordflow">if</span> (sleIssuance->isFieldPresent(sfLockedAmount))</div>
|
||||
<div class="line"><a id="l02827" name="l02827"></a><span class="lineno"> 2827</span> (*sleIssuance)[sfLockedAmount] += pay;</div>
|
||||
@@ -2924,21 +2924,21 @@ $(function() {
|
||||
<div class="line"><a id="l02846" name="l02846"></a><span class="lineno"> 2846</span> <span class="keyword">auto</span> <span class="keyword">const</span> mptID = keylet::mptIssuance(mptIssue.getMptID());</div>
|
||||
<div class="line"><a id="l02847" name="l02847"></a><span class="lineno"> 2847</span> <span class="keyword">auto</span> sleIssuance = view.<a class="code hl_function" href="classripple_1_1ApplyView.html#afa666aaa8eb0080d96f910f8a719291d">peek</a>(mptID);</div>
|
||||
<div class="line"><a id="l02848" name="l02848"></a><span class="lineno"> 2848</span> <span class="keywordflow">if</span> (!sleIssuance)</div>
|
||||
<div class="line"><a id="l02849" name="l02849"></a><span class="lineno"> 2849</span> {</div>
|
||||
<div class="line"><a id="l02849" name="l02849"></a><span class="lineno"> 2849</span> { <span class="comment">// LCOV_EXCL_START</span></div>
|
||||
<div class="line"><a id="l02850" name="l02850"></a><span class="lineno"> 2850</span> JLOG(j.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>()) << <span class="stringliteral">"rippleUnlockEscrowMPT: MPT issuance not found for "</span></div>
|
||||
<div class="line"><a id="l02851" name="l02851"></a><span class="lineno"> 2851</span> << mptIssue.getMptID();</div>
|
||||
<div class="line"><a id="l02852" name="l02852"></a><span class="lineno"> 2852</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca2f3fdd22dc22973eca4c97cb3f9e65fc">tecOBJECT_NOT_FOUND</a>; <span class="comment">// LCOV_EXCL_LINE</span></div>
|
||||
<div class="line"><a id="l02853" name="l02853"></a><span class="lineno"> 2853</span> }</div>
|
||||
<div class="line"><a id="l02852" name="l02852"></a><span class="lineno"> 2852</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca2f3fdd22dc22973eca4c97cb3f9e65fc">tecOBJECT_NOT_FOUND</a>;</div>
|
||||
<div class="line"><a id="l02853" name="l02853"></a><span class="lineno"> 2853</span> } <span class="comment">// LCOV_EXCL_STOP</span></div>
|
||||
<div class="line"><a id="l02854" name="l02854"></a><span class="lineno"> 2854</span> </div>
|
||||
<div class="line"><a id="l02855" name="l02855"></a><span class="lineno"> 2855</span> <span class="comment">// Decrease the Issuance EscrowedAmount</span></div>
|
||||
<div class="line"><a id="l02856" name="l02856"></a><span class="lineno"> 2856</span> {</div>
|
||||
<div class="line"><a id="l02857" name="l02857"></a><span class="lineno"> 2857</span> <span class="keywordflow">if</span> (!sleIssuance->isFieldPresent(sfLockedAmount))</div>
|
||||
<div class="line"><a id="l02858" name="l02858"></a><span class="lineno"> 2858</span> {</div>
|
||||
<div class="line"><a id="l02858" name="l02858"></a><span class="lineno"> 2858</span> { <span class="comment">// LCOV_EXCL_START</span></div>
|
||||
<div class="line"><a id="l02859" name="l02859"></a><span class="lineno"> 2859</span> JLOG(j.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>())</div>
|
||||
<div class="line"><a id="l02860" name="l02860"></a><span class="lineno"> 2860</span> << <span class="stringliteral">"rippleUnlockEscrowMPT: no locked amount in issuance for "</span></div>
|
||||
<div class="line"><a id="l02861" name="l02861"></a><span class="lineno"> 2861</span> << mptIssue.getMptID();</div>
|
||||
<div class="line"><a id="l02862" name="l02862"></a><span class="lineno"> 2862</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca93e4e159f8759ea0948423c699e7cf77">tecINTERNAL</a>; <span class="comment">// LCOV_EXCL_LINE</span></div>
|
||||
<div class="line"><a id="l02863" name="l02863"></a><span class="lineno"> 2863</span> }</div>
|
||||
<div class="line"><a id="l02862" name="l02862"></a><span class="lineno"> 2862</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca93e4e159f8759ea0948423c699e7cf77">tecINTERNAL</a>;</div>
|
||||
<div class="line"><a id="l02863" name="l02863"></a><span class="lineno"> 2863</span> } <span class="comment">// LCOV_EXCL_STOP</span></div>
|
||||
<div class="line"><a id="l02864" name="l02864"></a><span class="lineno"> 2864</span> </div>
|
||||
<div class="line"><a id="l02865" name="l02865"></a><span class="lineno"> 2865</span> <span class="keyword">auto</span> <span class="keyword">const</span> locked = sleIssuance->getFieldU64(sfLockedAmount);</div>
|
||||
<div class="line"><a id="l02866" name="l02866"></a><span class="lineno"> 2866</span> <span class="keyword">auto</span> <span class="keyword">const</span> redeem = amount.<a class="code hl_function" href="classripple_1_1STAmount.html#ac22cc0520139c8d6bfa612d8ed3ef069">mpt</a>().<a class="code hl_function" href="classripple_1_1MPTAmount.html#a01eca3dd7e5f6b325ea7fc5fc7230f89">value</a>();</div>
|
||||
@@ -2946,12 +2946,12 @@ $(function() {
|
||||
<div class="line"><a id="l02868" name="l02868"></a><span class="lineno"> 2868</span> <span class="comment">// Underflow check for subtraction</span></div>
|
||||
<div class="line"><a id="l02869" name="l02869"></a><span class="lineno"> 2869</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="namespaceripple.html#a2f2f22330db2c109956e5c4e6be0249c">canSubtract</a>(</div>
|
||||
<div class="line"><a id="l02870" name="l02870"></a><span class="lineno"> 2870</span> <a class="code hl_class" href="classripple_1_1STAmount.html">STAmount</a>(mptIssue, locked), <a class="code hl_class" href="classripple_1_1STAmount.html">STAmount</a>(mptIssue, redeem)))</div>
|
||||
<div class="line"><a id="l02871" name="l02871"></a><span class="lineno"> 2871</span> {</div>
|
||||
<div class="line"><a id="l02871" name="l02871"></a><span class="lineno"> 2871</span> { <span class="comment">// LCOV_EXCL_START</span></div>
|
||||
<div class="line"><a id="l02872" name="l02872"></a><span class="lineno"> 2872</span> JLOG(j.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>())</div>
|
||||
<div class="line"><a id="l02873" name="l02873"></a><span class="lineno"> 2873</span> << <span class="stringliteral">"rippleUnlockEscrowMPT: insufficient locked amount for "</span></div>
|
||||
<div class="line"><a id="l02874" name="l02874"></a><span class="lineno"> 2874</span> << mptIssue.getMptID() << <span class="stringliteral">": "</span> << locked << <span class="stringliteral">" < "</span> << redeem;</div>
|
||||
<div class="line"><a id="l02875" name="l02875"></a><span class="lineno"> 2875</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca93e4e159f8759ea0948423c699e7cf77">tecINTERNAL</a>; <span class="comment">// LCOV_EXCL_LINE</span></div>
|
||||
<div class="line"><a id="l02876" name="l02876"></a><span class="lineno"> 2876</span> }</div>
|
||||
<div class="line"><a id="l02875" name="l02875"></a><span class="lineno"> 2875</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca93e4e159f8759ea0948423c699e7cf77">tecINTERNAL</a>;</div>
|
||||
<div class="line"><a id="l02876" name="l02876"></a><span class="lineno"> 2876</span> } <span class="comment">// LCOV_EXCL_STOP</span></div>
|
||||
<div class="line"><a id="l02877" name="l02877"></a><span class="lineno"> 2877</span> </div>
|
||||
<div class="line"><a id="l02878" name="l02878"></a><span class="lineno"> 2878</span> <span class="keyword">auto</span> <span class="keyword">const</span> newLocked = locked - redeem;</div>
|
||||
<div class="line"><a id="l02879" name="l02879"></a><span class="lineno"> 2879</span> <span class="keywordflow">if</span> (newLocked == 0)</div>
|
||||
@@ -2967,23 +2967,23 @@ $(function() {
|
||||
<div class="line"><a id="l02889" name="l02889"></a><span class="lineno"> 2889</span> <span class="keyword">auto</span> <span class="keyword">const</span> mptokenID = keylet::mptoken(mptID.key, receiver);</div>
|
||||
<div class="line"><a id="l02890" name="l02890"></a><span class="lineno"> 2890</span> <span class="keyword">auto</span> sle = view.<a class="code hl_function" href="classripple_1_1ApplyView.html#afa666aaa8eb0080d96f910f8a719291d">peek</a>(mptokenID);</div>
|
||||
<div class="line"><a id="l02891" name="l02891"></a><span class="lineno"> 2891</span> <span class="keywordflow">if</span> (!sle)</div>
|
||||
<div class="line"><a id="l02892" name="l02892"></a><span class="lineno"> 2892</span> {</div>
|
||||
<div class="line"><a id="l02892" name="l02892"></a><span class="lineno"> 2892</span> { <span class="comment">// LCOV_EXCL_START</span></div>
|
||||
<div class="line"><a id="l02893" name="l02893"></a><span class="lineno"> 2893</span> JLOG(j.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>())</div>
|
||||
<div class="line"><a id="l02894" name="l02894"></a><span class="lineno"> 2894</span> << <span class="stringliteral">"rippleUnlockEscrowMPT: MPToken not found for "</span> << receiver;</div>
|
||||
<div class="line"><a id="l02895" name="l02895"></a><span class="lineno"> 2895</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca2f3fdd22dc22973eca4c97cb3f9e65fc">tecOBJECT_NOT_FOUND</a>; <span class="comment">// LCOV_EXCL_LINE</span></div>
|
||||
<div class="line"><a id="l02896" name="l02896"></a><span class="lineno"> 2896</span> }</div>
|
||||
<div class="line"><a id="l02896" name="l02896"></a><span class="lineno"> 2896</span> } <span class="comment">// LCOV_EXCL_STOP</span></div>
|
||||
<div class="line"><a id="l02897" name="l02897"></a><span class="lineno"> 2897</span> </div>
|
||||
<div class="line"><a id="l02898" name="l02898"></a><span class="lineno"> 2898</span> <span class="keyword">auto</span> <a class="code hl_enumvalue" href="namespaceripple.html#a6434c1a0fd22b77e2e4a228c0eca79eba43b5c9175984c071f30b873fdce0a000">current</a> = sle->getFieldU64(sfMPTAmount);</div>
|
||||
<div class="line"><a id="l02899" name="l02899"></a><span class="lineno"> 2899</span> <span class="keyword">auto</span> delta = amount.<a class="code hl_function" href="classripple_1_1STAmount.html#ac22cc0520139c8d6bfa612d8ed3ef069">mpt</a>().<a class="code hl_function" href="classripple_1_1MPTAmount.html#a01eca3dd7e5f6b325ea7fc5fc7230f89">value</a>();</div>
|
||||
<div class="line"><a id="l02900" name="l02900"></a><span class="lineno"> 2900</span> </div>
|
||||
<div class="line"><a id="l02901" name="l02901"></a><span class="lineno"> 2901</span> <span class="comment">// Overflow check for addition</span></div>
|
||||
<div class="line"><a id="l02902" name="l02902"></a><span class="lineno"> 2902</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="namespaceripple.html#a3c48650a4989da7655d4bedcbf6acffe">canAdd</a>(<a class="code hl_class" href="classripple_1_1STAmount.html">STAmount</a>(mptIssue, <a class="code hl_enumvalue" href="namespaceripple.html#a6434c1a0fd22b77e2e4a228c0eca79eba43b5c9175984c071f30b873fdce0a000">current</a>), <a class="code hl_class" href="classripple_1_1STAmount.html">STAmount</a>(mptIssue, delta)))</div>
|
||||
<div class="line"><a id="l02903" name="l02903"></a><span class="lineno"> 2903</span> {</div>
|
||||
<div class="line"><a id="l02903" name="l02903"></a><span class="lineno"> 2903</span> { <span class="comment">// LCOV_EXCL_START</span></div>
|
||||
<div class="line"><a id="l02904" name="l02904"></a><span class="lineno"> 2904</span> JLOG(j.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>())</div>
|
||||
<div class="line"><a id="l02905" name="l02905"></a><span class="lineno"> 2905</span> << <span class="stringliteral">"rippleUnlockEscrowMPT: overflow on MPTAmount for "</span></div>
|
||||
<div class="line"><a id="l02906" name="l02906"></a><span class="lineno"> 2906</span> << to_string(receiver) << <span class="stringliteral">": "</span> << <a class="code hl_enumvalue" href="namespaceripple.html#a6434c1a0fd22b77e2e4a228c0eca79eba43b5c9175984c071f30b873fdce0a000">current</a> << <span class="stringliteral">" + "</span> << delta;</div>
|
||||
<div class="line"><a id="l02907" name="l02907"></a><span class="lineno"> 2907</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca93e4e159f8759ea0948423c699e7cf77">tecINTERNAL</a>; <span class="comment">// LCOV_EXCL_LINE</span></div>
|
||||
<div class="line"><a id="l02908" name="l02908"></a><span class="lineno"> 2908</span> }</div>
|
||||
<div class="line"><a id="l02907" name="l02907"></a><span class="lineno"> 2907</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca93e4e159f8759ea0948423c699e7cf77">tecINTERNAL</a>;</div>
|
||||
<div class="line"><a id="l02908" name="l02908"></a><span class="lineno"> 2908</span> } <span class="comment">// LCOV_EXCL_STOP</span></div>
|
||||
<div class="line"><a id="l02909" name="l02909"></a><span class="lineno"> 2909</span> </div>
|
||||
<div class="line"><a id="l02910" name="l02910"></a><span class="lineno"> 2910</span> (*sle)[sfMPTAmount] += delta;</div>
|
||||
<div class="line"><a id="l02911" name="l02911"></a><span class="lineno"> 2911</span> view.<a class="code hl_function" href="classripple_1_1ApplyView.html#a542437b9b59a623e755979acdc075af5">update</a>(sle);</div>
|
||||
@@ -2997,73 +2997,74 @@ $(function() {
|
||||
<div class="line"><a id="l02919" name="l02919"></a><span class="lineno"> 2919</span> <span class="comment">// Underflow check for subtraction</span></div>
|
||||
<div class="line"><a id="l02920" name="l02920"></a><span class="lineno"> 2920</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="namespaceripple.html#a2f2f22330db2c109956e5c4e6be0249c">canSubtract</a>(</div>
|
||||
<div class="line"><a id="l02921" name="l02921"></a><span class="lineno"> 2921</span> <a class="code hl_class" href="classripple_1_1STAmount.html">STAmount</a>(mptIssue, outstanding), <a class="code hl_class" href="classripple_1_1STAmount.html">STAmount</a>(mptIssue, redeem)))</div>
|
||||
<div class="line"><a id="l02922" name="l02922"></a><span class="lineno"> 2922</span> {</div>
|
||||
<div class="line"><a id="l02922" name="l02922"></a><span class="lineno"> 2922</span> { <span class="comment">// LCOV_EXCL_START</span></div>
|
||||
<div class="line"><a id="l02923" name="l02923"></a><span class="lineno"> 2923</span> JLOG(j.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>())</div>
|
||||
<div class="line"><a id="l02924" name="l02924"></a><span class="lineno"> 2924</span> << <span class="stringliteral">"rippleUnlockEscrowMPT: insufficient outstanding amount for "</span></div>
|
||||
<div class="line"><a id="l02925" name="l02925"></a><span class="lineno"> 2925</span> << mptIssue.getMptID() << <span class="stringliteral">": "</span> << outstanding << <span class="stringliteral">" < "</span></div>
|
||||
<div class="line"><a id="l02926" name="l02926"></a><span class="lineno"> 2926</span> << redeem;</div>
|
||||
<div class="line"><a id="l02927" name="l02927"></a><span class="lineno"> 2927</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca93e4e159f8759ea0948423c699e7cf77">tecINTERNAL</a>; <span class="comment">// LCOV_EXCL_LINE</span></div>
|
||||
<div class="line"><a id="l02928" name="l02928"></a><span class="lineno"> 2928</span> }</div>
|
||||
<div class="line"><a id="l02927" name="l02927"></a><span class="lineno"> 2927</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca93e4e159f8759ea0948423c699e7cf77">tecINTERNAL</a>;</div>
|
||||
<div class="line"><a id="l02928" name="l02928"></a><span class="lineno"> 2928</span> } <span class="comment">// LCOV_EXCL_STOP</span></div>
|
||||
<div class="line"><a id="l02929" name="l02929"></a><span class="lineno"> 2929</span> </div>
|
||||
<div class="line"><a id="l02930" name="l02930"></a><span class="lineno"> 2930</span> sleIssuance->setFieldU64(sfOutstandingAmount, outstanding - redeem);</div>
|
||||
<div class="line"><a id="l02931" name="l02931"></a><span class="lineno"> 2931</span> view.<a class="code hl_function" href="classripple_1_1ApplyView.html#a542437b9b59a623e755979acdc075af5">update</a>(sleIssuance);</div>
|
||||
<div class="line"><a id="l02932" name="l02932"></a><span class="lineno"> 2932</span> }</div>
|
||||
<div class="line"><a id="l02933" name="l02933"></a><span class="lineno"> 2933</span> </div>
|
||||
<div class="line"><a id="l02934" name="l02934"></a><span class="lineno"> 2934</span> <span class="keywordflow">if</span> (issuer == sender)</div>
|
||||
<div class="line"><a id="l02935" name="l02935"></a><span class="lineno"> 2935</span> {</div>
|
||||
<div class="line"><a id="l02935" name="l02935"></a><span class="lineno"> 2935</span> { <span class="comment">// LCOV_EXCL_START</span></div>
|
||||
<div class="line"><a id="l02936" name="l02936"></a><span class="lineno"> 2936</span> JLOG(j.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>()) << <span class="stringliteral">"rippleUnlockEscrowMPT: sender is the issuer, "</span></div>
|
||||
<div class="line"><a id="l02937" name="l02937"></a><span class="lineno"> 2937</span> <span class="stringliteral">"cannot unlock MPTs."</span>;</div>
|
||||
<div class="line"><a id="l02938" name="l02938"></a><span class="lineno"> 2938</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca93e4e159f8759ea0948423c699e7cf77">tecINTERNAL</a>; <span class="comment">// LCOV_EXCL_LINE</span></div>
|
||||
<div class="line"><a id="l02939" name="l02939"></a><span class="lineno"> 2939</span> }</div>
|
||||
<div class="line"><a id="l02938" name="l02938"></a><span class="lineno"> 2938</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca93e4e159f8759ea0948423c699e7cf77">tecINTERNAL</a>;</div>
|
||||
<div class="line"><a id="l02939" name="l02939"></a><span class="lineno"> 2939</span> } <span class="comment">// LCOV_EXCL_STOP</span></div>
|
||||
<div class="line"><a id="l02940" name="l02940"></a><span class="lineno"> 2940</span> <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a id="l02941" name="l02941"></a><span class="lineno"> 2941</span> {</div>
|
||||
<div class="line"><a id="l02942" name="l02942"></a><span class="lineno"> 2942</span> <span class="comment">// Decrease the MPT Holder EscrowedAmount</span></div>
|
||||
<div class="line"><a id="l02943" name="l02943"></a><span class="lineno"> 2943</span> <span class="keyword">auto</span> <span class="keyword">const</span> mptokenID = keylet::mptoken(mptID.key, sender);</div>
|
||||
<div class="line"><a id="l02944" name="l02944"></a><span class="lineno"> 2944</span> <span class="keyword">auto</span> sle = view.<a class="code hl_function" href="classripple_1_1ApplyView.html#afa666aaa8eb0080d96f910f8a719291d">peek</a>(mptokenID);</div>
|
||||
<div class="line"><a id="l02945" name="l02945"></a><span class="lineno"> 2945</span> <span class="keywordflow">if</span> (!sle)</div>
|
||||
<div class="line"><a id="l02946" name="l02946"></a><span class="lineno"> 2946</span> {</div>
|
||||
<div class="line"><a id="l02946" name="l02946"></a><span class="lineno"> 2946</span> { <span class="comment">// LCOV_EXCL_START</span></div>
|
||||
<div class="line"><a id="l02947" name="l02947"></a><span class="lineno"> 2947</span> JLOG(j.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>())</div>
|
||||
<div class="line"><a id="l02948" name="l02948"></a><span class="lineno"> 2948</span> << <span class="stringliteral">"rippleUnlockEscrowMPT: MPToken not found for "</span> << sender;</div>
|
||||
<div class="line"><a id="l02949" name="l02949"></a><span class="lineno"> 2949</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca2f3fdd22dc22973eca4c97cb3f9e65fc">tecOBJECT_NOT_FOUND</a>; <span class="comment">// LCOV_EXCL_LINE</span></div>
|
||||
<div class="line"><a id="l02950" name="l02950"></a><span class="lineno"> 2950</span> }</div>
|
||||
<div class="line"><a id="l02949" name="l02949"></a><span class="lineno"> 2949</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca2f3fdd22dc22973eca4c97cb3f9e65fc">tecOBJECT_NOT_FOUND</a>;</div>
|
||||
<div class="line"><a id="l02950" name="l02950"></a><span class="lineno"> 2950</span> } <span class="comment">// LCOV_EXCL_STOP</span></div>
|
||||
<div class="line"><a id="l02951" name="l02951"></a><span class="lineno"> 2951</span> </div>
|
||||
<div class="line"><a id="l02952" name="l02952"></a><span class="lineno"> 2952</span> <span class="keywordflow">if</span> (!sle->isFieldPresent(sfLockedAmount))</div>
|
||||
<div class="line"><a id="l02953" name="l02953"></a><span class="lineno"> 2953</span> {</div>
|
||||
<div class="line"><a id="l02953" name="l02953"></a><span class="lineno"> 2953</span> { <span class="comment">// LCOV_EXCL_START</span></div>
|
||||
<div class="line"><a id="l02954" name="l02954"></a><span class="lineno"> 2954</span> JLOG(j.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>())</div>
|
||||
<div class="line"><a id="l02955" name="l02955"></a><span class="lineno"> 2955</span> << <span class="stringliteral">"rippleUnlockEscrowMPT: no locked amount in MPToken for "</span></div>
|
||||
<div class="line"><a id="l02956" name="l02956"></a><span class="lineno"> 2956</span> << to_string(sender);</div>
|
||||
<div class="line"><a id="l02957" name="l02957"></a><span class="lineno"> 2957</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca93e4e159f8759ea0948423c699e7cf77">tecINTERNAL</a>; <span class="comment">// LCOV_EXCL_LINE</span></div>
|
||||
<div class="line"><a id="l02958" name="l02958"></a><span class="lineno"> 2958</span> }</div>
|
||||
<div class="line"><a id="l02957" name="l02957"></a><span class="lineno"> 2957</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca93e4e159f8759ea0948423c699e7cf77">tecINTERNAL</a>;</div>
|
||||
<div class="line"><a id="l02958" name="l02958"></a><span class="lineno"> 2958</span> } <span class="comment">// LCOV_EXCL_STOP</span></div>
|
||||
<div class="line"><a id="l02959" name="l02959"></a><span class="lineno"> 2959</span> </div>
|
||||
<div class="line"><a id="l02960" name="l02960"></a><span class="lineno"> 2960</span> <span class="keyword">auto</span> <span class="keyword">const</span> locked = sle->getFieldU64(sfLockedAmount);</div>
|
||||
<div class="line"><a id="l02961" name="l02961"></a><span class="lineno"> 2961</span> <span class="keyword">auto</span> <span class="keyword">const</span> delta = amount.<a class="code hl_function" href="classripple_1_1STAmount.html#ac22cc0520139c8d6bfa612d8ed3ef069">mpt</a>().<a class="code hl_function" href="classripple_1_1MPTAmount.html#a01eca3dd7e5f6b325ea7fc5fc7230f89">value</a>();</div>
|
||||
<div class="line"><a id="l02962" name="l02962"></a><span class="lineno"> 2962</span> </div>
|
||||
<div class="line"><a id="l02963" name="l02963"></a><span class="lineno"> 2963</span> <span class="comment">// Underflow check for subtraction</span></div>
|
||||
<div class="line"><a id="l02964" name="l02964"></a><span class="lineno"> 2964</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="namespaceripple.html#a2f2f22330db2c109956e5c4e6be0249c">canSubtract</a>(<a class="code hl_class" href="classripple_1_1STAmount.html">STAmount</a>(mptIssue, locked), <a class="code hl_class" href="classripple_1_1STAmount.html">STAmount</a>(mptIssue, delta)))</div>
|
||||
<div class="line"><a id="l02965" name="l02965"></a><span class="lineno"> 2965</span> {</div>
|
||||
<div class="line"><a id="l02966" name="l02966"></a><span class="lineno"> 2966</span> JLOG(j.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>())</div>
|
||||
<div class="line"><a id="l02967" name="l02967"></a><span class="lineno"> 2967</span> << <span class="stringliteral">"rippleUnlockEscrowMPT: insufficient locked amount for "</span></div>
|
||||
<div class="line"><a id="l02968" name="l02968"></a><span class="lineno"> 2968</span> << to_string(sender) << <span class="stringliteral">": "</span> << locked << <span class="stringliteral">" < "</span> << delta;</div>
|
||||
<div class="line"><a id="l02969" name="l02969"></a><span class="lineno"> 2969</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca93e4e159f8759ea0948423c699e7cf77">tecINTERNAL</a>; <span class="comment">// LCOV_EXCL_LINE</span></div>
|
||||
<div class="line"><a id="l02970" name="l02970"></a><span class="lineno"> 2970</span> }</div>
|
||||
<div class="line"><a id="l02971" name="l02971"></a><span class="lineno"> 2971</span> </div>
|
||||
<div class="line"><a id="l02972" name="l02972"></a><span class="lineno"> 2972</span> <span class="keyword">auto</span> <span class="keyword">const</span> newLocked = locked - delta;</div>
|
||||
<div class="line"><a id="l02973" name="l02973"></a><span class="lineno"> 2973</span> <span class="keywordflow">if</span> (newLocked == 0)</div>
|
||||
<div class="line"><a id="l02974" name="l02974"></a><span class="lineno"> 2974</span> sle->makeFieldAbsent(sfLockedAmount);</div>
|
||||
<div class="line"><a id="l02975" name="l02975"></a><span class="lineno"> 2975</span> <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a id="l02976" name="l02976"></a><span class="lineno"> 2976</span> sle->setFieldU64(sfLockedAmount, newLocked);</div>
|
||||
<div class="line"><a id="l02977" name="l02977"></a><span class="lineno"> 2977</span> view.<a class="code hl_function" href="classripple_1_1ApplyView.html#a542437b9b59a623e755979acdc075af5">update</a>(sle);</div>
|
||||
<div class="line"><a id="l02978" name="l02978"></a><span class="lineno"> 2978</span> }</div>
|
||||
<div class="line"><a id="l02979" name="l02979"></a><span class="lineno"> 2979</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151">tesSUCCESS</a>;</div>
|
||||
<div class="line"><a id="l02980" name="l02980"></a><span class="lineno"> 2980</span>}</div>
|
||||
<div class="line"><a id="l02981" name="l02981"></a><span class="lineno"> 2981</span> </div>
|
||||
<div class="line"><a id="l02982" name="l02982"></a><span class="lineno"> 2982</span><span class="keywordtype">bool</span></div>
|
||||
<div class="line"><a id="l02983" name="l02983"></a><span class="lineno"><a class="line" href="namespaceripple.html#ac3e90afb749bb1f01e06729c7c860ba3"> 2983</a></span><a class="code hl_function" href="namespaceripple.html#ac3e90afb749bb1f01e06729c7c860ba3">after</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">NetClock::time_point</a> now, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> mark)</div>
|
||||
<div class="line"><a id="l02984" name="l02984"></a><span class="lineno"> 2984</span>{</div>
|
||||
<div class="line"><a id="l02985" name="l02985"></a><span class="lineno"> 2985</span> <span class="keywordflow">return</span> now.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/chrono/time_point/time_since_epoch.html">time_since_epoch</a>().count() > mark;</div>
|
||||
<div class="line"><a id="l02986" name="l02986"></a><span class="lineno"> 2986</span>}</div>
|
||||
<div class="line"><a id="l02987" name="l02987"></a><span class="lineno"> 2987</span> </div>
|
||||
<div class="line"><a id="l02988" name="l02988"></a><span class="lineno"> 2988</span>} <span class="comment">// namespace ripple</span></div>
|
||||
<div class="line"><a id="l02964" name="l02964"></a><span class="lineno"> 2964</span> <span class="comment">// LCOV_EXCL_START</span></div>
|
||||
<div class="line"><a id="l02965" name="l02965"></a><span class="lineno"> 2965</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="namespaceripple.html#a2f2f22330db2c109956e5c4e6be0249c">canSubtract</a>(<a class="code hl_class" href="classripple_1_1STAmount.html">STAmount</a>(mptIssue, locked), <a class="code hl_class" href="classripple_1_1STAmount.html">STAmount</a>(mptIssue, delta)))</div>
|
||||
<div class="line"><a id="l02966" name="l02966"></a><span class="lineno"> 2966</span> { <span class="comment">// LCOV_EXCL_START</span></div>
|
||||
<div class="line"><a id="l02967" name="l02967"></a><span class="lineno"> 2967</span> JLOG(j.<a class="code hl_function" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>())</div>
|
||||
<div class="line"><a id="l02968" name="l02968"></a><span class="lineno"> 2968</span> << <span class="stringliteral">"rippleUnlockEscrowMPT: insufficient locked amount for "</span></div>
|
||||
<div class="line"><a id="l02969" name="l02969"></a><span class="lineno"> 2969</span> << to_string(sender) << <span class="stringliteral">": "</span> << locked << <span class="stringliteral">" < "</span> << delta;</div>
|
||||
<div class="line"><a id="l02970" name="l02970"></a><span class="lineno"> 2970</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca93e4e159f8759ea0948423c699e7cf77">tecINTERNAL</a>;</div>
|
||||
<div class="line"><a id="l02971" name="l02971"></a><span class="lineno"> 2971</span> } <span class="comment">// LCOV_EXCL_STOP</span></div>
|
||||
<div class="line"><a id="l02972" name="l02972"></a><span class="lineno"> 2972</span> </div>
|
||||
<div class="line"><a id="l02973" name="l02973"></a><span class="lineno"> 2973</span> <span class="keyword">auto</span> <span class="keyword">const</span> newLocked = locked - delta;</div>
|
||||
<div class="line"><a id="l02974" name="l02974"></a><span class="lineno"> 2974</span> <span class="keywordflow">if</span> (newLocked == 0)</div>
|
||||
<div class="line"><a id="l02975" name="l02975"></a><span class="lineno"> 2975</span> sle->makeFieldAbsent(sfLockedAmount);</div>
|
||||
<div class="line"><a id="l02976" name="l02976"></a><span class="lineno"> 2976</span> <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a id="l02977" name="l02977"></a><span class="lineno"> 2977</span> sle->setFieldU64(sfLockedAmount, newLocked);</div>
|
||||
<div class="line"><a id="l02978" name="l02978"></a><span class="lineno"> 2978</span> view.<a class="code hl_function" href="classripple_1_1ApplyView.html#a542437b9b59a623e755979acdc075af5">update</a>(sle);</div>
|
||||
<div class="line"><a id="l02979" name="l02979"></a><span class="lineno"> 2979</span> }</div>
|
||||
<div class="line"><a id="l02980" name="l02980"></a><span class="lineno"> 2980</span> <span class="keywordflow">return</span> <a class="code hl_enumvalue" href="namespaceripple.html#aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151">tesSUCCESS</a>;</div>
|
||||
<div class="line"><a id="l02981" name="l02981"></a><span class="lineno"> 2981</span>}</div>
|
||||
<div class="line"><a id="l02982" name="l02982"></a><span class="lineno"> 2982</span> </div>
|
||||
<div class="line"><a id="l02983" name="l02983"></a><span class="lineno"> 2983</span><span class="keywordtype">bool</span></div>
|
||||
<div class="line"><a id="l02984" name="l02984"></a><span class="lineno"><a class="line" href="namespaceripple.html#ac3e90afb749bb1f01e06729c7c860ba3"> 2984</a></span><a class="code hl_function" href="namespaceripple.html#ac3e90afb749bb1f01e06729c7c860ba3">after</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/chrono/time_point.html">NetClock::time_point</a> now, <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint32_t</a> mark)</div>
|
||||
<div class="line"><a id="l02985" name="l02985"></a><span class="lineno"> 2985</span>{</div>
|
||||
<div class="line"><a id="l02986" name="l02986"></a><span class="lineno"> 2986</span> <span class="keywordflow">return</span> now.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/chrono/time_point/time_since_epoch.html">time_since_epoch</a>().count() > mark;</div>
|
||||
<div class="line"><a id="l02987" name="l02987"></a><span class="lineno"> 2987</span>}</div>
|
||||
<div class="line"><a id="l02988" name="l02988"></a><span class="lineno"> 2988</span> </div>
|
||||
<div class="line"><a id="l02989" name="l02989"></a><span class="lineno"> 2989</span>} <span class="comment">// namespace ripple</span></div>
|
||||
<div class="ttc" id="aarray_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a></div></div>
|
||||
<div class="ttc" id="abasic_string_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a></div></div>
|
||||
<div class="ttc" id="aclassbeast_1_1Journal_1_1Stream_html"><div class="ttname"><a href="classbeast_1_1Journal_1_1Stream.html">beast::Journal::Stream</a></div><div class="ttdoc">Provide a light-weight way to check active() before string formatting.</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00204">Journal.h:205</a></div></div>
|
||||
@@ -3121,7 +3122,7 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1STAmount_html_acab76380a95d902071fd26ab3425bbe5"><div class="ttname"><a href="classripple_1_1STAmount.html#acab76380a95d902071fd26ab3425bbe5">ripple::STAmount::issue</a></div><div class="ttdeci">Issue const & issue() const</div><div class="ttdef"><b>Definition:</b> <a href="STAmount_8h_source.html#l00496">STAmount.h:496</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STAmount_html_ad9cebdb647da68f740009f9cda4dbe83"><div class="ttname"><a href="classripple_1_1STAmount.html#ad9cebdb647da68f740009f9cda4dbe83">ripple::STAmount::negate</a></div><div class="ttdeci">void negate()</div><div class="ttdef"><b>Definition:</b> <a href="STAmount_8h_source.html#l00564">STAmount.h:564</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STAmount_html_ae1e71aef94d7a8d5730eb85804b710da"><div class="ttname"><a href="classripple_1_1STAmount.html#ae1e71aef94d7a8d5730eb85804b710da">ripple::STAmount::clear</a></div><div class="ttdeci">void clear()</div><div class="ttdef"><b>Definition:</b> <a href="STAmount_8h_source.html#l00571">STAmount.h:571</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STAmount_html_aee39db45aa65eddca7002ad9bf3e7877"><div class="ttname"><a href="classripple_1_1STAmount.html#aee39db45aa65eddca7002ad9bf3e7877">ripple::STAmount::getFullText</a></div><div class="ttdeci">std::string getFullText() const override</div><div class="ttdef"><b>Definition:</b> <a href="STAmount_8cpp_source.html#l00691">STAmount.cpp:691</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STAmount_html_aee39db45aa65eddca7002ad9bf3e7877"><div class="ttname"><a href="classripple_1_1STAmount.html#aee39db45aa65eddca7002ad9bf3e7877">ripple::STAmount::getFullText</a></div><div class="ttdeci">std::string getFullText() const override</div><div class="ttdef"><b>Definition:</b> <a href="STAmount_8cpp_source.html#l00696">STAmount.cpp:696</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STAmount_html_af3a02d7e9cd0b11509a90e0e6980bd64"><div class="ttname"><a href="classripple_1_1STAmount.html#af3a02d7e9cd0b11509a90e0e6980bd64">ripple::STAmount::native</a></div><div class="ttdeci">bool native() const noexcept</div><div class="ttdef"><b>Definition:</b> <a href="STAmount_8h_source.html#l00458">STAmount.h:458</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STAmount_html_af8fda98bf85bb681409a8d601a3f08dc"><div class="ttname"><a href="classripple_1_1STAmount.html#af8fda98bf85bb681409a8d601a3f08dc">ripple::STAmount::zeroed</a></div><div class="ttdeci">STAmount zeroed() const</div><div class="ttdoc">Returns a zero value with the same issuer and currency.</div><div class="ttdef"><b>Definition:</b> <a href="STAmount_8h_source.html#l00520">STAmount.h:520</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STLedgerEntry_html"><div class="ttname"><a href="classripple_1_1STLedgerEntry.html">ripple::STLedgerEntry</a></div><div class="ttdef"><b>Definition:</b> <a href="STLedgerEntry_8h_source.html#l00031">STLedgerEntry.h:32</a></div></div>
|
||||
@@ -3172,7 +3173,7 @@ $(function() {
|
||||
<div class="ttc" id="anamespaceripple_html_a260d2970ac1119109937ed1c5d4ca962a453d7db3d36a5516e925c466d1dc0ac1"><div class="ttname"><a href="namespaceripple.html#a260d2970ac1119109937ed1c5d4ca962a453d7db3d36a5516e925c466d1dc0ac1">ripple::telFAILED_PROCESSING</a></div><div class="ttdeci">@ telFAILED_PROCESSING</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00056">TER.h:56</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a29c200b51e582524768ea6a9f3d9b279"><div class="ttname"><a href="namespaceripple.html#a29c200b51e582524768ea6a9f3d9b279">ripple::isIndividualFrozen</a></div><div class="ttdeci">bool isIndividualFrozen(ReadView const &view, AccountID const &account, Currency const &currency, AccountID const &issuer)</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l00215">View.cpp:215</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a2da08ee715495ec871618786c8afec80"><div class="ttname"><a href="namespaceripple.html#a2da08ee715495ec871618786c8afec80">ripple::deleteAMMTrustLine</a></div><div class="ttdeci">TER deleteAMMTrustLine(ApplyView &view, std::shared_ptr< SLE > sleState, std::optional< AccountID > const &ammAccountID, beast::Journal j)</div><div class="ttdoc">Delete trustline to AMM.</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l02607">View.cpp:2607</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a2f2f22330db2c109956e5c4e6be0249c"><div class="ttname"><a href="namespaceripple.html#a2f2f22330db2c109956e5c4e6be0249c">ripple::canSubtract</a></div><div class="ttdeci">bool canSubtract(STAmount const &amt1, STAmount const &amt2)</div><div class="ttdoc">Determines if it is safe to subtract one STAmount from another.</div><div class="ttdef"><b>Definition:</b> <a href="STAmount_8cpp_source.html#l00605">STAmount.cpp:605</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a2f2f22330db2c109956e5c4e6be0249c"><div class="ttname"><a href="namespaceripple.html#a2f2f22330db2c109956e5c4e6be0249c">ripple::canSubtract</a></div><div class="ttdeci">bool canSubtract(STAmount const &amt1, STAmount const &amt2)</div><div class="ttdoc">Determines if it is safe to subtract one STAmount from another.</div><div class="ttdef"><b>Definition:</b> <a href="STAmount_8cpp_source.html#l00608">STAmount.cpp:608</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a33cfcdda48d70867c06c798f8a894ff0"><div class="ttname"><a href="namespaceripple.html#a33cfcdda48d70867c06c798f8a894ff0">ripple::rippleSendMPT</a></div><div class="ttdeci">static TER rippleSendMPT(ApplyView &view, AccountID const &uSenderID, AccountID const &uReceiverID, STAmount const &saAmount, STAmount &saActual, beast::Journal j, WaiveTransferFee waiveFee)</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l01920">View.cpp:1920</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a34251c908a52d50d055160c19d6e6e56"><div class="ttname"><a href="namespaceripple.html#a34251c908a52d50d055160c19d6e6e56">ripple::dirFirst</a></div><div class="ttdeci">bool dirFirst(ApplyView &view, uint256 const &root, std::shared_ptr< SLE > &page, unsigned int &index, uint256 &entry)</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l00125">View.cpp:125</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a3a022ec9e19a1b18a0ac3bdf7328a877"><div class="ttname"><a href="namespaceripple.html#a3a022ec9e19a1b18a0ac3bdf7328a877">ripple::dirNext</a></div><div class="ttdeci">bool dirNext(ApplyView &view, uint256 const &root, std::shared_ptr< SLE > &page, unsigned int &index, uint256 &entry)</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l00136">View.cpp:136</a></div></div>
|
||||
@@ -3259,7 +3260,7 @@ $(function() {
|
||||
<div class="ttc" id="anamespaceripple_html_ac1d430838f9c822e6c0722f54807ebef"><div class="ttname"><a href="namespaceripple.html#ac1d430838f9c822e6c0722f54807ebef">ripple::forEachItemAfter</a></div><div class="ttdeci">bool forEachItemAfter(ReadView const &view, Keylet const &root, uint256 const &after, std::uint64_t const hint, unsigned int limit, std::function< bool(std::shared_ptr< SLE const > const &)> const &f)</div><div class="ttdoc">Iterate all items after an item in the given directory.</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l00683">View.cpp:683</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ac257f40046c4e897b1109124734c7026"><div class="ttname"><a href="namespaceripple.html#ac257f40046c4e897b1109124734c7026">ripple::MPTAuthType</a></div><div class="ttdeci">MPTAuthType</div><div class="ttdef"><b>Definition:</b> <a href="View_8h_source.html#l00732">View.h:732</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ac257f40046c4e897b1109124734c7026a7559328fba92acce7308a39180e16441"><div class="ttname"><a href="namespaceripple.html#ac257f40046c4e897b1109124734c7026a7559328fba92acce7308a39180e16441">ripple::MPTAuthType::StrongAuth</a></div><div class="ttdeci">@ StrongAuth</div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ac3e90afb749bb1f01e06729c7c860ba3"><div class="ttname"><a href="namespaceripple.html#ac3e90afb749bb1f01e06729c7c860ba3">ripple::after</a></div><div class="ttdeci">bool after(NetClock::time_point now, std::uint32_t mark)</div><div class="ttdoc">Has the specified time passed?</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l02983">View.cpp:2983</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ac3e90afb749bb1f01e06729c7c860ba3"><div class="ttname"><a href="namespaceripple.html#ac3e90afb749bb1f01e06729c7c860ba3">ripple::after</a></div><div class="ttdeci">bool after(NetClock::time_point now, std::uint32_t mark)</div><div class="ttdoc">Has the specified time passed?</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l02984">View.cpp:2984</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ac527f4be8f38f42794ec9a8981c71f25"><div class="ttname"><a href="namespaceripple.html#ac527f4be8f38f42794ec9a8981c71f25">ripple::assetsToSharesWithdraw</a></div><div class="ttdeci">STAmount assetsToSharesWithdraw(std::shared_ptr< SLE const > const &vault, std::shared_ptr< SLE const > const &issuance, STAmount const &assets)</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l02702">View.cpp:2702</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ac63838a9be23c18086f1f05c78867399"><div class="ttname"><a href="namespaceripple.html#ac63838a9be23c18086f1f05c78867399">ripple::cleanupOnAccountDelete</a></div><div class="ttdeci">TER cleanupOnAccountDelete(ApplyView &view, Keylet const &ownerDirKeylet, EntryDeleter const &deleter, beast::Journal j, std::optional< uint16_t > maxNodesToDelete)</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l02529">View.cpp:2529</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_accc8ce88b24f653a30e40f7d22e428c5"><div class="ttname"><a href="namespaceripple.html#accc8ce88b24f653a30e40f7d22e428c5">ripple::forEachItem</a></div><div class="ttdeci">void forEachItem(ReadView const &view, Keylet const &root, std::function< void(std::shared_ptr< SLE const > const &)> const &f)</div><div class="ttdoc">Iterate all items in the given directory.</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l00655">View.cpp:655</a></div></div>
|
||||
|
||||
Reference in New Issue
Block a user