mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-22 03:55:53 +00:00
deploy: 3574956e5e
This commit is contained in:
@@ -825,225 +825,260 @@ $(function() {
|
||||
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>  }</div>
|
||||
<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> }</div>
|
||||
<div class="line"><a name="l00759"></a><span class="lineno"> 759</span>  </div>
|
||||
<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair<TER, XRPAmount></a></div>
|
||||
<div class="line"><a name="l00762"></a><span class="lineno"><a class="line" href="classripple_1_1Transactor.html#af81f796422a3f66771e31a6ecbbbf57b"> 762</a></span> <a class="code" href="classripple_1_1Transactor.html#af81f796422a3f66771e31a6ecbbbf57b">Transactor::reset</a>(<a class="code" href="classripple_1_1XRPAmount.html">XRPAmount</a> fee)</div>
|
||||
<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> {</div>
|
||||
<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a5967451fa668bfc8b6e6bf763da92aa7">discard</a>();</div>
|
||||
<div class="line"><a name="l00765"></a><span class="lineno"> 765</span>  </div>
|
||||
<div class="line"><a name="l00766"></a><span class="lineno"> 766</span>  <span class="keyword">auto</span> <span class="keyword">const</span> txnAcct =</div>
|
||||
<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  <a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>().<a class="code" href="classripple_1_1ApplyView.html#aad9fb1233dec10dcc10c2e3b1da6a723">peek</a>(<a class="code" href="namespaceripple_1_1keylet.html#a50c370db96b4fdcdd202d9c2c38afce9">keylet::account</a>(<a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>.<a class="code" href="classripple_1_1STObject.html#a0d2d874d34a1c3ed432cdb9fb1386b35">getAccountID</a>(<a class="code" href="namespaceripple.html#a5bab99595719d22579e10d21cf048eb0">sfAccount</a>)));</div>
|
||||
<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>  <span class="keywordflow">if</span> (!txnAcct)</div>
|
||||
<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>  <span class="comment">// The account should never be missing from the ledger. But if it</span></div>
|
||||
<div class="line"><a name="l00770"></a><span class="lineno"> 770</span>  <span class="comment">// is missing then we can't very well charge it a fee, can we?</span></div>
|
||||
<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  <span class="keywordflow">return</span> {<a class="code" href="namespaceripple.html#a75cb21d7f1df42f2fdc8efddb79b63f4ad035d214edc31c72362d7efbdaba234c">tefINTERNAL</a>, beast::zero};</div>
|
||||
<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>  </div>
|
||||
<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>  <span class="keyword">auto</span> <span class="keyword">const</span> balance = txnAcct->getFieldAmount(<a class="code" href="namespaceripple.html#ab8a9c54401e8209fca7396c6b9c610f4">sfBalance</a>).xrp();</div>
|
||||
<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  </div>
|
||||
<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  <span class="comment">// balance should have already been checked in checkFee / preFlight.</span></div>
|
||||
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  assert(balance != beast::zero && (!<a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>().<a class="code" href="namespaceripple.html#a886ed36db831a964fc5f66ebbb4fe3d0">open</a>() || balance >= fee));</div>
|
||||
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  </div>
|
||||
<div class="line"><a name="l00778"></a><span class="lineno"> 778</span>  <span class="comment">// We retry/reject the transaction if the account balance is zero or we're</span></div>
|
||||
<div class="line"><a name="l00779"></a><span class="lineno"> 779</span>  <span class="comment">// applying against an open ledger and the balance is less than the fee</span></div>
|
||||
<div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  <span class="keywordflow">if</span> (fee > balance)</div>
|
||||
<div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  fee = balance;</div>
|
||||
<div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  </div>
|
||||
<div class="line"><a name="l00783"></a><span class="lineno"> 783</span>  <span class="comment">// Since we reset the context, we need to charge the fee and update</span></div>
|
||||
<div class="line"><a name="l00784"></a><span class="lineno"> 784</span>  <span class="comment">// the account's sequence number (or consume the Ticket) again.</span></div>
|
||||
<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00786"></a><span class="lineno"> 786</span>  <span class="comment">// If for some reason we are unable to consume the ticket or sequence</span></div>
|
||||
<div class="line"><a name="l00787"></a><span class="lineno"> 787</span>  <span class="comment">// then the ledger is corrupted. Rather than make things worse we</span></div>
|
||||
<div class="line"><a name="l00788"></a><span class="lineno"> 788</span>  <span class="comment">// reject the transaction.</span></div>
|
||||
<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  txnAcct->setFieldAmount(<a class="code" href="namespaceripple.html#ab8a9c54401e8209fca7396c6b9c610f4">sfBalance</a>, balance - fee);</div>
|
||||
<div class="line"><a name="l00790"></a><span class="lineno"> 790</span>  <a class="code" href="classripple_1_1TERSubset.html">TER</a> <span class="keyword">const</span> ter{<a class="code" href="classripple_1_1Transactor.html#a0b2066252127862bb58c1e4994dd5deb">consumeSeqProxy</a>(txnAcct)};</div>
|
||||
<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  assert(<a class="code" href="namespaceripple.html#a5b31f337f444082f547ef1838e7064fc">isTesSuccess</a>(ter));</div>
|
||||
<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  </div>
|
||||
<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceripple.html#a5b31f337f444082f547ef1838e7064fc">isTesSuccess</a>(ter))</div>
|
||||
<div class="line"><a name="l00794"></a><span class="lineno"> 794</span>  <a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>().<a class="code" href="classripple_1_1ApplyView.html#a542437b9b59a623e755979acdc075af5">update</a>(txnAcct);</div>
|
||||
<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  </div>
|
||||
<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  <span class="keywordflow">return</span> {ter, fee};</div>
|
||||
<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> }</div>
|
||||
<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div>
|
||||
<div class="line"><a name="l00761"></a><span class="lineno"><a class="line" href="namespaceripple.html#ac3e50b84e446c9a994a53e3cba303c65"> 761</a></span> <a class="code" href="namespaceripple.html#ac3e50b84e446c9a994a53e3cba303c65">removeDeletedTrustLines</a>(</div>
|
||||
<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>  <a class="code" href="classripple_1_1ApplyView.html">ApplyView</a>& view,</div>
|
||||
<div class="line"><a name="l00763"></a><span class="lineno"> 763</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint256></a> <span class="keyword">const</span>& trustLines,</div>
|
||||
<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  <a class="code" href="classbeast_1_1Journal.html">beast::Journal</a> viewJ)</div>
|
||||
<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> {</div>
|
||||
<div class="line"><a name="l00766"></a><span class="lineno"> 766</span>  <span class="keywordflow">if</span> (trustLines.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() > <a class="code" href="namespaceripple.html#a02846cd5c6d936cb7fc510267ecc77d4">maxDeletableAMMTrustLines</a>)</div>
|
||||
<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  {</div>
|
||||
<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>  JLOG(viewJ.<a class="code" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>())</div>
|
||||
<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>  << <span class="stringliteral">"removeDeletedTrustLines: deleted trustlines exceed max "</span></div>
|
||||
<div class="line"><a name="l00770"></a><span class="lineno"> 770</span>  << trustLines.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>();</div>
|
||||
<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  <span class="keywordflow">return</span>;</div>
|
||||
<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>  }</div>
|
||||
<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>  </div>
|
||||
<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> <span class="keyword">const</span>& index : trustLines)</div>
|
||||
<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  {</div>
|
||||
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  <span class="keywordflow">if</span> (<span class="keyword">auto</span> <span class="keyword">const</span> sleState = view.<a class="code" href="classripple_1_1ApplyView.html#aad9fb1233dec10dcc10c2e3b1da6a723">peek</a>({ltRIPPLE_STATE, index});</div>
|
||||
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  <a class="code" href="namespaceripple.html#a2da08ee715495ec871618786c8afec80">deleteAMMTrustLine</a>(view, sleState, std::nullopt, viewJ) !=</div>
|
||||
<div class="line"><a name="l00778"></a><span class="lineno"> 778</span>  <a class="code" href="namespaceripple.html#aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151">tesSUCCESS</a>)</div>
|
||||
<div class="line"><a name="l00779"></a><span class="lineno"> 779</span>  {</div>
|
||||
<div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  JLOG(viewJ.<a class="code" href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">error</a>())</div>
|
||||
<div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  << <span class="stringliteral">"removeDeletedTrustLines: failed to delete AMM trustline"</span>;</div>
|
||||
<div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  }</div>
|
||||
<div class="line"><a name="l00783"></a><span class="lineno"> 783</span>  }</div>
|
||||
<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> }</div>
|
||||
<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  </div>
|
||||
<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair<TER, XRPAmount></a></div>
|
||||
<div class="line"><a name="l00788"></a><span class="lineno"><a class="line" href="classripple_1_1Transactor.html#af81f796422a3f66771e31a6ecbbbf57b"> 788</a></span> <a class="code" href="classripple_1_1Transactor.html#af81f796422a3f66771e31a6ecbbbf57b">Transactor::reset</a>(<a class="code" href="classripple_1_1XRPAmount.html">XRPAmount</a> fee)</div>
|
||||
<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> {</div>
|
||||
<div class="line"><a name="l00790"></a><span class="lineno"> 790</span>  <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a5967451fa668bfc8b6e6bf763da92aa7">discard</a>();</div>
|
||||
<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  </div>
|
||||
<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  <span class="keyword">auto</span> <span class="keyword">const</span> txnAcct =</div>
|
||||
<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  <a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>().<a class="code" href="classripple_1_1ApplyView.html#aad9fb1233dec10dcc10c2e3b1da6a723">peek</a>(<a class="code" href="namespaceripple_1_1keylet.html#a50c370db96b4fdcdd202d9c2c38afce9">keylet::account</a>(<a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>.<a class="code" href="classripple_1_1STObject.html#a0d2d874d34a1c3ed432cdb9fb1386b35">getAccountID</a>(<a class="code" href="namespaceripple.html#a5bab99595719d22579e10d21cf048eb0">sfAccount</a>)));</div>
|
||||
<div class="line"><a name="l00794"></a><span class="lineno"> 794</span>  <span class="keywordflow">if</span> (!txnAcct)</div>
|
||||
<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  <span class="comment">// The account should never be missing from the ledger. But if it</span></div>
|
||||
<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  <span class="comment">// is missing then we can't very well charge it a fee, can we?</span></div>
|
||||
<div class="line"><a name="l00797"></a><span class="lineno"> 797</span>  <span class="keywordflow">return</span> {<a class="code" href="namespaceripple.html#a75cb21d7f1df42f2fdc8efddb79b63f4ad035d214edc31c72362d7efbdaba234c">tefINTERNAL</a>, beast::zero};</div>
|
||||
<div class="line"><a name="l00798"></a><span class="lineno"> 798</span>  </div>
|
||||
<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> <span class="comment">//------------------------------------------------------------------------------</span></div>
|
||||
<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair<TER, bool></a></div>
|
||||
<div class="line"><a name="l00801"></a><span class="lineno"><a class="line" href="classripple_1_1Transactor.html#a6fbe596dea21ad7ed639ab48ab0dbe0a"> 801</a></span> <a class="code" href="classripple_1_1Transactor.html#a6fbe596dea21ad7ed639ab48ab0dbe0a">Transactor::operator()</a>()</div>
|
||||
<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> {</div>
|
||||
<div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  JLOG(<a class="code" href="classripple_1_1Transactor.html#aafdaa4e246ee6879df9cbbf2482dcc7d">j_</a>.<a class="code" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>()) << <span class="stringliteral">"apply: "</span> << <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>.<a class="code" href="classripple_1_1STTx.html#ad314af66e2542db537b3b5de291d33c3">getTransactionID</a>();</div>
|
||||
<div class="line"><a name="l00804"></a><span class="lineno"> 804</span>  </div>
|
||||
<div class="line"><a name="l00805"></a><span class="lineno"> 805</span>  <a class="code" href="classripple_1_1STAmountSO.html">STAmountSO</a> stAmountSO{<a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>().<a class="code" href="classripple_1_1ReadView.html#aaf2fa03be723bb78d8bdf41614a75a30">rules</a>().<a class="code" href="classripple_1_1Rules.html#a1a8388a2b9588aa9446ece92a88e0dd2">enabled</a>(<a class="code" href="namespaceripple.html#a58db4f19d243f6c82a533a40a0db89cd">fixSTAmountCanonicalize</a>)};</div>
|
||||
<div class="line"><a name="l00806"></a><span class="lineno"> 806</span>  <a class="code" href="classripple_1_1NumberSO.html">NumberSO</a> stNumberSO{<a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>().<a class="code" href="classripple_1_1ReadView.html#aaf2fa03be723bb78d8bdf41614a75a30">rules</a>().<a class="code" href="classripple_1_1Rules.html#a1a8388a2b9588aa9446ece92a88e0dd2">enabled</a>(<a class="code" href="namespaceripple.html#aca7b4bf41e621edeabbb353a76e9b055">fixUniversalNumber</a>)};</div>
|
||||
<div class="line"><a name="l00807"></a><span class="lineno"> 807</span>  </div>
|
||||
<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> <span class="preprocessor">#ifdef DEBUG</span></div>
|
||||
<div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  {</div>
|
||||
<div class="line"><a name="l00810"></a><span class="lineno"> 810</span>  <a class="code" href="classripple_1_1Serializer.html">Serializer</a> ser;</div>
|
||||
<div class="line"><a name="l00811"></a><span class="lineno"> 811</span>  <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>.<a class="code" href="classripple_1_1STObject.html#a7adccac3a1b54244ae210afe7c5916e8">add</a>(ser);</div>
|
||||
<div class="line"><a name="l00812"></a><span class="lineno"> 812</span>  <a class="code" href="classripple_1_1SerialIter.html">SerialIter</a> sit(ser.<a class="code" href="classripple_1_1Serializer.html#a394c3299f6cfcebdaa4bc98ec0c602d6">slice</a>());</div>
|
||||
<div class="line"><a name="l00813"></a><span class="lineno"> 813</span>  <a class="code" href="classripple_1_1STTx.html">STTx</a> s2(sit);</div>
|
||||
<div class="line"><a name="l00814"></a><span class="lineno"> 814</span>  </div>
|
||||
<div class="line"><a name="l00815"></a><span class="lineno"> 815</span>  <span class="keywordflow">if</span> (!s2.<a class="code" href="classripple_1_1STObject.html#a3b5c3ab2b3da4ecc342bd8cf5e9c3947">isEquivalent</a>(<a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>))</div>
|
||||
<div class="line"><a name="l00816"></a><span class="lineno"> 816</span>  {</div>
|
||||
<div class="line"><a name="l00817"></a><span class="lineno"> 817</span>  JLOG(<a class="code" href="classripple_1_1Transactor.html#aafdaa4e246ee6879df9cbbf2482dcc7d">j_</a>.<a class="code" href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">fatal</a>()) << <span class="stringliteral">"Transaction serdes mismatch"</span>;</div>
|
||||
<div class="line"><a name="l00818"></a><span class="lineno"> 818</span>  JLOG(<a class="code" href="classripple_1_1Transactor.html#aafdaa4e246ee6879df9cbbf2482dcc7d">j_</a>.<a class="code" href="classbeast_1_1Journal.html#a87d6bd59020d94110027dcab3d9e3357">info</a>()) << <a class="code" href="namespaceripple.html#af9776f187d3686a7fba4c2d2fbeebdf4">to_string</a>(<a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>.<a class="code" href="classripple_1_1STTx.html#a489c8110e24455a2e7dac783f4760cc2">getJson</a>(<a class="code" href="namespaceripple.html#a169967ff418b80729654b6d45ade8711a334c4a4c42fdb79d7ebc3e73b517e6f8">JsonOptions::none</a>));</div>
|
||||
<div class="line"><a name="l00819"></a><span class="lineno"> 819</span>  JLOG(<a class="code" href="classripple_1_1Transactor.html#aafdaa4e246ee6879df9cbbf2482dcc7d">j_</a>.<a class="code" href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">fatal</a>()) << s2.<a class="code" href="classripple_1_1STTx.html#a489c8110e24455a2e7dac783f4760cc2">getJson</a>(<a class="code" href="namespaceripple.html#a169967ff418b80729654b6d45ade8711a334c4a4c42fdb79d7ebc3e73b517e6f8">JsonOptions::none</a>);</div>
|
||||
<div class="line"><a name="l00820"></a><span class="lineno"> 820</span>  assert(<span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l00821"></a><span class="lineno"> 821</span>  }</div>
|
||||
<div class="line"><a name="l00822"></a><span class="lineno"> 822</span>  }</div>
|
||||
<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  <span class="keyword">auto</span> <span class="keyword">const</span> balance = txnAcct->getFieldAmount(<a class="code" href="namespaceripple.html#ab8a9c54401e8209fca7396c6b9c610f4">sfBalance</a>).xrp();</div>
|
||||
<div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  </div>
|
||||
<div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  <span class="comment">// balance should have already been checked in checkFee / preFlight.</span></div>
|
||||
<div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  assert(balance != beast::zero && (!<a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>().<a class="code" href="namespaceripple.html#a886ed36db831a964fc5f66ebbb4fe3d0">open</a>() || balance >= fee));</div>
|
||||
<div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  </div>
|
||||
<div class="line"><a name="l00804"></a><span class="lineno"> 804</span>  <span class="comment">// We retry/reject the transaction if the account balance is zero or we're</span></div>
|
||||
<div class="line"><a name="l00805"></a><span class="lineno"> 805</span>  <span class="comment">// applying against an open ledger and the balance is less than the fee</span></div>
|
||||
<div class="line"><a name="l00806"></a><span class="lineno"> 806</span>  <span class="keywordflow">if</span> (fee > balance)</div>
|
||||
<div class="line"><a name="l00807"></a><span class="lineno"> 807</span>  fee = balance;</div>
|
||||
<div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  </div>
|
||||
<div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  <span class="comment">// Since we reset the context, we need to charge the fee and update</span></div>
|
||||
<div class="line"><a name="l00810"></a><span class="lineno"> 810</span>  <span class="comment">// the account's sequence number (or consume the Ticket) again.</span></div>
|
||||
<div class="line"><a name="l00811"></a><span class="lineno"> 811</span>  <span class="comment">//</span></div>
|
||||
<div class="line"><a name="l00812"></a><span class="lineno"> 812</span>  <span class="comment">// If for some reason we are unable to consume the ticket or sequence</span></div>
|
||||
<div class="line"><a name="l00813"></a><span class="lineno"> 813</span>  <span class="comment">// then the ledger is corrupted. Rather than make things worse we</span></div>
|
||||
<div class="line"><a name="l00814"></a><span class="lineno"> 814</span>  <span class="comment">// reject the transaction.</span></div>
|
||||
<div class="line"><a name="l00815"></a><span class="lineno"> 815</span>  txnAcct->setFieldAmount(<a class="code" href="namespaceripple.html#ab8a9c54401e8209fca7396c6b9c610f4">sfBalance</a>, balance - fee);</div>
|
||||
<div class="line"><a name="l00816"></a><span class="lineno"> 816</span>  <a class="code" href="classripple_1_1TERSubset.html">TER</a> <span class="keyword">const</span> ter{<a class="code" href="classripple_1_1Transactor.html#a0b2066252127862bb58c1e4994dd5deb">consumeSeqProxy</a>(txnAcct)};</div>
|
||||
<div class="line"><a name="l00817"></a><span class="lineno"> 817</span>  assert(<a class="code" href="namespaceripple.html#a5b31f337f444082f547ef1838e7064fc">isTesSuccess</a>(ter));</div>
|
||||
<div class="line"><a name="l00818"></a><span class="lineno"> 818</span>  </div>
|
||||
<div class="line"><a name="l00819"></a><span class="lineno"> 819</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceripple.html#a5b31f337f444082f547ef1838e7064fc">isTesSuccess</a>(ter))</div>
|
||||
<div class="line"><a name="l00820"></a><span class="lineno"> 820</span>  <a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>().<a class="code" href="classripple_1_1ApplyView.html#a542437b9b59a623e755979acdc075af5">update</a>(txnAcct);</div>
|
||||
<div class="line"><a name="l00821"></a><span class="lineno"> 821</span>  </div>
|
||||
<div class="line"><a name="l00822"></a><span class="lineno"> 822</span>  <span class="keywordflow">return</span> {ter, fee};</div>
|
||||
<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> }</div>
|
||||
<div class="line"><a name="l00824"></a><span class="lineno"> 824</span>  </div>
|
||||
<div class="line"><a name="l00825"></a><span class="lineno"> 825</span>  <span class="keyword">auto</span> result = <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#ae7e2361dfcb8bfc1d367389148c07634">preclaimResult</a>;</div>
|
||||
<div class="line"><a name="l00826"></a><span class="lineno"> 826</span>  <span class="keywordflow">if</span> (result == <a class="code" href="namespaceripple.html#aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151">tesSUCCESS</a>)</div>
|
||||
<div class="line"><a name="l00827"></a><span class="lineno"> 827</span>  result = <a class="code" href="classripple_1_1Transactor.html#ac2faaa3bfd1c9b9f91ae24f367474d0f">apply</a>();</div>
|
||||
<div class="line"><a name="l00828"></a><span class="lineno"> 828</span>  </div>
|
||||
<div class="line"><a name="l00829"></a><span class="lineno"> 829</span>  <span class="comment">// No transaction can return temUNKNOWN from apply,</span></div>
|
||||
<div class="line"><a name="l00830"></a><span class="lineno"> 830</span>  <span class="comment">// and it can't be passed in from a preclaim.</span></div>
|
||||
<div class="line"><a name="l00831"></a><span class="lineno"> 831</span>  assert(result != <a class="code" href="namespaceripple.html#afe21c8454670d46fb93751a5edffed46a1dad6e2d630423dd67f4a540305f8b3c">temUNKNOWN</a>);</div>
|
||||
<div class="line"><a name="l00832"></a><span class="lineno"> 832</span>  </div>
|
||||
<div class="line"><a name="l00833"></a><span class="lineno"> 833</span>  <span class="keywordflow">if</span> (<span class="keyword">auto</span> stream = <a class="code" href="classripple_1_1Transactor.html#aafdaa4e246ee6879df9cbbf2482dcc7d">j_</a>.<a class="code" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>())</div>
|
||||
<div class="line"><a name="l00834"></a><span class="lineno"> 834</span>  stream << <span class="stringliteral">"preclaim result: "</span> << <a class="code" href="namespaceripple.html#a875ae996b37ed036597d70628ae053e3">transToken</a>(result);</div>
|
||||
<div class="line"><a name="l00835"></a><span class="lineno"> 835</span>  </div>
|
||||
<div class="line"><a name="l00836"></a><span class="lineno"> 836</span>  <span class="keywordtype">bool</span> applied = <a class="code" href="namespaceripple.html#a5b31f337f444082f547ef1838e7064fc">isTesSuccess</a>(result);</div>
|
||||
<div class="line"><a name="l00837"></a><span class="lineno"> 837</span>  <span class="keyword">auto</span> fee = <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>.<a class="code" href="classripple_1_1STObject.html#a8e207109e646759f4927d90e4404893f">getFieldAmount</a>(<a class="code" href="namespaceripple.html#a13864ec0864daa5d24b70d276414b8ff">sfFee</a>).<a class="code" href="classripple_1_1STAmount.html#a6c2ca92e9c91e2a34493d61e02d79ebf">xrp</a>();</div>
|
||||
<div class="line"><a name="l00838"></a><span class="lineno"> 838</span>  </div>
|
||||
<div class="line"><a name="l00839"></a><span class="lineno"> 839</span>  <span class="keywordflow">if</span> (<a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#aaf553f68175966af2a29eafaf78e596e">size</a>() > <a class="code" href="namespaceripple.html#a4fa9a45199e7918a98e750262ba7be96">oversizeMetaDataCap</a>)</div>
|
||||
<div class="line"><a name="l00840"></a><span class="lineno"> 840</span>  result = <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caad531e9d2f46a3a6e6f01934097e7053">tecOVERSIZE</a>;</div>
|
||||
<div class="line"><a name="l00841"></a><span class="lineno"> 841</span>  </div>
|
||||
<div class="line"><a name="l00842"></a><span class="lineno"> 842</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceripple.html#a18e688f3fc0a5e80e13b353c9f924b22">isTecClaim</a>(result) && (<a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>().flags() & <a class="code" href="namespaceripple.html#ad2487abbcc1a5d6064b72144b461df6ea72934cf56aa148d1f25bf08fe8922150">tapFAIL_HARD</a>))</div>
|
||||
<div class="line"><a name="l00843"></a><span class="lineno"> 843</span>  {</div>
|
||||
<div class="line"><a name="l00844"></a><span class="lineno"> 844</span>  <span class="comment">// If the tapFAIL_HARD flag is set, a tec result</span></div>
|
||||
<div class="line"><a name="l00845"></a><span class="lineno"> 845</span>  <span class="comment">// must not do anything</span></div>
|
||||
<div class="line"><a name="l00846"></a><span class="lineno"> 846</span>  </div>
|
||||
<div class="line"><a name="l00847"></a><span class="lineno"> 847</span>  <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a5967451fa668bfc8b6e6bf763da92aa7">discard</a>();</div>
|
||||
<div class="line"><a name="l00848"></a><span class="lineno"> 848</span>  applied = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00849"></a><span class="lineno"> 849</span>  }</div>
|
||||
<div class="line"><a name="l00850"></a><span class="lineno"> 850</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (</div>
|
||||
<div class="line"><a name="l00851"></a><span class="lineno"> 851</span>  (result == <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caad531e9d2f46a3a6e6f01934097e7053">tecOVERSIZE</a>) || (result == <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca82773cd87fbf942a9cb626416218f52b">tecKILLED</a>) ||</div>
|
||||
<div class="line"><a name="l00852"></a><span class="lineno"> 852</span>  (result == <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caede598f88bbd44e4df1c4e0d418c4cdc">tecEXPIRED</a>) || (<a class="code" href="namespaceripple.html#aaad7838ce24fa0ffc4c6e388b18c86a4">isTecClaimHardFail</a>(result, <a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>().flags())))</div>
|
||||
<div class="line"><a name="l00853"></a><span class="lineno"> 853</span>  {</div>
|
||||
<div class="line"><a name="l00854"></a><span class="lineno"> 854</span>  JLOG(<a class="code" href="classripple_1_1Transactor.html#aafdaa4e246ee6879df9cbbf2482dcc7d">j_</a>.<a class="code" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>()) << <span class="stringliteral">"reapplying because of "</span> << <a class="code" href="namespaceripple.html#a875ae996b37ed036597d70628ae053e3">transToken</a>(result);</div>
|
||||
<div class="line"><a name="l00855"></a><span class="lineno"> 855</span>  </div>
|
||||
<div class="line"><a name="l00856"></a><span class="lineno"> 856</span>  <span class="comment">// FIXME: This mechanism for doing work while returning a `tec` is</span></div>
|
||||
<div class="line"><a name="l00857"></a><span class="lineno"> 857</span>  <span class="comment">// awkward and very limiting. A more general purpose approach</span></div>
|
||||
<div class="line"><a name="l00858"></a><span class="lineno"> 858</span>  <span class="comment">// should be used, making it possible to do more useful work</span></div>
|
||||
<div class="line"><a name="l00859"></a><span class="lineno"> 859</span>  <span class="comment">// when transactions fail with a `tec` code.</span></div>
|
||||
<div class="line"><a name="l00860"></a><span class="lineno"> 860</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint256></a> removedOffers;</div>
|
||||
<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> <span class="comment">//------------------------------------------------------------------------------</span></div>
|
||||
<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> <a class="codeRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair<TER, bool></a></div>
|
||||
<div class="line"><a name="l00827"></a><span class="lineno"><a class="line" href="classripple_1_1Transactor.html#a6fbe596dea21ad7ed639ab48ab0dbe0a"> 827</a></span> <a class="code" href="classripple_1_1Transactor.html#a6fbe596dea21ad7ed639ab48ab0dbe0a">Transactor::operator()</a>()</div>
|
||||
<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> {</div>
|
||||
<div class="line"><a name="l00829"></a><span class="lineno"> 829</span>  JLOG(<a class="code" href="classripple_1_1Transactor.html#aafdaa4e246ee6879df9cbbf2482dcc7d">j_</a>.<a class="code" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>()) << <span class="stringliteral">"apply: "</span> << <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>.<a class="code" href="classripple_1_1STTx.html#ad314af66e2542db537b3b5de291d33c3">getTransactionID</a>();</div>
|
||||
<div class="line"><a name="l00830"></a><span class="lineno"> 830</span>  </div>
|
||||
<div class="line"><a name="l00831"></a><span class="lineno"> 831</span>  <a class="code" href="classripple_1_1STAmountSO.html">STAmountSO</a> stAmountSO{<a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>().<a class="code" href="classripple_1_1ReadView.html#aaf2fa03be723bb78d8bdf41614a75a30">rules</a>().<a class="code" href="classripple_1_1Rules.html#a1a8388a2b9588aa9446ece92a88e0dd2">enabled</a>(<a class="code" href="namespaceripple.html#a58db4f19d243f6c82a533a40a0db89cd">fixSTAmountCanonicalize</a>)};</div>
|
||||
<div class="line"><a name="l00832"></a><span class="lineno"> 832</span>  <a class="code" href="classripple_1_1NumberSO.html">NumberSO</a> stNumberSO{<a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>().<a class="code" href="classripple_1_1ReadView.html#aaf2fa03be723bb78d8bdf41614a75a30">rules</a>().<a class="code" href="classripple_1_1Rules.html#a1a8388a2b9588aa9446ece92a88e0dd2">enabled</a>(<a class="code" href="namespaceripple.html#aca7b4bf41e621edeabbb353a76e9b055">fixUniversalNumber</a>)};</div>
|
||||
<div class="line"><a name="l00833"></a><span class="lineno"> 833</span>  </div>
|
||||
<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> <span class="preprocessor">#ifdef DEBUG</span></div>
|
||||
<div class="line"><a name="l00835"></a><span class="lineno"> 835</span>  {</div>
|
||||
<div class="line"><a name="l00836"></a><span class="lineno"> 836</span>  <a class="code" href="classripple_1_1Serializer.html">Serializer</a> ser;</div>
|
||||
<div class="line"><a name="l00837"></a><span class="lineno"> 837</span>  <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>.<a class="code" href="classripple_1_1STObject.html#a7adccac3a1b54244ae210afe7c5916e8">add</a>(ser);</div>
|
||||
<div class="line"><a name="l00838"></a><span class="lineno"> 838</span>  <a class="code" href="classripple_1_1SerialIter.html">SerialIter</a> sit(ser.<a class="code" href="classripple_1_1Serializer.html#a394c3299f6cfcebdaa4bc98ec0c602d6">slice</a>());</div>
|
||||
<div class="line"><a name="l00839"></a><span class="lineno"> 839</span>  <a class="code" href="classripple_1_1STTx.html">STTx</a> s2(sit);</div>
|
||||
<div class="line"><a name="l00840"></a><span class="lineno"> 840</span>  </div>
|
||||
<div class="line"><a name="l00841"></a><span class="lineno"> 841</span>  <span class="keywordflow">if</span> (!s2.<a class="code" href="classripple_1_1STObject.html#a3b5c3ab2b3da4ecc342bd8cf5e9c3947">isEquivalent</a>(<a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>))</div>
|
||||
<div class="line"><a name="l00842"></a><span class="lineno"> 842</span>  {</div>
|
||||
<div class="line"><a name="l00843"></a><span class="lineno"> 843</span>  JLOG(<a class="code" href="classripple_1_1Transactor.html#aafdaa4e246ee6879df9cbbf2482dcc7d">j_</a>.<a class="code" href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">fatal</a>()) << <span class="stringliteral">"Transaction serdes mismatch"</span>;</div>
|
||||
<div class="line"><a name="l00844"></a><span class="lineno"> 844</span>  JLOG(<a class="code" href="classripple_1_1Transactor.html#aafdaa4e246ee6879df9cbbf2482dcc7d">j_</a>.<a class="code" href="classbeast_1_1Journal.html#a87d6bd59020d94110027dcab3d9e3357">info</a>()) << <a class="code" href="namespaceripple.html#af9776f187d3686a7fba4c2d2fbeebdf4">to_string</a>(<a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>.<a class="code" href="classripple_1_1STTx.html#a489c8110e24455a2e7dac783f4760cc2">getJson</a>(<a class="code" href="namespaceripple.html#a169967ff418b80729654b6d45ade8711a334c4a4c42fdb79d7ebc3e73b517e6f8">JsonOptions::none</a>));</div>
|
||||
<div class="line"><a name="l00845"></a><span class="lineno"> 845</span>  JLOG(<a class="code" href="classripple_1_1Transactor.html#aafdaa4e246ee6879df9cbbf2482dcc7d">j_</a>.<a class="code" href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">fatal</a>()) << s2.<a class="code" href="classripple_1_1STTx.html#a489c8110e24455a2e7dac783f4760cc2">getJson</a>(<a class="code" href="namespaceripple.html#a169967ff418b80729654b6d45ade8711a334c4a4c42fdb79d7ebc3e73b517e6f8">JsonOptions::none</a>);</div>
|
||||
<div class="line"><a name="l00846"></a><span class="lineno"> 846</span>  assert(<span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l00847"></a><span class="lineno"> 847</span>  }</div>
|
||||
<div class="line"><a name="l00848"></a><span class="lineno"> 848</span>  }</div>
|
||||
<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00850"></a><span class="lineno"> 850</span>  </div>
|
||||
<div class="line"><a name="l00851"></a><span class="lineno"> 851</span>  <span class="keyword">auto</span> result = <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#ae7e2361dfcb8bfc1d367389148c07634">preclaimResult</a>;</div>
|
||||
<div class="line"><a name="l00852"></a><span class="lineno"> 852</span>  <span class="keywordflow">if</span> (result == <a class="code" href="namespaceripple.html#aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151">tesSUCCESS</a>)</div>
|
||||
<div class="line"><a name="l00853"></a><span class="lineno"> 853</span>  result = <a class="code" href="classripple_1_1Transactor.html#ac2faaa3bfd1c9b9f91ae24f367474d0f">apply</a>();</div>
|
||||
<div class="line"><a name="l00854"></a><span class="lineno"> 854</span>  </div>
|
||||
<div class="line"><a name="l00855"></a><span class="lineno"> 855</span>  <span class="comment">// No transaction can return temUNKNOWN from apply,</span></div>
|
||||
<div class="line"><a name="l00856"></a><span class="lineno"> 856</span>  <span class="comment">// and it can't be passed in from a preclaim.</span></div>
|
||||
<div class="line"><a name="l00857"></a><span class="lineno"> 857</span>  assert(result != <a class="code" href="namespaceripple.html#afe21c8454670d46fb93751a5edffed46a1dad6e2d630423dd67f4a540305f8b3c">temUNKNOWN</a>);</div>
|
||||
<div class="line"><a name="l00858"></a><span class="lineno"> 858</span>  </div>
|
||||
<div class="line"><a name="l00859"></a><span class="lineno"> 859</span>  <span class="keywordflow">if</span> (<span class="keyword">auto</span> stream = <a class="code" href="classripple_1_1Transactor.html#aafdaa4e246ee6879df9cbbf2482dcc7d">j_</a>.<a class="code" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>())</div>
|
||||
<div class="line"><a name="l00860"></a><span class="lineno"> 860</span>  stream << <span class="stringliteral">"preclaim result: "</span> << <a class="code" href="namespaceripple.html#a875ae996b37ed036597d70628ae053e3">transToken</a>(result);</div>
|
||||
<div class="line"><a name="l00861"></a><span class="lineno"> 861</span>  </div>
|
||||
<div class="line"><a name="l00862"></a><span class="lineno"> 862</span>  <span class="keywordflow">if</span> ((result == <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caad531e9d2f46a3a6e6f01934097e7053">tecOVERSIZE</a>) || (result == <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca82773cd87fbf942a9cb626416218f52b">tecKILLED</a>))</div>
|
||||
<div class="line"><a name="l00863"></a><span class="lineno"> 863</span>  {</div>
|
||||
<div class="line"><a name="l00864"></a><span class="lineno"> 864</span>  <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a04256a4e26ba636830cb0c6cf1c41bee">visit</a>([&removedOffers](</div>
|
||||
<div class="line"><a name="l00865"></a><span class="lineno"> 865</span>  <a class="code" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& index,</div>
|
||||
<div class="line"><a name="l00866"></a><span class="lineno"> 866</span>  <span class="keywordtype">bool</span> isDelete,</div>
|
||||
<div class="line"><a name="l00867"></a><span class="lineno"> 867</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<SLE const></a> <span class="keyword">const</span>& before,</div>
|
||||
<div class="line"><a name="l00868"></a><span class="lineno"> 868</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<SLE const></a> <span class="keyword">const</span>& <a class="code" href="namespaceripple.html#aebcc26ebe20ddcd3bcbfd5402e0acb89">after</a>) {</div>
|
||||
<div class="line"><a name="l00869"></a><span class="lineno"> 869</span>  <span class="keywordflow">if</span> (isDelete)</div>
|
||||
<div class="line"><a name="l00870"></a><span class="lineno"> 870</span>  {</div>
|
||||
<div class="line"><a name="l00871"></a><span class="lineno"> 871</span>  assert(before && <a class="code" href="namespaceripple.html#aebcc26ebe20ddcd3bcbfd5402e0acb89">after</a>);</div>
|
||||
<div class="line"><a name="l00872"></a><span class="lineno"> 872</span>  <span class="keywordflow">if</span> (before && <a class="code" href="namespaceripple.html#aebcc26ebe20ddcd3bcbfd5402e0acb89">after</a> && (before->getType() == <a class="code" href="namespaceripple.html#ac151bf19e1f4daae2b04c65c65117139a8a24a7b08fcdd8a76109f80f056a176d">ltOFFER</a>) &&</div>
|
||||
<div class="line"><a name="l00873"></a><span class="lineno"> 873</span>  (before->getFieldAmount(<a class="code" href="namespaceripple.html#a1bd06b8a74779afd739e715cbdbacddd">sfTakerPays</a>) ==</div>
|
||||
<div class="line"><a name="l00874"></a><span class="lineno"> 874</span>  <a class="code" href="namespaceripple.html#aebcc26ebe20ddcd3bcbfd5402e0acb89">after</a>->getFieldAmount(<a class="code" href="namespaceripple.html#a1bd06b8a74779afd739e715cbdbacddd">sfTakerPays</a>)))</div>
|
||||
<div class="line"><a name="l00875"></a><span class="lineno"> 875</span>  {</div>
|
||||
<div class="line"><a name="l00876"></a><span class="lineno"> 876</span>  <span class="comment">// Removal of offer found or made unfunded</span></div>
|
||||
<div class="line"><a name="l00877"></a><span class="lineno"> 877</span>  removedOffers.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(index);</div>
|
||||
<div class="line"><a name="l00878"></a><span class="lineno"> 878</span>  }</div>
|
||||
<div class="line"><a name="l00879"></a><span class="lineno"> 879</span>  }</div>
|
||||
<div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  });</div>
|
||||
<div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  }</div>
|
||||
<div class="line"><a name="l00862"></a><span class="lineno"> 862</span>  <span class="keywordtype">bool</span> applied = <a class="code" href="namespaceripple.html#a5b31f337f444082f547ef1838e7064fc">isTesSuccess</a>(result);</div>
|
||||
<div class="line"><a name="l00863"></a><span class="lineno"> 863</span>  <span class="keyword">auto</span> fee = <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">tx</a>.<a class="code" href="classripple_1_1STObject.html#a8e207109e646759f4927d90e4404893f">getFieldAmount</a>(<a class="code" href="namespaceripple.html#a13864ec0864daa5d24b70d276414b8ff">sfFee</a>).<a class="code" href="classripple_1_1STAmount.html#a6c2ca92e9c91e2a34493d61e02d79ebf">xrp</a>();</div>
|
||||
<div class="line"><a name="l00864"></a><span class="lineno"> 864</span>  </div>
|
||||
<div class="line"><a name="l00865"></a><span class="lineno"> 865</span>  <span class="keywordflow">if</span> (<a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#aaf553f68175966af2a29eafaf78e596e">size</a>() > <a class="code" href="namespaceripple.html#a4fa9a45199e7918a98e750262ba7be96">oversizeMetaDataCap</a>)</div>
|
||||
<div class="line"><a name="l00866"></a><span class="lineno"> 866</span>  result = <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caad531e9d2f46a3a6e6f01934097e7053">tecOVERSIZE</a>;</div>
|
||||
<div class="line"><a name="l00867"></a><span class="lineno"> 867</span>  </div>
|
||||
<div class="line"><a name="l00868"></a><span class="lineno"> 868</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceripple.html#a18e688f3fc0a5e80e13b353c9f924b22">isTecClaim</a>(result) && (<a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>().flags() & <a class="code" href="namespaceripple.html#ad2487abbcc1a5d6064b72144b461df6ea72934cf56aa148d1f25bf08fe8922150">tapFAIL_HARD</a>))</div>
|
||||
<div class="line"><a name="l00869"></a><span class="lineno"> 869</span>  {</div>
|
||||
<div class="line"><a name="l00870"></a><span class="lineno"> 870</span>  <span class="comment">// If the tapFAIL_HARD flag is set, a tec result</span></div>
|
||||
<div class="line"><a name="l00871"></a><span class="lineno"> 871</span>  <span class="comment">// must not do anything</span></div>
|
||||
<div class="line"><a name="l00872"></a><span class="lineno"> 872</span>  </div>
|
||||
<div class="line"><a name="l00873"></a><span class="lineno"> 873</span>  <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a5967451fa668bfc8b6e6bf763da92aa7">discard</a>();</div>
|
||||
<div class="line"><a name="l00874"></a><span class="lineno"> 874</span>  applied = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00875"></a><span class="lineno"> 875</span>  }</div>
|
||||
<div class="line"><a name="l00876"></a><span class="lineno"> 876</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (</div>
|
||||
<div class="line"><a name="l00877"></a><span class="lineno"> 877</span>  (result == <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caad531e9d2f46a3a6e6f01934097e7053">tecOVERSIZE</a>) || (result == <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca82773cd87fbf942a9cb626416218f52b">tecKILLED</a>) ||</div>
|
||||
<div class="line"><a name="l00878"></a><span class="lineno"> 878</span>  (result == <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca576f5411ab4458ec9842480e7ebe7072">tecINCOMPLETE</a>) || (result == <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caede598f88bbd44e4df1c4e0d418c4cdc">tecEXPIRED</a>) ||</div>
|
||||
<div class="line"><a name="l00879"></a><span class="lineno"> 879</span>  (<a class="code" href="namespaceripple.html#aaad7838ce24fa0ffc4c6e388b18c86a4">isTecClaimHardFail</a>(result, <a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>().flags())))</div>
|
||||
<div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  {</div>
|
||||
<div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  JLOG(<a class="code" href="classripple_1_1Transactor.html#aafdaa4e246ee6879df9cbbf2482dcc7d">j_</a>.<a class="code" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>()) << <span class="stringliteral">"reapplying because of "</span> << <a class="code" href="namespaceripple.html#a875ae996b37ed036597d70628ae053e3">transToken</a>(result);</div>
|
||||
<div class="line"><a name="l00882"></a><span class="lineno"> 882</span>  </div>
|
||||
<div class="line"><a name="l00883"></a><span class="lineno"> 883</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint256></a> expiredNFTokenOffers;</div>
|
||||
<div class="line"><a name="l00884"></a><span class="lineno"> 884</span>  </div>
|
||||
<div class="line"><a name="l00885"></a><span class="lineno"> 885</span>  <span class="keywordflow">if</span> (result == <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caede598f88bbd44e4df1c4e0d418c4cdc">tecEXPIRED</a>)</div>
|
||||
<div class="line"><a name="l00886"></a><span class="lineno"> 886</span>  {</div>
|
||||
<div class="line"><a name="l00887"></a><span class="lineno"> 887</span>  <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a04256a4e26ba636830cb0c6cf1c41bee">visit</a>([&expiredNFTokenOffers](</div>
|
||||
<div class="line"><a name="l00888"></a><span class="lineno"> 888</span>  <a class="code" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& index,</div>
|
||||
<div class="line"><a name="l00889"></a><span class="lineno"> 889</span>  <span class="keywordtype">bool</span> isDelete,</div>
|
||||
<div class="line"><a name="l00890"></a><span class="lineno"> 890</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<SLE const></a> <span class="keyword">const</span>& before,</div>
|
||||
<div class="line"><a name="l00891"></a><span class="lineno"> 891</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<SLE const></a> <span class="keyword">const</span>& <a class="code" href="namespaceripple.html#aebcc26ebe20ddcd3bcbfd5402e0acb89">after</a>) {</div>
|
||||
<div class="line"><a name="l00892"></a><span class="lineno"> 892</span>  <span class="keywordflow">if</span> (isDelete)</div>
|
||||
<div class="line"><a name="l00893"></a><span class="lineno"> 893</span>  {</div>
|
||||
<div class="line"><a name="l00894"></a><span class="lineno"> 894</span>  assert(before && <a class="code" href="namespaceripple.html#aebcc26ebe20ddcd3bcbfd5402e0acb89">after</a>);</div>
|
||||
<div class="line"><a name="l00895"></a><span class="lineno"> 895</span>  <span class="keywordflow">if</span> (before && <a class="code" href="namespaceripple.html#aebcc26ebe20ddcd3bcbfd5402e0acb89">after</a> &&</div>
|
||||
<div class="line"><a name="l00896"></a><span class="lineno"> 896</span>  (before->getType() == <a class="code" href="namespaceripple.html#ac151bf19e1f4daae2b04c65c65117139aac7da9a5712625a2feed8f6cdc9295a8">ltNFTOKEN_OFFER</a>))</div>
|
||||
<div class="line"><a name="l00897"></a><span class="lineno"> 897</span>  expiredNFTokenOffers.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(index);</div>
|
||||
<div class="line"><a name="l00898"></a><span class="lineno"> 898</span>  }</div>
|
||||
<div class="line"><a name="l00899"></a><span class="lineno"> 899</span>  });</div>
|
||||
<div class="line"><a name="l00900"></a><span class="lineno"> 900</span>  }</div>
|
||||
<div class="line"><a name="l00901"></a><span class="lineno"> 901</span>  </div>
|
||||
<div class="line"><a name="l00902"></a><span class="lineno"> 902</span>  <span class="comment">// Reset the context, potentially adjusting the fee.</span></div>
|
||||
<div class="line"><a name="l00903"></a><span class="lineno"> 903</span>  {</div>
|
||||
<div class="line"><a name="l00904"></a><span class="lineno"> 904</span>  <span class="keyword">auto</span> <span class="keyword">const</span> resetResult = <a class="code" href="classripple_1_1Transactor.html#af81f796422a3f66771e31a6ecbbbf57b">reset</a>(fee);</div>
|
||||
<div class="line"><a name="l00905"></a><span class="lineno"> 905</span>  <span class="keywordflow">if</span> (!<a class="code" href="namespaceripple.html#a5b31f337f444082f547ef1838e7064fc">isTesSuccess</a>(resetResult.first))</div>
|
||||
<div class="line"><a name="l00906"></a><span class="lineno"> 906</span>  result = resetResult.first;</div>
|
||||
<div class="line"><a name="l00907"></a><span class="lineno"> 907</span>  </div>
|
||||
<div class="line"><a name="l00908"></a><span class="lineno"> 908</span>  fee = resetResult.second;</div>
|
||||
<div class="line"><a name="l00909"></a><span class="lineno"> 909</span>  }</div>
|
||||
<div class="line"><a name="l00910"></a><span class="lineno"> 910</span>  </div>
|
||||
<div class="line"><a name="l00911"></a><span class="lineno"> 911</span>  <span class="comment">// If necessary, remove any offers found unfunded during processing</span></div>
|
||||
<div class="line"><a name="l00912"></a><span class="lineno"> 912</span>  <span class="keywordflow">if</span> ((result == <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caad531e9d2f46a3a6e6f01934097e7053">tecOVERSIZE</a>) || (result == <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca82773cd87fbf942a9cb626416218f52b">tecKILLED</a>))</div>
|
||||
<div class="line"><a name="l00913"></a><span class="lineno"> 913</span>  <a class="code" href="namespaceripple.html#a6aab406eb9522bb36ba7247335e303ec">removeUnfundedOffers</a>(</div>
|
||||
<div class="line"><a name="l00914"></a><span class="lineno"> 914</span>  <a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>(), removedOffers, <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a6ec1f10e560afe30ed435c3f7eea715d">app</a>.<a class="code" href="classripple_1_1Application.html#a2897c28a5b5040e80e66f676d201d03f">journal</a>(<span class="stringliteral">"View"</span>));</div>
|
||||
<div class="line"><a name="l00915"></a><span class="lineno"> 915</span>  </div>
|
||||
<div class="line"><a name="l00916"></a><span class="lineno"> 916</span>  <span class="keywordflow">if</span> (result == <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caede598f88bbd44e4df1c4e0d418c4cdc">tecEXPIRED</a>)</div>
|
||||
<div class="line"><a name="l00917"></a><span class="lineno"> 917</span>  <a class="code" href="namespaceripple.html#a8ba581584f364d79f3b5020b6a2c66da">removeExpiredNFTokenOffers</a>(</div>
|
||||
<div class="line"><a name="l00918"></a><span class="lineno"> 918</span>  <a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>(), expiredNFTokenOffers, <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a6ec1f10e560afe30ed435c3f7eea715d">app</a>.<a class="code" href="classripple_1_1Application.html#a2897c28a5b5040e80e66f676d201d03f">journal</a>(<span class="stringliteral">"View"</span>));</div>
|
||||
<div class="line"><a name="l00919"></a><span class="lineno"> 919</span>  </div>
|
||||
<div class="line"><a name="l00920"></a><span class="lineno"> 920</span>  applied = <a class="code" href="namespaceripple.html#a18e688f3fc0a5e80e13b353c9f924b22">isTecClaim</a>(result);</div>
|
||||
<div class="line"><a name="l00921"></a><span class="lineno"> 921</span>  }</div>
|
||||
<div class="line"><a name="l00922"></a><span class="lineno"> 922</span>  </div>
|
||||
<div class="line"><a name="l00923"></a><span class="lineno"> 923</span>  <span class="keywordflow">if</span> (applied)</div>
|
||||
<div class="line"><a name="l00924"></a><span class="lineno"> 924</span>  {</div>
|
||||
<div class="line"><a name="l00925"></a><span class="lineno"> 925</span>  <span class="comment">// Check invariants: if `tecINVARIANT_FAILED` is not returned, we can</span></div>
|
||||
<div class="line"><a name="l00926"></a><span class="lineno"> 926</span>  <span class="comment">// proceed to apply the tx</span></div>
|
||||
<div class="line"><a name="l00927"></a><span class="lineno"> 927</span>  result = <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#acf5f75ec76cec199781a945226834410">checkInvariants</a>(result, fee);</div>
|
||||
<div class="line"><a name="l00928"></a><span class="lineno"> 928</span>  </div>
|
||||
<div class="line"><a name="l00929"></a><span class="lineno"> 929</span>  <span class="keywordflow">if</span> (result == <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>)</div>
|
||||
<div class="line"><a name="l00930"></a><span class="lineno"> 930</span>  {</div>
|
||||
<div class="line"><a name="l00931"></a><span class="lineno"> 931</span>  <span class="comment">// if invariants checking failed again, reset the context and</span></div>
|
||||
<div class="line"><a name="l00932"></a><span class="lineno"> 932</span>  <span class="comment">// attempt to only claim a fee.</span></div>
|
||||
<div class="line"><a name="l00933"></a><span class="lineno"> 933</span>  <span class="keyword">auto</span> <span class="keyword">const</span> resetResult = <a class="code" href="classripple_1_1Transactor.html#af81f796422a3f66771e31a6ecbbbf57b">reset</a>(fee);</div>
|
||||
<div class="line"><a name="l00934"></a><span class="lineno"> 934</span>  <span class="keywordflow">if</span> (!<a class="code" href="namespaceripple.html#a5b31f337f444082f547ef1838e7064fc">isTesSuccess</a>(resetResult.first))</div>
|
||||
<div class="line"><a name="l00935"></a><span class="lineno"> 935</span>  result = resetResult.first;</div>
|
||||
<div class="line"><a name="l00936"></a><span class="lineno"> 936</span>  </div>
|
||||
<div class="line"><a name="l00937"></a><span class="lineno"> 937</span>  fee = resetResult.second;</div>
|
||||
<div class="line"><a name="l00883"></a><span class="lineno"> 883</span>  <span class="comment">// FIXME: This mechanism for doing work while returning a `tec` is</span></div>
|
||||
<div class="line"><a name="l00884"></a><span class="lineno"> 884</span>  <span class="comment">// awkward and very limiting. A more general purpose approach</span></div>
|
||||
<div class="line"><a name="l00885"></a><span class="lineno"> 885</span>  <span class="comment">// should be used, making it possible to do more useful work</span></div>
|
||||
<div class="line"><a name="l00886"></a><span class="lineno"> 886</span>  <span class="comment">// when transactions fail with a `tec` code.</span></div>
|
||||
<div class="line"><a name="l00887"></a><span class="lineno"> 887</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint256></a> removedOffers;</div>
|
||||
<div class="line"><a name="l00888"></a><span class="lineno"> 888</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint256></a> removedTrustLines;</div>
|
||||
<div class="line"><a name="l00889"></a><span class="lineno"> 889</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint256></a> expiredNFTokenOffers;</div>
|
||||
<div class="line"><a name="l00890"></a><span class="lineno"> 890</span>  </div>
|
||||
<div class="line"><a name="l00891"></a><span class="lineno"> 891</span>  <span class="keywordtype">bool</span> <span class="keyword">const</span> doOffers =</div>
|
||||
<div class="line"><a name="l00892"></a><span class="lineno"> 892</span>  ((result == <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caad531e9d2f46a3a6e6f01934097e7053">tecOVERSIZE</a>) || (result == <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca82773cd87fbf942a9cb626416218f52b">tecKILLED</a>));</div>
|
||||
<div class="line"><a name="l00893"></a><span class="lineno"> 893</span>  <span class="keywordtype">bool</span> <span class="keyword">const</span> doLines = (result == <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca576f5411ab4458ec9842480e7ebe7072">tecINCOMPLETE</a>);</div>
|
||||
<div class="line"><a name="l00894"></a><span class="lineno"> 894</span>  <span class="keywordtype">bool</span> <span class="keyword">const</span> doNFTokenOffers = (result == <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caede598f88bbd44e4df1c4e0d418c4cdc">tecEXPIRED</a>);</div>
|
||||
<div class="line"><a name="l00895"></a><span class="lineno"> 895</span>  <span class="keywordflow">if</span> (doOffers || doLines || doNFTokenOffers)</div>
|
||||
<div class="line"><a name="l00896"></a><span class="lineno"> 896</span>  {</div>
|
||||
<div class="line"><a name="l00897"></a><span class="lineno"> 897</span>  <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a04256a4e26ba636830cb0c6cf1c41bee">visit</a>([&doOffers,</div>
|
||||
<div class="line"><a name="l00898"></a><span class="lineno"> 898</span>  &removedOffers,</div>
|
||||
<div class="line"><a name="l00899"></a><span class="lineno"> 899</span>  &doLines,</div>
|
||||
<div class="line"><a name="l00900"></a><span class="lineno"> 900</span>  &removedTrustLines,</div>
|
||||
<div class="line"><a name="l00901"></a><span class="lineno"> 901</span>  &doNFTokenOffers,</div>
|
||||
<div class="line"><a name="l00902"></a><span class="lineno"> 902</span>  &expiredNFTokenOffers](</div>
|
||||
<div class="line"><a name="l00903"></a><span class="lineno"> 903</span>  <a class="code" href="classripple_1_1base__uint.html">uint256</a> <span class="keyword">const</span>& index,</div>
|
||||
<div class="line"><a name="l00904"></a><span class="lineno"> 904</span>  <span class="keywordtype">bool</span> isDelete,</div>
|
||||
<div class="line"><a name="l00905"></a><span class="lineno"> 905</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<SLE const></a> <span class="keyword">const</span>& before,</div>
|
||||
<div class="line"><a name="l00906"></a><span class="lineno"> 906</span>  <a class="codeRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<SLE const></a> <span class="keyword">const</span>& <a class="code" href="namespaceripple.html#aebcc26ebe20ddcd3bcbfd5402e0acb89">after</a>) {</div>
|
||||
<div class="line"><a name="l00907"></a><span class="lineno"> 907</span>  <span class="keywordflow">if</span> (isDelete)</div>
|
||||
<div class="line"><a name="l00908"></a><span class="lineno"> 908</span>  {</div>
|
||||
<div class="line"><a name="l00909"></a><span class="lineno"> 909</span>  assert(before && <a class="code" href="namespaceripple.html#aebcc26ebe20ddcd3bcbfd5402e0acb89">after</a>);</div>
|
||||
<div class="line"><a name="l00910"></a><span class="lineno"> 910</span>  <span class="keywordflow">if</span> (doOffers && before && <a class="code" href="namespaceripple.html#aebcc26ebe20ddcd3bcbfd5402e0acb89">after</a> &&</div>
|
||||
<div class="line"><a name="l00911"></a><span class="lineno"> 911</span>  (before->getType() == <a class="code" href="namespaceripple.html#ac151bf19e1f4daae2b04c65c65117139a8a24a7b08fcdd8a76109f80f056a176d">ltOFFER</a>) &&</div>
|
||||
<div class="line"><a name="l00912"></a><span class="lineno"> 912</span>  (before->getFieldAmount(<a class="code" href="namespaceripple.html#a1bd06b8a74779afd739e715cbdbacddd">sfTakerPays</a>) ==</div>
|
||||
<div class="line"><a name="l00913"></a><span class="lineno"> 913</span>  <a class="code" href="namespaceripple.html#aebcc26ebe20ddcd3bcbfd5402e0acb89">after</a>->getFieldAmount(<a class="code" href="namespaceripple.html#a1bd06b8a74779afd739e715cbdbacddd">sfTakerPays</a>)))</div>
|
||||
<div class="line"><a name="l00914"></a><span class="lineno"> 914</span>  {</div>
|
||||
<div class="line"><a name="l00915"></a><span class="lineno"> 915</span>  <span class="comment">// Removal of offer found or made unfunded</span></div>
|
||||
<div class="line"><a name="l00916"></a><span class="lineno"> 916</span>  removedOffers.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(index);</div>
|
||||
<div class="line"><a name="l00917"></a><span class="lineno"> 917</span>  }</div>
|
||||
<div class="line"><a name="l00918"></a><span class="lineno"> 918</span>  </div>
|
||||
<div class="line"><a name="l00919"></a><span class="lineno"> 919</span>  <span class="keywordflow">if</span> (doLines && before && <a class="code" href="namespaceripple.html#aebcc26ebe20ddcd3bcbfd5402e0acb89">after</a> &&</div>
|
||||
<div class="line"><a name="l00920"></a><span class="lineno"> 920</span>  (before->getType() == <a class="code" href="namespaceripple.html#ac151bf19e1f4daae2b04c65c65117139a0dca36851b869200981387f3b9f5cdee">ltRIPPLE_STATE</a>))</div>
|
||||
<div class="line"><a name="l00921"></a><span class="lineno"> 921</span>  {</div>
|
||||
<div class="line"><a name="l00922"></a><span class="lineno"> 922</span>  <span class="comment">// Removal of obsolete AMM trust line</span></div>
|
||||
<div class="line"><a name="l00923"></a><span class="lineno"> 923</span>  removedTrustLines.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(index);</div>
|
||||
<div class="line"><a name="l00924"></a><span class="lineno"> 924</span>  }</div>
|
||||
<div class="line"><a name="l00925"></a><span class="lineno"> 925</span>  </div>
|
||||
<div class="line"><a name="l00926"></a><span class="lineno"> 926</span>  <span class="keywordflow">if</span> (doNFTokenOffers && before && <a class="code" href="namespaceripple.html#aebcc26ebe20ddcd3bcbfd5402e0acb89">after</a> &&</div>
|
||||
<div class="line"><a name="l00927"></a><span class="lineno"> 927</span>  (before->getType() == <a class="code" href="namespaceripple.html#ac151bf19e1f4daae2b04c65c65117139aac7da9a5712625a2feed8f6cdc9295a8">ltNFTOKEN_OFFER</a>))</div>
|
||||
<div class="line"><a name="l00928"></a><span class="lineno"> 928</span>  expiredNFTokenOffers.<a class="codeRef" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(index);</div>
|
||||
<div class="line"><a name="l00929"></a><span class="lineno"> 929</span>  }</div>
|
||||
<div class="line"><a name="l00930"></a><span class="lineno"> 930</span>  });</div>
|
||||
<div class="line"><a name="l00931"></a><span class="lineno"> 931</span>  }</div>
|
||||
<div class="line"><a name="l00932"></a><span class="lineno"> 932</span>  </div>
|
||||
<div class="line"><a name="l00933"></a><span class="lineno"> 933</span>  <span class="comment">// Reset the context, potentially adjusting the fee.</span></div>
|
||||
<div class="line"><a name="l00934"></a><span class="lineno"> 934</span>  {</div>
|
||||
<div class="line"><a name="l00935"></a><span class="lineno"> 935</span>  <span class="keyword">auto</span> <span class="keyword">const</span> resetResult = <a class="code" href="classripple_1_1Transactor.html#af81f796422a3f66771e31a6ecbbbf57b">reset</a>(fee);</div>
|
||||
<div class="line"><a name="l00936"></a><span class="lineno"> 936</span>  <span class="keywordflow">if</span> (!<a class="code" href="namespaceripple.html#a5b31f337f444082f547ef1838e7064fc">isTesSuccess</a>(resetResult.first))</div>
|
||||
<div class="line"><a name="l00937"></a><span class="lineno"> 937</span>  result = resetResult.first;</div>
|
||||
<div class="line"><a name="l00938"></a><span class="lineno"> 938</span>  </div>
|
||||
<div class="line"><a name="l00939"></a><span class="lineno"> 939</span>  <span class="comment">// Check invariants again to ensure the fee claiming doesn't</span></div>
|
||||
<div class="line"><a name="l00940"></a><span class="lineno"> 940</span>  <span class="comment">// violate invariants.</span></div>
|
||||
<div class="line"><a name="l00941"></a><span class="lineno"> 941</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceripple.html#a5b31f337f444082f547ef1838e7064fc">isTesSuccess</a>(result) || <a class="code" href="namespaceripple.html#a18e688f3fc0a5e80e13b353c9f924b22">isTecClaim</a>(result))</div>
|
||||
<div class="line"><a name="l00942"></a><span class="lineno"> 942</span>  result = <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#acf5f75ec76cec199781a945226834410">checkInvariants</a>(result, fee);</div>
|
||||
<div class="line"><a name="l00943"></a><span class="lineno"> 943</span>  }</div>
|
||||
<div class="line"><a name="l00944"></a><span class="lineno"> 944</span>  </div>
|
||||
<div class="line"><a name="l00945"></a><span class="lineno"> 945</span>  <span class="comment">// We ran through the invariant checker, which can, in some cases,</span></div>
|
||||
<div class="line"><a name="l00946"></a><span class="lineno"> 946</span>  <span class="comment">// return a tef error code. Don't apply the transaction in that case.</span></div>
|
||||
<div class="line"><a name="l00947"></a><span class="lineno"> 947</span>  <span class="keywordflow">if</span> (!<a class="code" href="namespaceripple.html#a18e688f3fc0a5e80e13b353c9f924b22">isTecClaim</a>(result) && !<a class="code" href="namespaceripple.html#a5b31f337f444082f547ef1838e7064fc">isTesSuccess</a>(result))</div>
|
||||
<div class="line"><a name="l00948"></a><span class="lineno"> 948</span>  applied = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00949"></a><span class="lineno"> 949</span>  }</div>
|
||||
<div class="line"><a name="l00939"></a><span class="lineno"> 939</span>  fee = resetResult.second;</div>
|
||||
<div class="line"><a name="l00940"></a><span class="lineno"> 940</span>  }</div>
|
||||
<div class="line"><a name="l00941"></a><span class="lineno"> 941</span>  </div>
|
||||
<div class="line"><a name="l00942"></a><span class="lineno"> 942</span>  <span class="comment">// If necessary, remove any offers found unfunded during processing</span></div>
|
||||
<div class="line"><a name="l00943"></a><span class="lineno"> 943</span>  <span class="keywordflow">if</span> ((result == <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caad531e9d2f46a3a6e6f01934097e7053">tecOVERSIZE</a>) || (result == <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca82773cd87fbf942a9cb626416218f52b">tecKILLED</a>))</div>
|
||||
<div class="line"><a name="l00944"></a><span class="lineno"> 944</span>  <a class="code" href="namespaceripple.html#a6aab406eb9522bb36ba7247335e303ec">removeUnfundedOffers</a>(</div>
|
||||
<div class="line"><a name="l00945"></a><span class="lineno"> 945</span>  <a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>(), removedOffers, <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a6ec1f10e560afe30ed435c3f7eea715d">app</a>.<a class="code" href="classripple_1_1Application.html#a2897c28a5b5040e80e66f676d201d03f">journal</a>(<span class="stringliteral">"View"</span>));</div>
|
||||
<div class="line"><a name="l00946"></a><span class="lineno"> 946</span>  </div>
|
||||
<div class="line"><a name="l00947"></a><span class="lineno"> 947</span>  <span class="keywordflow">if</span> (result == <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caede598f88bbd44e4df1c4e0d418c4cdc">tecEXPIRED</a>)</div>
|
||||
<div class="line"><a name="l00948"></a><span class="lineno"> 948</span>  <a class="code" href="namespaceripple.html#a8ba581584f364d79f3b5020b6a2c66da">removeExpiredNFTokenOffers</a>(</div>
|
||||
<div class="line"><a name="l00949"></a><span class="lineno"> 949</span>  <a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>(), expiredNFTokenOffers, <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a6ec1f10e560afe30ed435c3f7eea715d">app</a>.<a class="code" href="classripple_1_1Application.html#a2897c28a5b5040e80e66f676d201d03f">journal</a>(<span class="stringliteral">"View"</span>));</div>
|
||||
<div class="line"><a name="l00950"></a><span class="lineno"> 950</span>  </div>
|
||||
<div class="line"><a name="l00951"></a><span class="lineno"> 951</span>  <span class="keywordflow">if</span> (applied)</div>
|
||||
<div class="line"><a name="l00952"></a><span class="lineno"> 952</span>  {</div>
|
||||
<div class="line"><a name="l00953"></a><span class="lineno"> 953</span>  <span class="comment">// Transaction succeeded fully or (retries are not allowed and the</span></div>
|
||||
<div class="line"><a name="l00954"></a><span class="lineno"> 954</span>  <span class="comment">// transaction could claim a fee)</span></div>
|
||||
<div class="line"><a name="l00955"></a><span class="lineno"> 955</span>  </div>
|
||||
<div class="line"><a name="l00956"></a><span class="lineno"> 956</span>  <span class="comment">// The transactor and invariant checkers guarantee that this will</span></div>
|
||||
<div class="line"><a name="l00957"></a><span class="lineno"> 957</span>  <span class="comment">// *never* trigger but if it, somehow, happens, don't allow a tx</span></div>
|
||||
<div class="line"><a name="l00958"></a><span class="lineno"> 958</span>  <span class="comment">// that charges a negative fee.</span></div>
|
||||
<div class="line"><a name="l00959"></a><span class="lineno"> 959</span>  <span class="keywordflow">if</span> (fee < beast::zero)</div>
|
||||
<div class="line"><a name="l00960"></a><span class="lineno"> 960</span>  Throw<std::logic_error>(<span class="stringliteral">"fee charged is negative!"</span>);</div>
|
||||
<div class="line"><a name="l00961"></a><span class="lineno"> 961</span>  </div>
|
||||
<div class="line"><a name="l00962"></a><span class="lineno"> 962</span>  <span class="comment">// Charge whatever fee they specified. The fee has already been</span></div>
|
||||
<div class="line"><a name="l00963"></a><span class="lineno"> 963</span>  <span class="comment">// deducted from the balance of the account that issued the</span></div>
|
||||
<div class="line"><a name="l00964"></a><span class="lineno"> 964</span>  <span class="comment">// transaction. We just need to account for it in the ledger</span></div>
|
||||
<div class="line"><a name="l00965"></a><span class="lineno"> 965</span>  <span class="comment">// header.</span></div>
|
||||
<div class="line"><a name="l00966"></a><span class="lineno"> 966</span>  <span class="keywordflow">if</span> (!<a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>().<a class="code" href="namespaceripple.html#a886ed36db831a964fc5f66ebbb4fe3d0">open</a>() && fee != beast::zero)</div>
|
||||
<div class="line"><a name="l00967"></a><span class="lineno"> 967</span>  <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a6dd28e2ef7cc9935403cbe303ebb5011">destroyXRP</a>(fee);</div>
|
||||
<div class="line"><a name="l00968"></a><span class="lineno"> 968</span>  </div>
|
||||
<div class="line"><a name="l00969"></a><span class="lineno"> 969</span>  <span class="comment">// Once we call apply, we will no longer be able to look at view()</span></div>
|
||||
<div class="line"><a name="l00970"></a><span class="lineno"> 970</span>  <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#aca57d8bdb6612a3d8042cadf62694125">apply</a>(result);</div>
|
||||
<div class="line"><a name="l00971"></a><span class="lineno"> 971</span>  }</div>
|
||||
<div class="line"><a name="l00972"></a><span class="lineno"> 972</span>  </div>
|
||||
<div class="line"><a name="l00973"></a><span class="lineno"> 973</span>  JLOG(<a class="code" href="classripple_1_1Transactor.html#aafdaa4e246ee6879df9cbbf2482dcc7d">j_</a>.<a class="code" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>()) << (applied ? <span class="stringliteral">"applied"</span> : <span class="stringliteral">"not applied"</span>)</div>
|
||||
<div class="line"><a name="l00974"></a><span class="lineno"> 974</span>  << <a class="code" href="namespaceripple.html#a875ae996b37ed036597d70628ae053e3">transToken</a>(result);</div>
|
||||
<div class="line"><a name="l00975"></a><span class="lineno"> 975</span>  </div>
|
||||
<div class="line"><a name="l00976"></a><span class="lineno"> 976</span>  <span class="keywordflow">return</span> {result, applied};</div>
|
||||
<div class="line"><a name="l00977"></a><span class="lineno"> 977</span> }</div>
|
||||
<div class="line"><a name="l00978"></a><span class="lineno"> 978</span>  </div>
|
||||
<div class="line"><a name="l00979"></a><span class="lineno"> 979</span> } <span class="comment">// namespace ripple</span></div>
|
||||
<div class="line"><a name="l00951"></a><span class="lineno"> 951</span>  <span class="keywordflow">if</span> (result == <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca576f5411ab4458ec9842480e7ebe7072">tecINCOMPLETE</a>)</div>
|
||||
<div class="line"><a name="l00952"></a><span class="lineno"> 952</span>  <a class="code" href="namespaceripple.html#ac3e50b84e446c9a994a53e3cba303c65">removeDeletedTrustLines</a>(</div>
|
||||
<div class="line"><a name="l00953"></a><span class="lineno"> 953</span>  <a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>(), removedTrustLines, <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a6ec1f10e560afe30ed435c3f7eea715d">app</a>.<a class="code" href="classripple_1_1Application.html#a2897c28a5b5040e80e66f676d201d03f">journal</a>(<span class="stringliteral">"View"</span>));</div>
|
||||
<div class="line"><a name="l00954"></a><span class="lineno"> 954</span>  </div>
|
||||
<div class="line"><a name="l00955"></a><span class="lineno"> 955</span>  applied = <a class="code" href="namespaceripple.html#a18e688f3fc0a5e80e13b353c9f924b22">isTecClaim</a>(result);</div>
|
||||
<div class="line"><a name="l00956"></a><span class="lineno"> 956</span>  }</div>
|
||||
<div class="line"><a name="l00957"></a><span class="lineno"> 957</span>  </div>
|
||||
<div class="line"><a name="l00958"></a><span class="lineno"> 958</span>  <span class="keywordflow">if</span> (applied)</div>
|
||||
<div class="line"><a name="l00959"></a><span class="lineno"> 959</span>  {</div>
|
||||
<div class="line"><a name="l00960"></a><span class="lineno"> 960</span>  <span class="comment">// Check invariants: if `tecINVARIANT_FAILED` is not returned, we can</span></div>
|
||||
<div class="line"><a name="l00961"></a><span class="lineno"> 961</span>  <span class="comment">// proceed to apply the tx</span></div>
|
||||
<div class="line"><a name="l00962"></a><span class="lineno"> 962</span>  result = <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#acf5f75ec76cec199781a945226834410">checkInvariants</a>(result, fee);</div>
|
||||
<div class="line"><a name="l00963"></a><span class="lineno"> 963</span>  </div>
|
||||
<div class="line"><a name="l00964"></a><span class="lineno"> 964</span>  <span class="keywordflow">if</span> (result == <a class="code" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">tecINVARIANT_FAILED</a>)</div>
|
||||
<div class="line"><a name="l00965"></a><span class="lineno"> 965</span>  {</div>
|
||||
<div class="line"><a name="l00966"></a><span class="lineno"> 966</span>  <span class="comment">// if invariants checking failed again, reset the context and</span></div>
|
||||
<div class="line"><a name="l00967"></a><span class="lineno"> 967</span>  <span class="comment">// attempt to only claim a fee.</span></div>
|
||||
<div class="line"><a name="l00968"></a><span class="lineno"> 968</span>  <span class="keyword">auto</span> <span class="keyword">const</span> resetResult = <a class="code" href="classripple_1_1Transactor.html#af81f796422a3f66771e31a6ecbbbf57b">reset</a>(fee);</div>
|
||||
<div class="line"><a name="l00969"></a><span class="lineno"> 969</span>  <span class="keywordflow">if</span> (!<a class="code" href="namespaceripple.html#a5b31f337f444082f547ef1838e7064fc">isTesSuccess</a>(resetResult.first))</div>
|
||||
<div class="line"><a name="l00970"></a><span class="lineno"> 970</span>  result = resetResult.first;</div>
|
||||
<div class="line"><a name="l00971"></a><span class="lineno"> 971</span>  </div>
|
||||
<div class="line"><a name="l00972"></a><span class="lineno"> 972</span>  fee = resetResult.second;</div>
|
||||
<div class="line"><a name="l00973"></a><span class="lineno"> 973</span>  </div>
|
||||
<div class="line"><a name="l00974"></a><span class="lineno"> 974</span>  <span class="comment">// Check invariants again to ensure the fee claiming doesn't</span></div>
|
||||
<div class="line"><a name="l00975"></a><span class="lineno"> 975</span>  <span class="comment">// violate invariants.</span></div>
|
||||
<div class="line"><a name="l00976"></a><span class="lineno"> 976</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceripple.html#a5b31f337f444082f547ef1838e7064fc">isTesSuccess</a>(result) || <a class="code" href="namespaceripple.html#a18e688f3fc0a5e80e13b353c9f924b22">isTecClaim</a>(result))</div>
|
||||
<div class="line"><a name="l00977"></a><span class="lineno"> 977</span>  result = <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#acf5f75ec76cec199781a945226834410">checkInvariants</a>(result, fee);</div>
|
||||
<div class="line"><a name="l00978"></a><span class="lineno"> 978</span>  }</div>
|
||||
<div class="line"><a name="l00979"></a><span class="lineno"> 979</span>  </div>
|
||||
<div class="line"><a name="l00980"></a><span class="lineno"> 980</span>  <span class="comment">// We ran through the invariant checker, which can, in some cases,</span></div>
|
||||
<div class="line"><a name="l00981"></a><span class="lineno"> 981</span>  <span class="comment">// return a tef error code. Don't apply the transaction in that case.</span></div>
|
||||
<div class="line"><a name="l00982"></a><span class="lineno"> 982</span>  <span class="keywordflow">if</span> (!<a class="code" href="namespaceripple.html#a18e688f3fc0a5e80e13b353c9f924b22">isTecClaim</a>(result) && !<a class="code" href="namespaceripple.html#a5b31f337f444082f547ef1838e7064fc">isTesSuccess</a>(result))</div>
|
||||
<div class="line"><a name="l00983"></a><span class="lineno"> 983</span>  applied = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00984"></a><span class="lineno"> 984</span>  }</div>
|
||||
<div class="line"><a name="l00985"></a><span class="lineno"> 985</span>  </div>
|
||||
<div class="line"><a name="l00986"></a><span class="lineno"> 986</span>  <span class="keywordflow">if</span> (applied)</div>
|
||||
<div class="line"><a name="l00987"></a><span class="lineno"> 987</span>  {</div>
|
||||
<div class="line"><a name="l00988"></a><span class="lineno"> 988</span>  <span class="comment">// Transaction succeeded fully or (retries are not allowed and the</span></div>
|
||||
<div class="line"><a name="l00989"></a><span class="lineno"> 989</span>  <span class="comment">// transaction could claim a fee)</span></div>
|
||||
<div class="line"><a name="l00990"></a><span class="lineno"> 990</span>  </div>
|
||||
<div class="line"><a name="l00991"></a><span class="lineno"> 991</span>  <span class="comment">// The transactor and invariant checkers guarantee that this will</span></div>
|
||||
<div class="line"><a name="l00992"></a><span class="lineno"> 992</span>  <span class="comment">// *never* trigger but if it, somehow, happens, don't allow a tx</span></div>
|
||||
<div class="line"><a name="l00993"></a><span class="lineno"> 993</span>  <span class="comment">// that charges a negative fee.</span></div>
|
||||
<div class="line"><a name="l00994"></a><span class="lineno"> 994</span>  <span class="keywordflow">if</span> (fee < beast::zero)</div>
|
||||
<div class="line"><a name="l00995"></a><span class="lineno"> 995</span>  Throw<std::logic_error>(<span class="stringliteral">"fee charged is negative!"</span>);</div>
|
||||
<div class="line"><a name="l00996"></a><span class="lineno"> 996</span>  </div>
|
||||
<div class="line"><a name="l00997"></a><span class="lineno"> 997</span>  <span class="comment">// Charge whatever fee they specified. The fee has already been</span></div>
|
||||
<div class="line"><a name="l00998"></a><span class="lineno"> 998</span>  <span class="comment">// deducted from the balance of the account that issued the</span></div>
|
||||
<div class="line"><a name="l00999"></a><span class="lineno"> 999</span>  <span class="comment">// transaction. We just need to account for it in the ledger</span></div>
|
||||
<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>  <span class="comment">// header.</span></div>
|
||||
<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>  <span class="keywordflow">if</span> (!<a class="code" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>().<a class="code" href="namespaceripple.html#a886ed36db831a964fc5f66ebbb4fe3d0">open</a>() && fee != beast::zero)</div>
|
||||
<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>  <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#a6dd28e2ef7cc9935403cbe303ebb5011">destroyXRP</a>(fee);</div>
|
||||
<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>  </div>
|
||||
<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>  <span class="comment">// Once we call apply, we will no longer be able to look at view()</span></div>
|
||||
<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>  <a class="code" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code" href="classripple_1_1ApplyContext.html#aca57d8bdb6612a3d8042cadf62694125">apply</a>(result);</div>
|
||||
<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>  }</div>
|
||||
<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>  </div>
|
||||
<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>  JLOG(<a class="code" href="classripple_1_1Transactor.html#aafdaa4e246ee6879df9cbbf2482dcc7d">j_</a>.<a class="code" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>()) << (applied ? <span class="stringliteral">"applied"</span> : <span class="stringliteral">"not applied"</span>)</div>
|
||||
<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>  << <a class="code" href="namespaceripple.html#a875ae996b37ed036597d70628ae053e3">transToken</a>(result);</div>
|
||||
<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>  </div>
|
||||
<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>  <span class="keywordflow">return</span> {result, applied};</div>
|
||||
<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> }</div>
|
||||
<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>  </div>
|
||||
<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> } <span class="comment">// namespace ripple</span></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<div class="ttc" id="aclassbeast_1_1Journal_html_a3dfb8e2e3eecccdb5cf78ff21bca069c"><div class="ttname"><a href="classbeast_1_1Journal.html#a3dfb8e2e3eecccdb5cf78ff21bca069c">beast::Journal::fatal</a></div><div class="ttdeci">Stream fatal() const</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00339">Journal.h:339</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STArray_html_afdae4983cf41a2e6c3031d203b79c67b"><div class="ttname"><a href="classripple_1_1STArray.html#afdae4983cf41a2e6c3031d203b79c67b">ripple::STArray::size</a></div><div class="ttdeci">size_type size() const</div><div class="ttdef"><b>Definition:</b> <a href="STArray_8h_source.html#l00248">STArray.h:248</a></div></div>
|
||||
@@ -1060,7 +1095,7 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1Transactor_html_a5c4568739676c5335b8d63dc375f7920"><div class="ttname"><a href="classripple_1_1Transactor.html#a5c4568739676c5335b8d63dc375f7920">ripple::Transactor::minimumFee</a></div><div class="ttdeci">static XRPAmount minimumFee(Application &app, XRPAmount baseFee, Fees const &fees, ApplyFlags flags)</div><div class="ttdoc">Compute the minimum fee required to process a transaction with a given baseFee based on the current s...</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8cpp_source.html#l00180">Transactor.cpp:180</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Transactor_html_afcb347c674044ec5c9e9ac751b54c3ac"><div class="ttname"><a href="classripple_1_1Transactor.html#afcb347c674044ec5c9e9ac751b54c3ac">ripple::Transactor::checkMultiSign</a></div><div class="ttdeci">static NotTEC checkMultiSign(PreclaimContext const &ctx)</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8cpp_source.html#l00562">Transactor.cpp:562</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a75cb21d7f1df42f2fdc8efddb79b63f4ad035d214edc31c72362d7efbdaba234c"><div class="ttname"><a href="namespaceripple.html#a75cb21d7f1df42f2fdc8efddb79b63f4ad035d214edc31c72362d7efbdaba234c">ripple::tefINTERNAL</a></div><div class="ttdeci">@ tefINTERNAL</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00157">TER.h:157</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84"><div class="ttname"><a href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">ripple::tecINVARIANT_FAILED</a></div><div class="ttdeci">@ tecINVARIANT_FAILED</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00283">TER.h:283</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84"><div class="ttname"><a href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caa7dccd25363fdff0d363bd16553d1c84">ripple::tecINVARIANT_FAILED</a></div><div class="ttdeci">@ tecINVARIANT_FAILED</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00284">TER.h:284</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Rules_html_a1a8388a2b9588aa9446ece92a88e0dd2"><div class="ttname"><a href="classripple_1_1Rules.html#a1a8388a2b9588aa9446ece92a88e0dd2">ripple::Rules::enabled</a></div><div class="ttdeci">bool enabled(uint256 const &feature) const</div><div class="ttdoc">Returns true if a feature is enabled.</div><div class="ttdef"><b>Definition:</b> <a href="Rules_8cpp_source.html#l00094">Rules.cpp:94</a></div></div>
|
||||
<div class="ttc" id="ashared_ptr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr< STLedgerEntry ></a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplyContext_html_acf5f75ec76cec199781a945226834410"><div class="ttname"><a href="classripple_1_1ApplyContext.html#acf5f75ec76cec199781a945226834410">ripple::ApplyContext::checkInvariants</a></div><div class="ttdeci">TER checkInvariants(TER const result, XRPAmount const fee)</div><div class="ttdoc">Applies all invariant checkers one by one.</div><div class="ttdef"><b>Definition:</b> <a href="ApplyContext_8cpp_source.html#l00147">ApplyContext.cpp:147</a></div></div>
|
||||
@@ -1077,14 +1112,15 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1SignerEntries_html_a0c87128a0662ca37f1c7d8153fcb8920"><div class="ttname"><a href="classripple_1_1SignerEntries.html#a0c87128a0662ca37f1c7d8153fcb8920">ripple::SignerEntries::deserialize</a></div><div class="ttdeci">static Expected< std::vector< SignerEntry >, NotTEC > deserialize(STObject const &obj, beast::Journal journal, std::string const &annotation)</div><div class="ttdef"><b>Definition:</b> <a href="SignerEntries_8cpp_source.html#l00030">SignerEntries.cpp:30</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Transactor_html_aafdaa4e246ee6879df9cbbf2482dcc7d"><div class="ttname"><a href="classripple_1_1Transactor.html#aafdaa4e246ee6879df9cbbf2482dcc7d">ripple::Transactor::j_</a></div><div class="ttdeci">const beast::Journal j_</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8h_source.html#l00089">Transactor.h:89</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Transactor_html_a68776b873595ab6d7ed33ddd0353c01b"><div class="ttname"><a href="classripple_1_1Transactor.html#a68776b873595ab6d7ed33ddd0353c01b">ripple::Transactor::checkSingleSign</a></div><div class="ttdeci">static NotTEC checkSingleSign(PreclaimContext const &ctx)</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8cpp_source.html#l00488">Transactor.cpp:488</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a5b31f337f444082f547ef1838e7064fc"><div class="ttname"><a href="namespaceripple.html#a5b31f337f444082f547ef1838e7064fc">ripple::isTesSuccess</a></div><div class="ttdeci">bool isTesSuccess(TER x)</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00604">TER.h:604</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a5b31f337f444082f547ef1838e7064fc"><div class="ttname"><a href="namespaceripple.html#a5b31f337f444082f547ef1838e7064fc">ripple::isTesSuccess</a></div><div class="ttdeci">bool isTesSuccess(TER x)</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00609">TER.h:609</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplyContext_html_ae7e2361dfcb8bfc1d367389148c07634"><div class="ttname"><a href="classripple_1_1ApplyContext.html#ae7e2361dfcb8bfc1d367389148c07634">ripple::ApplyContext::preclaimResult</a></div><div class="ttdeci">const TER preclaimResult</div><div class="ttdef"><b>Definition:</b> <a href="ApplyContext_8h_source.html#l00049">ApplyContext.h:49</a></div></div>
|
||||
<div class="ttc" id="apair_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a586714bf3cbbbb406d6f169742bce0d5"><div class="ttname"><a href="namespaceripple.html#a586714bf3cbbbb406d6f169742bce0d5">ripple::sfSequence</a></div><div class="ttdeci">const SF_UINT32 sfSequence</div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_add69afdd9c67ca7b7374b30f9d3e6d41"><div class="ttname"><a href="namespaceripple.html#add69afdd9c67ca7b7374b30f9d3e6d41">ripple::sfRegularKey</a></div><div class="ttdeci">const SF_ACCOUNT sfRegularKey</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Transactor_html_a6fbe596dea21ad7ed639ab48ab0dbe0a"><div class="ttname"><a href="classripple_1_1Transactor.html#a6fbe596dea21ad7ed639ab48ab0dbe0a">ripple::Transactor::operator()</a></div><div class="ttdeci">std::pair< TER, bool > operator()()</div><div class="ttdoc">Process the transaction.</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8cpp_source.html#l00801">Transactor.cpp:801</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Transactor_html_a6fbe596dea21ad7ed639ab48ab0dbe0a"><div class="ttname"><a href="classripple_1_1Transactor.html#a6fbe596dea21ad7ed639ab48ab0dbe0a">ripple::Transactor::operator()</a></div><div class="ttdeci">std::pair< TER, bool > operator()()</div><div class="ttdoc">Process the transaction.</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8cpp_source.html#l00827">Transactor.cpp:827</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplyView_html_afda9c12acbda605becf20f54d45587d4"><div class="ttname"><a href="classripple_1_1ApplyView.html#afda9c12acbda605becf20f54d45587d4">ripple::ApplyView::erase</a></div><div class="ttdeci">virtual void erase(std::shared_ptr< SLE > const &sle)=0</div><div class="ttdoc">Remove a peeked SLE.</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="asize_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/size.html">std::vector::size</a></div><div class="ttdeci">T size(T... args)</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ReadView_html_a9bbdb3fb4754482a8d6c6e6d25c2d1eb"><div class="ttname"><a href="classripple_1_1ReadView.html#a9bbdb3fb4754482a8d6c6e6d25c2d1eb">ripple::ReadView::fees</a></div><div class="ttdeci">virtual Fees const & fees() const =0</div><div class="ttdoc">Returns the fees for the base ledger.</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1NumberSO_html"><div class="ttname"><a href="classripple_1_1NumberSO.html">ripple::NumberSO</a></div><div class="ttdoc">RAII class to set and restore the Number switchover.</div><div class="ttdef"><b>Definition:</b> <a href="IOUAmount_8h_source.html#l00201">IOUAmount.h:201</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a590913040d5c9a68f3bf1d4da20311ad"><div class="ttname"><a href="namespaceripple.html#a590913040d5c9a68f3bf1d4da20311ad">ripple::sfSigningPubKey</a></div><div class="ttdeci">const SF_VL sfSigningPubKey</div></div>
|
||||
@@ -1097,16 +1133,19 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1Transactor_html_a433ee7a44770c882927f2eedf20e6c71"><div class="ttname"><a href="classripple_1_1Transactor.html#a433ee7a44770c882927f2eedf20e6c71">ripple::Transactor::checkSeqProxy</a></div><div class="ttdeci">static NotTEC checkSeqProxy(ReadView const &view, STTx const &tx, beast::Journal j)</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8cpp_source.html#l00263">Transactor.cpp:263</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1SeqProxy_html_a31a7a3c8298a38aaeee20ae08bb51643"><div class="ttname"><a href="classripple_1_1SeqProxy.html#a31a7a3c8298a38aaeee20ae08bb51643">ripple::SeqProxy::sequence</a></div><div class="ttdeci">static constexpr SeqProxy sequence(std::uint32_t v)</div><div class="ttdoc">Factory function to return a sequence-based SeqProxy.</div><div class="ttdef"><b>Definition:</b> <a href="SeqProxy_8h_source.html#l00076">SeqProxy.h:76</a></div></div>
|
||||
<div class="ttc" id="aclassbeast_1_1Journal_html_ad8fefe3e8ad583e1ed1bf02094ac3d8f"><div class="ttname"><a href="classbeast_1_1Journal.html#ad8fefe3e8ad583e1ed1bf02094ac3d8f">beast::Journal::warn</a></div><div class="ttdeci">Stream warn() const</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00327">Journal.h:327</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a875ae996b37ed036597d70628ae053e3"><div class="ttname"><a href="namespaceripple.html#a875ae996b37ed036597d70628ae053e3">ripple::transToken</a></div><div class="ttdeci">std::string transToken(TER code)</div><div class="ttdef"><b>Definition:</b> <a href="TER_8cpp_source.html#l00216">TER.cpp:216</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a875ae996b37ed036597d70628ae053e3"><div class="ttname"><a href="namespaceripple.html#a875ae996b37ed036597d70628ae053e3">ripple::transToken</a></div><div class="ttdeci">std::string transToken(TER code)</div><div class="ttdef"><b>Definition:</b> <a href="TER_8cpp_source.html#l00221">TER.cpp:221</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplyView_html_a542437b9b59a623e755979acdc075af5"><div class="ttname"><a href="classripple_1_1ApplyView.html#a542437b9b59a623e755979acdc075af5">ripple::ApplyView::update</a></div><div class="ttdeci">virtual void update(std::shared_ptr< SLE > const &sle)=0</div><div class="ttdoc">Indicate changes to a peeked SLE.</div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a02846cd5c6d936cb7fc510267ecc77d4"><div class="ttname"><a href="namespaceripple.html#a02846cd5c6d936cb7fc510267ecc77d4">ripple::maxDeletableAMMTrustLines</a></div><div class="ttdeci">constexpr std::uint16_t maxDeletableAMMTrustLines</div><div class="ttdoc">The maximum number of trustlines to delete as part of AMM account deletion cleanup.</div><div class="ttdef"><b>Definition:</b> <a href="Protocol_8h_source.html#l00101">Protocol.h:101</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a260d2970ac1119109937ed1c5d4ca962a7f4ff2a5a0a9be1783ad56ad895b60e6"><div class="ttname"><a href="namespaceripple.html#a260d2970ac1119109937ed1c5d4ca962a7f4ff2a5a0a9be1783ad56ad895b60e6">ripple::telNETWORK_ID_MAKES_TX_NON_CANONICAL</a></div><div class="ttdeci">@ telNETWORK_ID_MAKES_TX_NON_CANONICAL</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00066">TER.h:66</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#l01607">View.cpp:1607</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STTx_html_a42464c41715a5d90dfa3240118d62d9c"><div class="ttname"><a href="classripple_1_1STTx.html#a42464c41715a5d90dfa3240118d62d9c">ripple::STTx::getSeqProxy</a></div><div class="ttdeci">SeqProxy getSeqProxy() const</div><div class="ttdef"><b>Definition:</b> <a href="STTx_8cpp_source.html#l00183">STTx.cpp:183</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a385ab11f319f7b8d477e2ccff9f19cbc"><div class="ttname"><a href="namespaceripple.html#a385ab11f319f7b8d477e2ccff9f19cbc">ripple::sfTicketSequence</a></div><div class="ttdeci">const SF_UINT32 sfTicketSequence</div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1keylet_html_ae59cd86187ff4936a91b183ec2ea1bf9"><div class="ttname"><a href="namespaceripple_1_1keylet.html#ae59cd86187ff4936a91b183ec2ea1bf9">ripple::keylet::ticket</a></div><div class="ttdeci">static const ticket_t ticket</div><div class="ttdef"><b>Definition:</b> <a href="Indexes_8h_source.html#l00167">Indexes.h:167</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ReadView_html_af95bff423d062ed89665e9f628972ece"><div class="ttname"><a href="classripple_1_1ReadView.html#af95bff423d062ed89665e9f628972ece">ripple::ReadView::txExists</a></div><div class="ttdeci">virtual bool txExists(key_type const &key) const =0</div><div class="ttdoc">Returns true if a tx exists in the tx map.</div></div>
|
||||
<div class="ttc" id="astructripple_1_1PreflightContext_html_a7db9100a0f215cba1c093674692601c4"><div class="ttname"><a href="structripple_1_1PreflightContext.html#a7db9100a0f215cba1c093674692601c4">ripple::PreflightContext::j</a></div><div class="ttdeci">const beast::Journal j</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8h_source.html#l00038">Transactor.h:38</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aa298e929e02f59c2b05a30ee8805b38ca576f5411ab4458ec9842480e7ebe7072"><div class="ttname"><a href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca576f5411ab4458ec9842480e7ebe7072">ripple::tecINCOMPLETE</a></div><div class="ttdeci">@ tecINCOMPLETE</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00306">TER.h:306</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a7d68f79a2b6f8d40de6f5c45f133e97f"><div class="ttname"><a href="namespaceripple.html#a7d68f79a2b6f8d40de6f5c45f133e97f">ripple::unfundedOfferRemoveLimit</a></div><div class="ttdeci">constexpr std::size_t unfundedOfferRemoveLimit</div><div class="ttdoc">The maximum number of unfunded offers to delete at once.</div><div class="ttdef"><b>Definition:</b> <a href="Protocol_8h_source.html#l00046">Protocol.h:46</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a18e688f3fc0a5e80e13b353c9f924b22"><div class="ttname"><a href="namespaceripple.html#a18e688f3fc0a5e80e13b353c9f924b22">ripple::isTecClaim</a></div><div class="ttdeci">bool isTecClaim(TER x)</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00610">TER.h:610</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a18e688f3fc0a5e80e13b353c9f924b22"><div class="ttname"><a href="namespaceripple.html#a18e688f3fc0a5e80e13b353c9f924b22">ripple::isTecClaim</a></div><div class="ttdeci">bool isTecClaim(TER x)</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00615">TER.h:615</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Transactor_html_ac424955fc06a7eb920a93fe517ad8d69"><div class="ttname"><a href="classripple_1_1Transactor.html#ac424955fc06a7eb920a93fe517ad8d69">ripple::Transactor::ticketDelete</a></div><div class="ttdeci">static TER ticketDelete(ApplyView &view, AccountID const &account, uint256 const &ticketIndex, beast::Journal j)</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8cpp_source.html#l00383">Transactor.cpp:383</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a75cb21d7f1df42f2fdc8efddb79b63f4a9b1c8c6894c68f06887180402c387a03"><div class="ttname"><a href="namespaceripple.html#a75cb21d7f1df42f2fdc8efddb79b63f4a9b1c8c6894c68f06887180402c387a03">ripple::tefBAD_AUTH</a></div><div class="ttdeci">@ tefBAD_AUTH</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00153">TER.h:153</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aaad7838ce24fa0ffc4c6e388b18c86a4"><div class="ttname"><a href="namespaceripple.html#aaad7838ce24fa0ffc4c6e388b18c86a4">ripple::isTecClaimHardFail</a></div><div class="ttdeci">bool isTecClaimHardFail(TER ter, ApplyFlags flags)</div><div class="ttdoc">Return true if the transaction can claim a fee (tec), and the ApplyFlags do not allow soft failures.</div><div class="ttdef"><b>Definition:</b> <a href="applySteps_8h_source.html#l00036">applySteps.h:36</a></div></div>
|
||||
@@ -1114,7 +1153,7 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1STAmount_html_a6c2ca92e9c91e2a34493d61e02d79ebf"><div class="ttname"><a href="classripple_1_1STAmount.html#a6c2ca92e9c91e2a34493d61e02d79ebf">ripple::STAmount::xrp</a></div><div class="ttdeci">XRPAmount xrp() const</div><div class="ttdef"><b>Definition:</b> <a href="STAmount_8cpp_source.html#l00334">STAmount.cpp:334</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a5dfb437ade69624474bbe4125ceb791a"><div class="ttname"><a href="namespaceripple.html#a5dfb437ade69624474bbe4125ceb791a">ripple::preflight1</a></div><div class="ttdeci">NotTEC preflight1(PreflightContext const &ctx)</div><div class="ttdoc">Performs early sanity checks on the account and fee fields.</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8cpp_source.html#l00078">Transactor.cpp:78</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplyView_html"><div class="ttname"><a href="classripple_1_1ApplyView.html">ripple::ApplyView</a></div><div class="ttdoc">Writeable view to a ledger, for applying a transaction.</div><div class="ttdef"><b>Definition:</b> <a href="ApplyView_8h_source.html#l00134">ApplyView.h:134</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aa298e929e02f59c2b05a30ee8805b38ca82773cd87fbf942a9cb626416218f52b"><div class="ttname"><a href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca82773cd87fbf942a9cb626416218f52b">ripple::tecKILLED</a></div><div class="ttdeci">@ tecKILLED</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00286">TER.h:286</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aa298e929e02f59c2b05a30ee8805b38ca82773cd87fbf942a9cb626416218f52b"><div class="ttname"><a href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca82773cd87fbf942a9cb626416218f52b">ripple::tecKILLED</a></div><div class="ttdeci">@ tecKILLED</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00287">TER.h:287</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Application_html_a426bdbb87f6dc2082cf6f418526901cb"><div class="ttname"><a href="classripple_1_1Application.html#a426bdbb87f6dc2082cf6f418526901cb">ripple::Application::getFeeTrack</a></div><div class="ttdeci">virtual LoadFeeTrack & getFeeTrack()=0</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplyContext_html_a6ec1f10e560afe30ed435c3f7eea715d"><div class="ttname"><a href="classripple_1_1ApplyContext.html#a6ec1f10e560afe30ed435c3f7eea715d">ripple::ApplyContext::app</a></div><div class="ttdeci">Application & app</div><div class="ttdef"><b>Definition:</b> <a href="ApplyContext_8h_source.html#l00047">ApplyContext.h:47</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1SeqProxy_html_ad1b5ed07ca885fd243066a846080ccc0"><div class="ttname"><a href="classripple_1_1SeqProxy.html#ad1b5ed07ca885fd243066a846080ccc0">ripple::SeqProxy::isTicket</a></div><div class="ttdeci">constexpr bool isTicket() const</div><div class="ttdef"><b>Definition:</b> <a href="SeqProxy_8h_source.html#l00094">SeqProxy.h:94</a></div></div>
|
||||
@@ -1126,22 +1165,23 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1ApplyView_html_a5a06441ef4fdb9b7f6e51437ce4a959f"><div class="ttname"><a href="classripple_1_1ApplyView.html#a5a06441ef4fdb9b7f6e51437ce4a959f">ripple::ApplyView::dirRemove</a></div><div class="ttdeci">bool dirRemove(Keylet const &directory, std::uint64_t page, uint256 const &key, bool keepRoot)</div><div class="ttdoc">Remove an entry from a directory.</div><div class="ttdef"><b>Definition:</b> <a href="ApplyView_8cpp_source.html#l00189">ApplyView.cpp:189</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a75cb21d7f1df42f2fdc8efddb79b63f4aafd3fcc27f093dd96e977fb0f07044f1"><div class="ttname"><a href="namespaceripple.html#a75cb21d7f1df42f2fdc8efddb79b63f4aafd3fcc27f093dd96e977fb0f07044f1">ripple::tefBAD_QUORUM</a></div><div class="ttdeci">@ tefBAD_QUORUM</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00164">TER.h:164</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_adc1f8a2c9b47d7c08e671ad3473e9d3a"><div class="ttname"><a href="namespaceripple.html#adc1f8a2c9b47d7c08e671ad3473e9d3a">ripple::publicKeyType</a></div><div class="ttdeci">std::optional< KeyType > publicKeyType(Slice const &slice)</div><div class="ttdoc">Returns the type of public key.</div><div class="ttdef"><b>Definition:</b> <a href="PublicKey_8cpp_source.html#l00207">PublicKey.cpp:207</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aa298e929e02f59c2b05a30ee8805b38caad531e9d2f46a3a6e6f01934097e7053"><div class="ttname"><a href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caad531e9d2f46a3a6e6f01934097e7053">ripple::tecOVERSIZE</a></div><div class="ttdeci">@ tecOVERSIZE</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00281">TER.h:281</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aa298e929e02f59c2b05a30ee8805b38caad531e9d2f46a3a6e6f01934097e7053"><div class="ttname"><a href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caad531e9d2f46a3a6e6f01934097e7053">ripple::tecOVERSIZE</a></div><div class="ttdeci">@ tecOVERSIZE</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00282">TER.h:282</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1base__uint_html"><div class="ttname"><a href="classripple_1_1base__uint.html">ripple::base_uint< 160, detail::AccountIDTag ></a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a1bd06b8a74779afd739e715cbdbacddd"><div class="ttname"><a href="namespaceripple.html#a1bd06b8a74779afd739e715cbdbacddd">ripple::sfTakerPays</a></div><div class="ttdeci">const SF_AMOUNT sfTakerPays</div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a362865ef53c336f61de3da6dfc05664a"><div class="ttname"><a href="namespaceripple.html#a362865ef53c336f61de3da6dfc05664a">ripple::preflight0</a></div><div class="ttdeci">NotTEC preflight0(PreflightContext const &ctx)</div><div class="ttdoc">Performs early sanity checks on the txid.</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8cpp_source.html#l00041">Transactor.cpp:41</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a75cb21d7f1df42f2fdc8efddb79b63f4ab5c44faf987ebd7709fa11a2c8502b5f"><div class="ttname"><a href="namespaceripple.html#a75cb21d7f1df42f2fdc8efddb79b63f4ab5c44faf987ebd7709fa11a2c8502b5f">ripple::tefBAD_LEDGER</a></div><div class="ttdeci">@ tefBAD_LEDGER</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00154">TER.h:154</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a7e31af9d90dac8c9e4272bf597d83fb4"><div class="ttname"><a href="namespaceripple.html#a7e31af9d90dac8c9e4272bf597d83fb4">ripple::adjustOwnerCount</a></div><div class="ttdeci">void adjustOwnerCount(ApplyView &view, std::shared_ptr< SLE > const &sle, std::int32_t amount, beast::Journal j)</div><div class="ttdoc">Adjust the owner count up or down.</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l00747">View.cpp:747</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a7e31af9d90dac8c9e4272bf597d83fb4"><div class="ttname"><a href="namespaceripple.html#a7e31af9d90dac8c9e4272bf597d83fb4">ripple::adjustOwnerCount</a></div><div class="ttdeci">void adjustOwnerCount(ApplyView &view, std::shared_ptr< SLE > const &sle, std::int32_t amount, beast::Journal j)</div><div class="ttdoc">Adjust the owner count up or down.</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l00730">View.cpp:730</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ac151bf19e1f4daae2b04c65c65117139a8a24a7b08fcdd8a76109f80f056a176d"><div class="ttname"><a href="namespaceripple.html#ac151bf19e1f4daae2b04c65c65117139a8a24a7b08fcdd8a76109f80f056a176d">ripple::ltOFFER</a></div><div class="ttdeci">@ ltOFFER</div><div class="ttdoc">A ledger object which describes an offer on the DEX.</div><div class="ttdef"><b>Definition:</b> <a href="LedgerFormats_8h_source.html#l00092">LedgerFormats.h:92</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Transactor_html_a428581db1f9eea2f41cf9e371a1e557d"><div class="ttname"><a href="classripple_1_1Transactor.html#a428581db1f9eea2f41cf9e371a1e557d">ripple::Transactor::calculateBaseFee</a></div><div class="ttdeci">static XRPAmount calculateBaseFee(ReadView const &view, STTx const &tx)</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8cpp_source.html#l00162">Transactor.cpp:162</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Transactor_html_a4501e41a5df4853bb93e7f85ec6abaf7"><div class="ttname"><a href="classripple_1_1Transactor.html#a4501e41a5df4853bb93e7f85ec6abaf7">ripple::Transactor::checkSign</a></div><div class="ttdeci">static NotTEC checkSign(PreclaimContext const &ctx)</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8cpp_source.html#l00478">Transactor.cpp:478</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1Fees_html"><div class="ttname"><a href="structripple_1_1Fees.html">ripple::Fees</a></div><div class="ttdoc">Reflects the fee settings for a particular ledger.</div><div class="ttdef"><b>Definition:</b> <a href="ReadView_8h_source.html#l00049">ReadView.h:49</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1Fees_html"><div class="ttname"><a href="structripple_1_1Fees.html">ripple::Fees</a></div><div class="ttdoc">Reflects the fee settings for a particular ledger.</div><div class="ttdef"><b>Definition:</b> <a href="protocol_2Fees_8h_source.html#l00032">protocol/Fees.h:32</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_adb47f5675e01882e14c2cf9cc5700648"><div class="ttname"><a href="namespaceripple.html#adb47f5675e01882e14c2cf9cc5700648">ripple::checkValidity</a></div><div class="ttdeci">std::pair< Validity, std::string > checkValidity(HashRouter &router, STTx const &tx, Rules const &rules, Config const &config)</div><div class="ttdoc">Checks transaction signature and local checks.</div><div class="ttdef"><b>Definition:</b> <a href="apply_8cpp_source.html#l00037">apply.cpp:37</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a75cb21d7f1df42f2fdc8efddb79b63f4a4f25d2d983c5fe7fafac11ed205253a9"><div class="ttname"><a href="namespaceripple.html#a75cb21d7f1df42f2fdc8efddb79b63f4a4f25d2d983c5fe7fafac11ed205253a9">ripple::tefMAX_LEDGER</a></div><div class="ttdeci">@ tefMAX_LEDGER</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00162">TER.h:162</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1PublicKey_html"><div class="ttname"><a href="classripple_1_1PublicKey.html">ripple::PublicKey</a></div><div class="ttdoc">A public key.</div><div class="ttdef"><b>Definition:</b> <a href="PublicKey_8h_source.html#l00059">PublicKey.h:59</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1keylet_html_a50c370db96b4fdcdd202d9c2c38afce9"><div class="ttname"><a href="namespaceripple_1_1keylet.html#a50c370db96b4fdcdd202d9c2c38afce9">ripple::keylet::account</a></div><div class="ttdeci">Keylet account(AccountID const &id) noexcept</div><div class="ttdoc">AccountID root.</div><div class="ttdef"><b>Definition:</b> <a href="Indexes_8cpp_source.html#l00134">Indexes.cpp:134</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ac3e50b84e446c9a994a53e3cba303c65"><div class="ttname"><a href="namespaceripple.html#ac3e50b84e446c9a994a53e3cba303c65">ripple::removeDeletedTrustLines</a></div><div class="ttdeci">static void removeDeletedTrustLines(ApplyView &view, std::vector< uint256 > const &trustLines, beast::Journal viewJ)</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8cpp_source.html#l00761">Transactor.cpp:761</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a75cb21d7f1df42f2fdc8efddb79b63f4ac43369f518d28ae712ad223ab858edbe"><div class="ttname"><a href="namespaceripple.html#a75cb21d7f1df42f2fdc8efddb79b63f4ac43369f518d28ae712ad223ab858edbe">ripple::tefMASTER_DISABLED</a></div><div class="ttdeci">@ tefMASTER_DISABLED</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00161">TER.h:161</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a66af773abebf361a8c930c1dc457a740"><div class="ttname"><a href="namespaceripple.html#a66af773abebf361a8c930c1dc457a740">ripple::offerDelete</a></div><div class="ttdeci">TER offerDelete(ApplyView &view, std::shared_ptr< SLE > const &sle, beast::Journal j)</div><div class="ttdoc">Delete an offer.</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l00927">View.cpp:927</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a66af773abebf361a8c930c1dc457a740"><div class="ttname"><a href="namespaceripple.html#a66af773abebf361a8c930c1dc457a740">ripple::offerDelete</a></div><div class="ttdeci">TER offerDelete(ApplyView &view, std::shared_ptr< SLE > const &sle, beast::Journal j)</div><div class="ttdoc">Delete an offer.</div><div class="ttdef"><b>Definition:</b> <a href="View_8cpp_source.html#l00910">View.cpp:910</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Transactor_html_a08d96a396dc3bd9a0a3e39e47e38531c"><div class="ttname"><a href="classripple_1_1Transactor.html#a08d96a396dc3bd9a0a3e39e47e38531c">ripple::Transactor::payFee</a></div><div class="ttdeci">TER payFee()</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8cpp_source.html#l00243">Transactor.cpp:243</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STObject_html_a0d2d874d34a1c3ed432cdb9fb1386b35"><div class="ttname"><a href="classripple_1_1STObject.html#a0d2d874d34a1c3ed432cdb9fb1386b35">ripple::STObject::getAccountID</a></div><div class="ttdeci">AccountID getAccountID(SField const &field) const</div><div class="ttdef"><b>Definition:</b> <a href="STObject_8cpp_source.html#l00589">STObject.cpp:589</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplyContext_html_a6dd28e2ef7cc9935403cbe303ebb5011"><div class="ttname"><a href="classripple_1_1ApplyContext.html#a6dd28e2ef7cc9935403cbe303ebb5011">ripple::ApplyContext::destroyXRP</a></div><div class="ttdeci">void destroyXRP(XRPAmount const &fee)</div><div class="ttdef"><b>Definition:</b> <a href="ApplyContext_8h_source.html#l00099">ApplyContext.h:99</a></div></div>
|
||||
@@ -1160,13 +1200,14 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1STAmount_html"><div class="ttname"><a href="classripple_1_1STAmount.html">ripple::STAmount</a></div><div class="ttdef"><b>Definition:</b> <a href="STAmount_8h_source.html#l00045">STAmount.h:45</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1PreflightContext_html_a027e5fc872737a81a7d2428e6f251c1f"><div class="ttname"><a href="structripple_1_1PreflightContext.html#a027e5fc872737a81a7d2428e6f251c1f">ripple::PreflightContext::app</a></div><div class="ttdeci">Application & app</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8h_source.html#l00034">Transactor.h:34</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplyContext_html_a5967451fa668bfc8b6e6bf763da92aa7"><div class="ttname"><a href="classripple_1_1ApplyContext.html#a5967451fa668bfc8b6e6bf763da92aa7">ripple::ApplyContext::discard</a></div><div class="ttdeci">void discard()</div><div class="ttdoc">Discard changes and start fresh.</div><div class="ttdef"><b>Definition:</b> <a href="ApplyContext_8cpp_source.html#l00051">ApplyContext.cpp:51</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Serializer_html_a394c3299f6cfcebdaa4bc98ec0c602d6"><div class="ttname"><a href="classripple_1_1Serializer.html#a394c3299f6cfcebdaa4bc98ec0c602d6">ripple::Serializer::slice</a></div><div class="ttdeci">Slice slice() const noexcept</div><div class="ttdef"><b>Definition:</b> <a href="Serializer_8h_source.html#l00063">Serializer.h:63</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Serializer_html_a394c3299f6cfcebdaa4bc98ec0c602d6"><div class="ttname"><a href="classripple_1_1Serializer.html#a394c3299f6cfcebdaa4bc98ec0c602d6">ripple::Serializer::slice</a></div><div class="ttdeci">Slice slice() const noexcept</div><div class="ttdef"><b>Definition:</b> <a href="Serializer_8h_source.html#l00064">Serializer.h:64</a></div></div>
|
||||
<div class="ttc" id="aclassbeast_1_1Journal_html_a49b0713e65bb8e2c51b76fbf16252afe"><div class="ttname"><a href="classbeast_1_1Journal.html#a49b0713e65bb8e2c51b76fbf16252afe">beast::Journal::error</a></div><div class="ttdeci">Stream error() const</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00333">Journal.h:333</a></div></div>
|
||||
<div class="ttc" id="aclassbeast_1_1Journal_html_a87d6bd59020d94110027dcab3d9e3357"><div class="ttname"><a href="classbeast_1_1Journal.html#a87d6bd59020d94110027dcab3d9e3357">beast::Journal::info</a></div><div class="ttdeci">Stream info() const</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00321">Journal.h:321</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ReadView_html_ac1d377c35a8332d069b09be8f4008dec"><div class="ttname"><a href="classripple_1_1ReadView.html#ac1d377c35a8332d069b09be8f4008dec">ripple::ReadView::exists</a></div><div class="ttdeci">virtual bool exists(Keylet const &k) const =0</div><div class="ttdoc">Determine if a state item exists.</div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aba5b8db3b6370710dbaadeb4a3b56f6b"><div class="ttname"><a href="namespaceripple.html#aba5b8db3b6370710dbaadeb4a3b56f6b">ripple::fixMasterKeyAsRegularKey</a></div><div class="ttdeci">const uint256 fixMasterKeyAsRegularKey</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STTx_html"><div class="ttname"><a href="classripple_1_1STTx.html">ripple::STTx</a></div><div class="ttdef"><b>Definition:</b> <a href="STTx_8h_source.html#l00045">STTx.h:45</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1SerialIter_html"><div class="ttname"><a href="classripple_1_1SerialIter.html">ripple::SerialIter</a></div><div class="ttdef"><b>Definition:</b> <a href="Serializer_8h_source.html#l00310">Serializer.h:310</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aa298e929e02f59c2b05a30ee8805b38ca19f46e768f97beb3b5d83ae56330aa3a"><div class="ttname"><a href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca19f46e768f97beb3b5d83ae56330aa3a">ripple::tecINSUFF_FEE</a></div><div class="ttdeci">@ tecINSUFF_FEE</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00272">TER.h:272</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1SerialIter_html"><div class="ttname"><a href="classripple_1_1SerialIter.html">ripple::SerialIter</a></div><div class="ttdef"><b>Definition:</b> <a href="Serializer_8h_source.html#l00311">Serializer.h:311</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aa298e929e02f59c2b05a30ee8805b38ca19f46e768f97beb3b5d83ae56330aa3a"><div class="ttname"><a href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca19f46e768f97beb3b5d83ae56330aa3a">ripple::tecINSUFF_FEE</a></div><div class="ttdeci">@ tecINSUFF_FEE</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00273">TER.h:273</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ApplyContext_html"><div class="ttname"><a href="classripple_1_1ApplyContext.html">ripple::ApplyContext</a></div><div class="ttdoc">State information when applying a tx.</div><div class="ttdef"><b>Definition:</b> <a href="ApplyContext_8h_source.html#l00035">ApplyContext.h:35</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STTx_html_a85013803638c7bd4c8cfa952b5445d30"><div class="ttname"><a href="classripple_1_1STTx.html#a85013803638c7bd4c8cfa952b5445d30">ripple::STTx::getSigningPubKey</a></div><div class="ttdeci">Blob getSigningPubKey() const</div><div class="ttdef"><b>Definition:</b> <a href="STTx_8h_source.html#l00185">STTx.h:185</a></div></div>
|
||||
<div class="ttc" id="aclassbeast_1_1Journal_html"><div class="ttname"><a href="classbeast_1_1Journal.html">beast::Journal</a></div><div class="ttdoc">A generic endpoint for log messages.</div><div class="ttdef"><b>Definition:</b> <a href="Journal_8h_source.html#l00058">Journal.h:58</a></div></div>
|
||||
@@ -1185,12 +1226,12 @@ $(function() {
|
||||
<div class="ttc" id="anamespaceripple_html_adebe4d783be9c979e67fdbb2bc27162faa7ab9460c6755719dd1a4e74b83f34c4"><div class="ttname"><a href="namespaceripple.html#adebe4d783be9c979e67fdbb2bc27162faa7ab9460c6755719dd1a4e74b83f34c4">ripple::terNO_ACCOUNT</a></div><div class="ttdeci">@ terNO_ACCOUNT</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00200">TER.h:200</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1PreflightContext_html_a90d5a33561e77a338eaf836fb516b64e"><div class="ttname"><a href="structripple_1_1PreflightContext.html#a90d5a33561e77a338eaf836fb516b64e">ripple::PreflightContext::PreflightContext</a></div><div class="ttdeci">PreflightContext(Application &app_, STTx const &tx_, Rules const &rules_, ApplyFlags flags_, beast::Journal j_)</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8cpp_source.html#l00144">Transactor.cpp:144</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1PreclaimContext_html"><div class="ttname"><a href="structripple_1_1PreclaimContext.html">ripple::PreclaimContext</a></div><div class="ttdoc">State information when determining if a tx is likely to claim a fee.</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8h_source.html#l00052">Transactor.h:52</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Serializer_html"><div class="ttname"><a href="classripple_1_1Serializer.html">ripple::Serializer</a></div><div class="ttdef"><b>Definition:</b> <a href="Serializer_8h_source.html#l00039">Serializer.h:39</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Serializer_html"><div class="ttname"><a href="classripple_1_1Serializer.html">ripple::Serializer</a></div><div class="ttdef"><b>Definition:</b> <a href="Serializer_8h_source.html#l00040">Serializer.h:40</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STObject_html_a7adccac3a1b54244ae210afe7c5916e8"><div class="ttname"><a href="classripple_1_1STObject.html#a7adccac3a1b54244ae210afe7c5916e8">ripple::STObject::add</a></div><div class="ttdeci">void add(Serializer &s) const override</div><div class="ttdef"><b>Definition:</b> <a href="STObject_8cpp_source.html#l00085">STObject.cpp:85</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a75cb21d7f1df42f2fdc8efddb79b63f4a1c70c4f5f6364087e7cbecc243e1618d"><div class="ttname"><a href="namespaceripple.html#a75cb21d7f1df42f2fdc8efddb79b63f4a1c70c4f5f6364087e7cbecc243e1618d">ripple::tefNOT_MULTI_SIGNING</a></div><div class="ttdeci">@ tefNOT_MULTI_SIGNING</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00165">TER.h:165</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1SeqProxy_html_a41c206bf5f44fe0b3f99f2dd42b0259c"><div class="ttname"><a href="classripple_1_1SeqProxy.html#a41c206bf5f44fe0b3f99f2dd42b0259c">ripple::SeqProxy::value</a></div><div class="ttdeci">constexpr std::uint32_t value() const</div><div class="ttdef"><b>Definition:</b> <a href="SeqProxy_8h_source.html#l00082">SeqProxy.h:82</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Transactor_html_af81f796422a3f66771e31a6ecbbbf57b"><div class="ttname"><a href="classripple_1_1Transactor.html#af81f796422a3f66771e31a6ecbbbf57b">ripple::Transactor::reset</a></div><div class="ttdeci">std::pair< TER, XRPAmount > reset(XRPAmount fee)</div><div class="ttdoc">Reset the context, discarding any changes made and adjust the fee.</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8cpp_source.html#l00762">Transactor.cpp:762</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ReadView_html"><div class="ttname"><a href="classripple_1_1ReadView.html">ripple::ReadView</a></div><div class="ttdoc">A view into a ledger.</div><div class="ttdef"><b>Definition:</b> <a href="ReadView_8h_source.html#l00125">ReadView.h:125</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Transactor_html_af81f796422a3f66771e31a6ecbbbf57b"><div class="ttname"><a href="classripple_1_1Transactor.html#af81f796422a3f66771e31a6ecbbbf57b">ripple::Transactor::reset</a></div><div class="ttdeci">std::pair< TER, XRPAmount > reset(XRPAmount fee)</div><div class="ttdoc">Reset the context, discarding any changes made and adjust the fee.</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8cpp_source.html#l00788">Transactor.cpp:788</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ReadView_html"><div class="ttname"><a href="classripple_1_1ReadView.html">ripple::ReadView</a></div><div class="ttdoc">A view into a ledger.</div><div class="ttdef"><b>Definition:</b> <a href="ReadView_8h_source.html#l00054">ReadView.h:54</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html"><div class="ttname"><a href="namespaceripple.html">ripple</a></div><div class="ttdoc">Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.</div><div class="ttdef"><b>Definition:</b> <a href="RCLCensorshipDetector_8h_source.html#l00029">RCLCensorshipDetector.h:29</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Application_html_a2897c28a5b5040e80e66f676d201d03f"><div class="ttname"><a href="classripple_1_1Application.html#a2897c28a5b5040e80e66f676d201d03f">ripple::Application::journal</a></div><div class="ttdeci">virtual beast::Journal journal(std::string const &name)=0</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Config_html_a11b953ea00abeec2a4a0428cd1efcb7e"><div class="ttname"><a href="classripple_1_1Config.html#a11b953ea00abeec2a4a0428cd1efcb7e">ripple::Config::NETWORK_ID</a></div><div class="ttdeci">uint32_t NETWORK_ID</div><div class="ttdef"><b>Definition:</b> <a href="Config_8h_source.html#l00161">Config.h:161</a></div></div>
|
||||
@@ -1199,8 +1240,8 @@ $(function() {
|
||||
<div class="ttc" id="anamespaceripple_html_a75cb21d7f1df42f2fdc8efddb79b63f4a3f96e687e612f385bba979a60694d7b5"><div class="ttname"><a href="namespaceripple.html#a75cb21d7f1df42f2fdc8efddb79b63f4a3f96e687e612f385bba979a60694d7b5">ripple::tefPAST_SEQ</a></div><div class="ttdeci">@ tefPAST_SEQ</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00159">TER.h:159</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Transactor_html_a1ac5d16d7b21e8af9cc94d7af39a85d5"><div class="ttname"><a href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">ripple::Transactor::view</a></div><div class="ttdeci">ApplyView & view()</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8h_source.html#l00107">Transactor.h:107</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_afe21c8454670d46fb93751a5edffed46a37e362d0815fb4c7985f9c0ae6a3d835"><div class="ttname"><a href="namespaceripple.html#afe21c8454670d46fb93751a5edffed46a37e362d0815fb4c7985f9c0ae6a3d835">ripple::temSEQ_AND_TICKET</a></div><div class="ttdeci">@ temSEQ_AND_TICKET</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00124">TER.h:124</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aa298e929e02f59c2b05a30ee8805b38caede598f88bbd44e4df1c4e0d418c4cdc"><div class="ttname"><a href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caede598f88bbd44e4df1c4e0d418c4cdc">ripple::tecEXPIRED</a></div><div class="ttdeci">@ tecEXPIRED</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00284">TER.h:284</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ReadView_html_ac284afc905c482953c35c61b459fd85b"><div class="ttname"><a href="classripple_1_1ReadView.html#ac284afc905c482953c35c61b459fd85b">ripple::ReadView::seq</a></div><div class="ttdeci">LedgerIndex seq() const</div><div class="ttdoc">Returns the sequence number of the base ledger.</div><div class="ttdef"><b>Definition:</b> <a href="ReadView_8h_source.html#l00193">ReadView.h:193</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aa298e929e02f59c2b05a30ee8805b38caede598f88bbd44e4df1c4e0d418c4cdc"><div class="ttname"><a href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38caede598f88bbd44e4df1c4e0d418c4cdc">ripple::tecEXPIRED</a></div><div class="ttdeci">@ tecEXPIRED</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00285">TER.h:285</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ReadView_html_ac284afc905c482953c35c61b459fd85b"><div class="ttname"><a href="classripple_1_1ReadView.html#ac284afc905c482953c35c61b459fd85b">ripple::ReadView::seq</a></div><div class="ttdeci">LedgerIndex seq() const</div><div class="ttdoc">Returns the sequence number of the base ledger.</div><div class="ttdef"><b>Definition:</b> <a href="ReadView_8h_source.html#l00122">ReadView.h:122</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ReadView_html_aaf2fa03be723bb78d8bdf41614a75a30"><div class="ttname"><a href="classripple_1_1ReadView.html#aaf2fa03be723bb78d8bdf41614a75a30">ripple::ReadView::rules</a></div><div class="ttdeci">virtual Rules const & rules() const =0</div><div class="ttdoc">Returns the tx processing rules.</div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ac1371098a8a7c1e1238290d0220dc941"><div class="ttname"><a href="namespaceripple.html#ac1371098a8a7c1e1238290d0220dc941">ripple::sfFlags</a></div><div class="ttdeci">const SF_UINT32 sfFlags</div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a75cb21d7f1df42f2fdc8efddb79b63f4ac01c14dcda25a99606dcd9a039bcaa70"><div class="ttname"><a href="namespaceripple.html#a75cb21d7f1df42f2fdc8efddb79b63f4ac01c14dcda25a99606dcd9a039bcaa70">ripple::tefALREADY</a></div><div class="ttdeci">@ tefALREADY</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00151">TER.h:151</a></div></div>
|
||||
@@ -1227,6 +1268,7 @@ $(function() {
|
||||
<div class="ttc" id="anamespaceripple_html_a13864ec0864daa5d24b70d276414b8ff"><div class="ttname"><a href="namespaceripple.html#a13864ec0864daa5d24b70d276414b8ff">ripple::sfFee</a></div><div class="ttdeci">const SF_AMOUNT sfFee</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Transactor_html_a356c16a6a5d7ccade18cf4c9fb58cc38"><div class="ttname"><a href="classripple_1_1Transactor.html#a356c16a6a5d7ccade18cf4c9fb58cc38">ripple::Transactor::checkFee</a></div><div class="ttdeci">static TER checkFee(PreclaimContext const &ctx, XRPAmount baseFee)</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8cpp_source.html#l00190">Transactor.cpp:190</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a5bab99595719d22579e10d21cf048eb0"><div class="ttname"><a href="namespaceripple.html#a5bab99595719d22579e10d21cf048eb0">ripple::sfAccount</a></div><div class="ttdeci">const SF_ACCOUNT sfAccount</div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_ac151bf19e1f4daae2b04c65c65117139a0dca36851b869200981387f3b9f5cdee"><div class="ttname"><a href="namespaceripple.html#ac151bf19e1f4daae2b04c65c65117139a0dca36851b869200981387f3b9f5cdee">ripple::ltRIPPLE_STATE</a></div><div class="ttdeci">@ ltRIPPLE_STATE</div><div class="ttdoc">A ledger object which describes a bidirectional trust line.</div><div class="ttdef"><b>Definition:</b> <a href="LedgerFormats_8h_source.html#l00074">LedgerFormats.h:74</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a75cb21d7f1df42f2fdc8efddb79b63f4a4d15074a78f6e5cb65ebcd1738117bdb"><div class="ttname"><a href="namespaceripple.html#a75cb21d7f1df42f2fdc8efddb79b63f4a4d15074a78f6e5cb65ebcd1738117bdb">ripple::tefBAD_AUTH_MASTER</a></div><div class="ttdeci">@ tefBAD_AUTH_MASTER</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00166">TER.h:166</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a8ba581584f364d79f3b5020b6a2c66da"><div class="ttname"><a href="namespaceripple.html#a8ba581584f364d79f3b5020b6a2c66da">ripple::removeExpiredNFTokenOffers</a></div><div class="ttdeci">static void removeExpiredNFTokenOffers(ApplyView &view, std::vector< uint256 > const &offers, beast::Journal viewJ)</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8cpp_source.html#l00742">Transactor.cpp:742</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_afe21c8454670d46fb93751a5edffed46a6c750a245b6efb84fdc4ab34dc010328"><div class="ttname"><a href="namespaceripple.html#afe21c8454670d46fb93751a5edffed46a6c750a245b6efb84fdc4ab34dc010328">ripple::temMALFORMED</a></div><div class="ttdeci">@ temMALFORMED</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00085">TER.h:85</a></div></div>
|
||||
@@ -1242,7 +1284,7 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1ApplyContext_html_aaf553f68175966af2a29eafaf78e596e"><div class="ttname"><a href="classripple_1_1ApplyContext.html#aaf553f68175966af2a29eafaf78e596e">ripple::ApplyContext::size</a></div><div class="ttdeci">std::size_t size()</div><div class="ttdoc">Get the number of unapplied changes.</div><div class="ttdef"><b>Definition:</b> <a href="ApplyContext_8cpp_source.html#l00063">ApplyContext.cpp:63</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a6aab406eb9522bb36ba7247335e303ec"><div class="ttname"><a href="namespaceripple.html#a6aab406eb9522bb36ba7247335e303ec">ripple::removeUnfundedOffers</a></div><div class="ttdeci">static void removeUnfundedOffers(ApplyView &view, std::vector< uint256 > const &offers, beast::Journal viewJ)</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8cpp_source.html#l00722">Transactor.cpp:722</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1ReadView_html_a8dc63ee1e4ae7b2f96823e146c53d03e"><div class="ttname"><a href="classripple_1_1ReadView.html#a8dc63ee1e4ae7b2f96823e146c53d03e">ripple::ReadView::open</a></div><div class="ttdeci">virtual bool open() const =0</div><div class="ttdoc">Returns true if this reflects an open ledger.</div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151"><div class="ttname"><a href="namespaceripple.html#aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151">ripple::tesSUCCESS</a></div><div class="ttdeci">@ tesSUCCESS</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00225">TER.h:225</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151"><div class="ttname"><a href="namespaceripple.html#aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151">ripple::tesSUCCESS</a></div><div class="ttdeci">@ tesSUCCESS</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00226">TER.h:226</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Transactor_html_a558a1d4288c859eb5875154a86435220"><div class="ttname"><a href="classripple_1_1Transactor.html#a558a1d4288c859eb5875154a86435220">ripple::Transactor::account_</a></div><div class="ttdeci">const AccountID account_</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8h_source.html#l00091">Transactor.h:91</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Application_html_ab7873738f31780e68f0d12d87fc35356"><div class="ttname"><a href="classripple_1_1Application.html#ab7873738f31780e68f0d12d87fc35356">ripple::Application::getHashRouter</a></div><div class="ttdeci">virtual HashRouter & getHashRouter()=0</div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Transactor_html_ac251aaee739d07ccdd565f2e9d9f336e"><div class="ttname"><a href="classripple_1_1Transactor.html#ac251aaee739d07ccdd565f2e9d9f336e">ripple::Transactor::preCompute</a></div><div class="ttdeci">virtual void preCompute()</div><div class="ttdef"><b>Definition:</b> <a href="Transactor_8cpp_source.html#l00437">Transactor.cpp:437</a></div></div>
|
||||
@@ -1250,11 +1292,11 @@ $(function() {
|
||||
<div class="ttc" id="aclassripple_1_1ApplyContext_html_a8c8757b3b1f88baef47b31ed4e9682d0"><div class="ttname"><a href="classripple_1_1ApplyContext.html#a8c8757b3b1f88baef47b31ed4e9682d0">ripple::ApplyContext::tx</a></div><div class="ttdeci">STTx const & tx</div><div class="ttdef"><b>Definition:</b> <a href="ApplyContext_8h_source.html#l00048">ApplyContext.h:48</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_1_1nft_html_a74236427e71356c6f0a3252a07927e1d"><div class="ttname"><a href="namespaceripple_1_1nft.html#a74236427e71356c6f0a3252a07927e1d">ripple::nft::deleteTokenOffer</a></div><div class="ttdeci">bool deleteTokenOffer(ApplyView &view, std::shared_ptr< SLE > const &offer)</div><div class="ttdoc">Deletes the given token offer.</div><div class="ttdef"><b>Definition:</b> <a href="NFTokenUtils_8cpp_source.html#l00605">NFTokenUtils.cpp:605</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_afe21c8454670d46fb93751a5edffed46a76453a8d513e20754ca7cff63d7546b8"><div class="ttname"><a href="namespaceripple.html#afe21c8454670d46fb93751a5edffed46a76453a8d513e20754ca7cff63d7546b8">ripple::temINVALID</a></div><div class="ttdeci">@ temINVALID</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00108">TER.h:108</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1Fees_html_a64c9587f977c872e926a58401d7d8224"><div class="ttname"><a href="structripple_1_1Fees.html#a64c9587f977c872e926a58401d7d8224">ripple::Fees::base</a></div><div class="ttdeci">XRPAmount base</div><div class="ttdef"><b>Definition:</b> <a href="ReadView_8h_source.html#l00051">ReadView.h:51</a></div></div>
|
||||
<div class="ttc" id="astructripple_1_1Fees_html_a64c9587f977c872e926a58401d7d8224"><div class="ttname"><a href="structripple_1_1Fees.html#a64c9587f977c872e926a58401d7d8224">ripple::Fees::base</a></div><div class="ttdeci">XRPAmount base</div><div class="ttdef"><b>Definition:</b> <a href="protocol_2Fees_8h_source.html#l00034">protocol/Fees.h:34</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_a886ed36db831a964fc5f66ebbb4fe3d0"><div class="ttname"><a href="namespaceripple.html#a886ed36db831a964fc5f66ebbb4fe3d0">ripple::open</a></div><div class="ttdeci">void open(soci::session &s, BasicConfig const &config, std::string const &dbName)</div><div class="ttdoc">Open a soci session.</div><div class="ttdef"><b>Definition:</b> <a href="SociDB_8cpp_source.html#l00098">SociDB.cpp:98</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="anamespaceripple_html_a75cb21d7f1df42f2fdc8efddb79b63f4ab2a35b856d8227d6717984f63aa5a445"><div class="ttname"><a href="namespaceripple.html#a75cb21d7f1df42f2fdc8efddb79b63f4ab2a35b856d8227d6717984f63aa5a445">ripple::tefBAD_SIGNATURE</a></div><div class="ttdeci">@ tefBAD_SIGNATURE</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00163">TER.h:163</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_af99ba2263d2a1e29207c40a35fc9f6b3"><div class="ttname"><a href="namespaceripple.html#af99ba2263d2a1e29207c40a35fc9f6b3">ripple::NotTEC</a></div><div class="ttdeci">TERSubset< CanCvtToNotTEC > NotTEC</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00535">TER.h:535</a></div></div>
|
||||
<div class="ttc" id="anamespaceripple_html_af99ba2263d2a1e29207c40a35fc9f6b3"><div class="ttname"><a href="namespaceripple.html#af99ba2263d2a1e29207c40a35fc9f6b3">ripple::NotTEC</a></div><div class="ttdeci">TERSubset< CanCvtToNotTEC > NotTEC</div><div class="ttdef"><b>Definition:</b> <a href="TER_8h_source.html#l00540">TER.h:540</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1STObject_html_af89b6c7fd94c998549037d0c44a068a1"><div class="ttname"><a href="classripple_1_1STObject.html#af89b6c7fd94c998549037d0c44a068a1">ripple::STObject::getFieldH256</a></div><div class="ttdeci">uint256 getFieldH256(SField const &field) const</div><div class="ttdef"><b>Definition:</b> <a href="STObject_8cpp_source.html#l00583">STObject.cpp:583</a></div></div>
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
|
||||
Reference in New Issue
Block a user