mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-22 03:55:53 +00:00
deploy: 8ac8a47c99
This commit is contained in:
@@ -891,163 +891,162 @@ $(document).ready(function() { init_codefold(0); });
|
||||
<div class="line"><a id="l00789" name="l00789"></a><span class="lineno"> 789</span> <span class="keywordflow">if</span> (bImmediateOrCancel)</div>
|
||||
<div class="line"><a id="l00790" name="l00790"></a><span class="lineno"> 790</span> {</div>
|
||||
<div class="line"><a id="l00791" name="l00791"></a><span class="lineno"> 791</span> JLOG(<a class="code hl_variable" href="classripple_1_1Transactor.html#ab84d1ef5275a1c6c63176c11d72d6235">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>()) << <span class="stringliteral">"Immediate or cancel: offer canceled"</span>;</div>
|
||||
<div class="line"><a id="l00792" name="l00792"></a><span class="lineno"> 792</span> <span class="keywordflow">if</span> (!crossed && sb.<a class="code hl_function" href="classripple_1_1detail_1_1ApplyViewBase.html#af16244cf2efd903b4575a0b85c94d159">rules</a>().<a class="code hl_function" href="classripple_1_1Rules.html#a1a8388a2b9588aa9446ece92a88e0dd2">enabled</a>(featureImmediateOfferKilled))</div>
|
||||
<div class="line"><a id="l00793" name="l00793"></a><span class="lineno"> 793</span> <span class="comment">// If the ImmediateOfferKilled amendment is enabled, any</span></div>
|
||||
<div class="line"><a id="l00794" name="l00794"></a><span class="lineno"> 794</span> <span class="comment">// ImmediateOrCancel offer that transfers absolutely no funds</span></div>
|
||||
<div class="line"><a id="l00795" name="l00795"></a><span class="lineno"> 795</span> <span class="comment">// returns tecKILLED rather than tesSUCCESS. Motivation for the</span></div>
|
||||
<div class="line"><a id="l00796" name="l00796"></a><span class="lineno"> 796</span> <span class="comment">// change is here: https://github.com/ripple/rippled/issues/4115</span></div>
|
||||
<div class="line"><a id="l00797" name="l00797"></a><span class="lineno"> 797</span> <span class="keywordflow">return</span> {<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca82773cd87fbf942a9cb626416218f52b">tecKILLED</a>, <span class="keyword">false</span>};</div>
|
||||
<div class="line"><a id="l00798" name="l00798"></a><span class="lineno"> 798</span> <span class="keywordflow">return</span> {<a class="code hl_enumvalue" href="namespaceripple.html#aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151">tesSUCCESS</a>, <span class="keyword">true</span>};</div>
|
||||
<div class="line"><a id="l00799" name="l00799"></a><span class="lineno"> 799</span> }</div>
|
||||
<div class="line"><a id="l00800" name="l00800"></a><span class="lineno"> 800</span> </div>
|
||||
<div class="line"><a id="l00801" name="l00801"></a><span class="lineno"> 801</span> <span class="keyword">auto</span> <span class="keyword">const</span> sleCreator = sb.<a class="code hl_function" href="classripple_1_1detail_1_1ApplyViewBase.html#afe88196d7aec85f2af00d7cd0b1a28c3">peek</a>(<a class="code hl_function" href="namespaceripple_1_1keylet.html#aa756e0f59b26042ed00a4d0ba6e96951">keylet::account</a>(<a class="code hl_variable" href="classripple_1_1Transactor.html#a803c6fba463ed92ee24e4c056467f20a">account_</a>));</div>
|
||||
<div class="line"><a id="l00802" name="l00802"></a><span class="lineno"> 802</span> <span class="keywordflow">if</span> (!sleCreator)</div>
|
||||
<div class="line"><a id="l00803" name="l00803"></a><span class="lineno"> 803</span> <span class="keywordflow">return</span> {<a class="code hl_enumvalue" href="namespaceripple.html#a75cb21d7f1df42f2fdc8efddb79b63f4ad035d214edc31c72362d7efbdaba234c">tefINTERNAL</a>, <span class="keyword">false</span>};</div>
|
||||
<div class="line"><a id="l00804" name="l00804"></a><span class="lineno"> 804</span> </div>
|
||||
<div class="line"><a id="l00805" name="l00805"></a><span class="lineno"> 805</span> {</div>
|
||||
<div class="line"><a id="l00806" name="l00806"></a><span class="lineno"> 806</span> <a class="code hl_class" href="classripple_1_1XRPAmount.html">XRPAmount</a> reserve =</div>
|
||||
<div class="line"><a id="l00807" name="l00807"></a><span class="lineno"> 807</span> sb.<a class="code hl_function" href="classripple_1_1detail_1_1ApplyViewBase.html#a08bb2668a3260801e8f7d85b4242eb6c">fees</a>().<a class="code hl_function" href="structripple_1_1Fees.html#acb07843d0d0e3ccacd7cf51d5296fe40">accountReserve</a>(sleCreator->getFieldU32(sfOwnerCount) + 1);</div>
|
||||
<div class="line"><a id="l00808" name="l00808"></a><span class="lineno"> 808</span> </div>
|
||||
<div class="line"><a id="l00809" name="l00809"></a><span class="lineno"> 809</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classripple_1_1Transactor.html#abb2f6f5d7fd8c663c5df76b6fcba2c49">mPriorBalance</a> < reserve)</div>
|
||||
<div class="line"><a id="l00810" name="l00810"></a><span class="lineno"> 810</span> {</div>
|
||||
<div class="line"><a id="l00811" name="l00811"></a><span class="lineno"> 811</span> <span class="comment">// If we are here, the signing account had an insufficient reserve</span></div>
|
||||
<div class="line"><a id="l00812" name="l00812"></a><span class="lineno"> 812</span> <span class="comment">// *prior* to our processing. If something actually crossed, then</span></div>
|
||||
<div class="line"><a id="l00813" name="l00813"></a><span class="lineno"> 813</span> <span class="comment">// we allow this; otherwise, we just claim a fee.</span></div>
|
||||
<div class="line"><a id="l00814" name="l00814"></a><span class="lineno"> 814</span> <span class="keywordflow">if</span> (!crossed)</div>
|
||||
<div class="line"><a id="l00815" name="l00815"></a><span class="lineno"> 815</span> result = <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca30792765079d182f869612fc3b96ef8c">tecINSUF_RESERVE_OFFER</a>;</div>
|
||||
<div class="line"><a id="l00816" name="l00816"></a><span class="lineno"> 816</span> </div>
|
||||
<div class="line"><a id="l00817" name="l00817"></a><span class="lineno"> 817</span> <span class="keywordflow">if</span> (result != <a class="code hl_enumvalue" href="namespaceripple.html#aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151">tesSUCCESS</a>)</div>
|
||||
<div class="line"><a id="l00818" name="l00818"></a><span class="lineno"> 818</span> {</div>
|
||||
<div class="line"><a id="l00819" name="l00819"></a><span class="lineno"> 819</span> JLOG(<a class="code hl_variable" href="classripple_1_1Transactor.html#ab84d1ef5275a1c6c63176c11d72d6235">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a556228cb60bcf405c225d3f64b7b01ae">debug</a>()) << <span class="stringliteral">"final result: "</span> << <a class="code hl_function" href="namespaceripple.html#a875ae996b37ed036597d70628ae053e3">transToken</a>(result);</div>
|
||||
<div class="line"><a id="l00820" name="l00820"></a><span class="lineno"> 820</span> }</div>
|
||||
<div class="line"><a id="l00821" name="l00821"></a><span class="lineno"> 821</span> </div>
|
||||
<div class="line"><a id="l00822" name="l00822"></a><span class="lineno"> 822</span> <span class="keywordflow">return</span> {result, <span class="keyword">true</span>};</div>
|
||||
<div class="line"><a id="l00823" name="l00823"></a><span class="lineno"> 823</span> }</div>
|
||||
<div class="line"><a id="l00824" name="l00824"></a><span class="lineno"> 824</span> }</div>
|
||||
<div class="line"><a id="l00825" name="l00825"></a><span class="lineno"> 825</span> </div>
|
||||
<div class="line"><a id="l00826" name="l00826"></a><span class="lineno"> 826</span> <span class="comment">// We need to place the remainder of the offer into its order book.</span></div>
|
||||
<div class="line"><a id="l00827" name="l00827"></a><span class="lineno"> 827</span> <span class="keyword">auto</span> <span class="keyword">const</span> offer_index = <a class="code hl_function" href="namespaceripple_1_1keylet.html#aeffddd45805feb6cc0678738b5c21072">keylet::offer</a>(<a class="code hl_variable" href="classripple_1_1Transactor.html#a803c6fba463ed92ee24e4c056467f20a">account_</a>, offerSequence);</div>
|
||||
<div class="line"><a id="l00828" name="l00828"></a><span class="lineno"> 828</span> </div>
|
||||
<div class="line"><a id="l00829" name="l00829"></a><span class="lineno"> 829</span> <span class="comment">// Add offer to owner's directory.</span></div>
|
||||
<div class="line"><a id="l00830" name="l00830"></a><span class="lineno"> 830</span> <span class="keyword">auto</span> <span class="keyword">const</span> ownerNode = sb.<a class="code hl_function" href="classripple_1_1ApplyView.html#ae21b78e549dc6188382bd49e7d77d473">dirInsert</a>(</div>
|
||||
<div class="line"><a id="l00831" name="l00831"></a><span class="lineno"> 831</span> <a class="code hl_function" href="namespaceripple_1_1keylet.html#acd4d51d467fc6e75745baf179a7965ef">keylet::ownerDir</a>(<a class="code hl_variable" href="classripple_1_1Transactor.html#a803c6fba463ed92ee24e4c056467f20a">account_</a>), offer_index, <a class="code hl_function" href="namespaceripple.html#a5b498122d9b8c1acbeb9fe459faac22b">describeOwnerDir</a>(<a class="code hl_variable" href="classripple_1_1Transactor.html#a803c6fba463ed92ee24e4c056467f20a">account_</a>));</div>
|
||||
<div class="line"><a id="l00832" name="l00832"></a><span class="lineno"> 832</span> </div>
|
||||
<div class="line"><a id="l00833" name="l00833"></a><span class="lineno"> 833</span> <span class="keywordflow">if</span> (!ownerNode)</div>
|
||||
<div class="line"><a id="l00834" name="l00834"></a><span class="lineno"> 834</span> {</div>
|
||||
<div class="line"><a id="l00835" name="l00835"></a><span class="lineno"> 835</span> <span class="comment">// LCOV_EXCL_START</span></div>
|
||||
<div class="line"><a id="l00836" name="l00836"></a><span class="lineno"> 836</span> JLOG(<a class="code hl_variable" href="classripple_1_1Transactor.html#ab84d1ef5275a1c6c63176c11d72d6235">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a556228cb60bcf405c225d3f64b7b01ae">debug</a>())</div>
|
||||
<div class="line"><a id="l00837" name="l00837"></a><span class="lineno"> 837</span> << <span class="stringliteral">"final result: failed to add offer to owner's directory"</span>;</div>
|
||||
<div class="line"><a id="l00838" name="l00838"></a><span class="lineno"> 838</span> <span class="keywordflow">return</span> {<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca4f19fdbc12c26412215f3477f70d5feb">tecDIR_FULL</a>, <span class="keyword">true</span>};</div>
|
||||
<div class="line"><a id="l00839" name="l00839"></a><span class="lineno"> 839</span> <span class="comment">// LCOV_EXCL_STOP</span></div>
|
||||
<div class="line"><a id="l00840" name="l00840"></a><span class="lineno"> 840</span> }</div>
|
||||
<div class="line"><a id="l00841" name="l00841"></a><span class="lineno"> 841</span> </div>
|
||||
<div class="line"><a id="l00842" name="l00842"></a><span class="lineno"> 842</span> <span class="comment">// Update owner count.</span></div>
|
||||
<div class="line"><a id="l00843" name="l00843"></a><span class="lineno"> 843</span> <a class="code hl_function" href="namespaceripple.html#a4e760dff6bf16c74e7ffd43b240718b0">adjustOwnerCount</a>(sb, sleCreator, 1, viewJ);</div>
|
||||
<div class="line"><a id="l00844" name="l00844"></a><span class="lineno"> 844</span> </div>
|
||||
<div class="line"><a id="l00845" name="l00845"></a><span class="lineno"> 845</span> JLOG(<a class="code hl_variable" href="classripple_1_1Transactor.html#ab84d1ef5275a1c6c63176c11d72d6235">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>()) << <span class="stringliteral">"adding to book: "</span> << <a class="code hl_function" href="namespaceripple.html#ac124fe6744b7fe887dec949b56b16d50">to_string</a>(saTakerPays.<a class="code hl_function" href="classripple_1_1STAmount.html#acab76380a95d902071fd26ab3425bbe5">issue</a>())</div>
|
||||
<div class="line"><a id="l00846" name="l00846"></a><span class="lineno"> 846</span> << <span class="stringliteral">" : "</span> << <a class="code hl_function" href="namespaceripple.html#ac124fe6744b7fe887dec949b56b16d50">to_string</a>(saTakerGets.<a class="code hl_function" href="classripple_1_1STAmount.html#acab76380a95d902071fd26ab3425bbe5">issue</a>())</div>
|
||||
<div class="line"><a id="l00847" name="l00847"></a><span class="lineno"> 847</span> << (domainID ? (<span class="stringliteral">" : "</span> + <a class="code hl_function" href="namespaceripple.html#ac124fe6744b7fe887dec949b56b16d50">to_string</a>(*domainID)) : <span class="stringliteral">""</span>);</div>
|
||||
<div class="line"><a id="l00848" name="l00848"></a><span class="lineno"> 848</span> </div>
|
||||
<div class="line"><a id="l00849" name="l00849"></a><span class="lineno"> 849</span> <a class="code hl_class" href="classripple_1_1Book.html">Book</a> <span class="keyword">const</span> book{saTakerPays.<a class="code hl_function" href="classripple_1_1STAmount.html#acab76380a95d902071fd26ab3425bbe5">issue</a>(), saTakerGets.<a class="code hl_function" href="classripple_1_1STAmount.html#acab76380a95d902071fd26ab3425bbe5">issue</a>(), domainID};</div>
|
||||
<div class="line"><a id="l00850" name="l00850"></a><span class="lineno"> 850</span> </div>
|
||||
<div class="line"><a id="l00851" name="l00851"></a><span class="lineno"> 851</span> <span class="comment">// Add offer to order book, using the original rate</span></div>
|
||||
<div class="line"><a id="l00852" name="l00852"></a><span class="lineno"> 852</span> <span class="comment">// before any crossing occured.</span></div>
|
||||
<div class="line"><a id="l00853" name="l00853"></a><span class="lineno"> 853</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a id="l00854" name="l00854"></a><span class="lineno"> 854</span> <span class="comment">// Regular offer - BookDirectory points to open directory</span></div>
|
||||
<div class="line"><a id="l00855" name="l00855"></a><span class="lineno"> 855</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a id="l00856" name="l00856"></a><span class="lineno"> 856</span> <span class="comment">// Domain offer (w/o hyrbid) - BookDirectory points to domain</span></div>
|
||||
<div class="line"><a id="l00857" name="l00857"></a><span class="lineno"> 857</span> <span class="comment">// directory</span></div>
|
||||
<div class="line"><a id="l00858" name="l00858"></a><span class="lineno"> 858</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a id="l00859" name="l00859"></a><span class="lineno"> 859</span> <span class="comment">// Hybrid domain offer - BookDirectory points to domain directory,</span></div>
|
||||
<div class="line"><a id="l00860" name="l00860"></a><span class="lineno"> 860</span> <span class="comment">// and AdditionalBooks field stores one entry that points to the open</span></div>
|
||||
<div class="line"><a id="l00861" name="l00861"></a><span class="lineno"> 861</span> <span class="comment">// directory</span></div>
|
||||
<div class="line"><a id="l00862" name="l00862"></a><span class="lineno"> 862</span> <span class="keyword">auto</span> dir = <a class="code hl_function" href="namespaceripple_1_1keylet.html#a0a100bd2f819f22d2ef41ed7d83a9192">keylet::quality</a>(<a class="code hl_variable" href="namespaceripple_1_1keylet.html#a5dc4ad00b59a4e63406dab067f0fe021">keylet::book</a>(book), uRate);</div>
|
||||
<div class="line"><a id="l00863" name="l00863"></a><span class="lineno"> 863</span> <span class="keywordtype">bool</span> <span class="keyword">const</span> bookExisted = <span class="keyword">static_cast<</span><span class="keywordtype">bool</span><span class="keyword">></span>(sb.<a class="code hl_function" href="classripple_1_1detail_1_1ApplyViewBase.html#afe88196d7aec85f2af00d7cd0b1a28c3">peek</a>(dir));</div>
|
||||
<div class="line"><a id="l00864" name="l00864"></a><span class="lineno"> 864</span> </div>
|
||||
<div class="line"><a id="l00865" name="l00865"></a><span class="lineno"> 865</span> <span class="keyword">auto</span> setBookDir = [&](<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">SLE::ref</a> sle,</div>
|
||||
<div class="line"><a id="l00866" name="l00866"></a><span class="lineno"> 866</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional<uint256></a> <span class="keyword">const</span>& maybeDomain) {</div>
|
||||
<div class="line"><a id="l00867" name="l00867"></a><span class="lineno"> 867</span> sle->setFieldH160(sfTakerPaysCurrency, saTakerPays.<a class="code hl_function" href="classripple_1_1STAmount.html#acab76380a95d902071fd26ab3425bbe5">issue</a>().<a class="code hl_variable" href="classripple_1_1Issue.html#a4b723aa4198e4c630e41de06586e2fe7">currency</a>);</div>
|
||||
<div class="line"><a id="l00868" name="l00868"></a><span class="lineno"> 868</span> sle->setFieldH160(sfTakerPaysIssuer, saTakerPays.<a class="code hl_function" href="classripple_1_1STAmount.html#acab76380a95d902071fd26ab3425bbe5">issue</a>().<a class="code hl_variable" href="classripple_1_1Issue.html#a46e4805870b1bad6a8691bed0b8acec8">account</a>);</div>
|
||||
<div class="line"><a id="l00869" name="l00869"></a><span class="lineno"> 869</span> sle->setFieldH160(sfTakerGetsCurrency, saTakerGets.<a class="code hl_function" href="classripple_1_1STAmount.html#acab76380a95d902071fd26ab3425bbe5">issue</a>().<a class="code hl_variable" href="classripple_1_1Issue.html#a4b723aa4198e4c630e41de06586e2fe7">currency</a>);</div>
|
||||
<div class="line"><a id="l00870" name="l00870"></a><span class="lineno"> 870</span> sle->setFieldH160(sfTakerGetsIssuer, saTakerGets.<a class="code hl_function" href="classripple_1_1STAmount.html#acab76380a95d902071fd26ab3425bbe5">issue</a>().<a class="code hl_variable" href="classripple_1_1Issue.html#a46e4805870b1bad6a8691bed0b8acec8">account</a>);</div>
|
||||
<div class="line"><a id="l00871" name="l00871"></a><span class="lineno"> 871</span> sle->setFieldU64(sfExchangeRate, uRate);</div>
|
||||
<div class="line"><a id="l00872" name="l00872"></a><span class="lineno"> 872</span> <span class="keywordflow">if</span> (maybeDomain)</div>
|
||||
<div class="line"><a id="l00873" name="l00873"></a><span class="lineno"> 873</span> sle->setFieldH256(sfDomainID, *maybeDomain);</div>
|
||||
<div class="line"><a id="l00874" name="l00874"></a><span class="lineno"> 874</span> };</div>
|
||||
<div class="line"><a id="l00875" name="l00875"></a><span class="lineno"> 875</span> </div>
|
||||
<div class="line"><a id="l00876" name="l00876"></a><span class="lineno"> 876</span> <span class="keyword">auto</span> <span class="keyword">const</span> bookNode = sb.<a class="code hl_function" href="classripple_1_1ApplyView.html#a6dc52893f14495b06de08265f6e1e45a">dirAppend</a>(dir, offer_index, [&](<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">SLE::ref</a> sle) {</div>
|
||||
<div class="line"><a id="l00877" name="l00877"></a><span class="lineno"> 877</span> <span class="comment">// sets domainID on book directory if it's a domain offer</span></div>
|
||||
<div class="line"><a id="l00878" name="l00878"></a><span class="lineno"> 878</span> setBookDir(sle, domainID);</div>
|
||||
<div class="line"><a id="l00879" name="l00879"></a><span class="lineno"> 879</span> });</div>
|
||||
<div class="line"><a id="l00880" name="l00880"></a><span class="lineno"> 880</span> </div>
|
||||
<div class="line"><a id="l00881" name="l00881"></a><span class="lineno"> 881</span> <span class="keywordflow">if</span> (!bookNode)</div>
|
||||
<div class="line"><a id="l00882" name="l00882"></a><span class="lineno"> 882</span> {</div>
|
||||
<div class="line"><a id="l00883" name="l00883"></a><span class="lineno"> 883</span> <span class="comment">// LCOV_EXCL_START</span></div>
|
||||
<div class="line"><a id="l00884" name="l00884"></a><span class="lineno"> 884</span> JLOG(<a class="code hl_variable" href="classripple_1_1Transactor.html#ab84d1ef5275a1c6c63176c11d72d6235">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a556228cb60bcf405c225d3f64b7b01ae">debug</a>()) << <span class="stringliteral">"final result: failed to add offer to book"</span>;</div>
|
||||
<div class="line"><a id="l00885" name="l00885"></a><span class="lineno"> 885</span> <span class="keywordflow">return</span> {<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca4f19fdbc12c26412215f3477f70d5feb">tecDIR_FULL</a>, <span class="keyword">true</span>};</div>
|
||||
<div class="line"><a id="l00886" name="l00886"></a><span class="lineno"> 886</span> <span class="comment">// LCOV_EXCL_STOP</span></div>
|
||||
<div class="line"><a id="l00887" name="l00887"></a><span class="lineno"> 887</span> }</div>
|
||||
<div class="line"><a id="l00888" name="l00888"></a><span class="lineno"> 888</span> </div>
|
||||
<div class="line"><a id="l00889" name="l00889"></a><span class="lineno"> 889</span> <span class="keyword">auto</span> sleOffer = <a class="code hl_variableRef" href="http://en.cppreference.com/w/cpp/types/is_same.html">std::make_shared<SLE></a>(offer_index);</div>
|
||||
<div class="line"><a id="l00890" name="l00890"></a><span class="lineno"> 890</span> sleOffer->setAccountID(sfAccount, <a class="code hl_variable" href="classripple_1_1Transactor.html#a803c6fba463ed92ee24e4c056467f20a">account_</a>);</div>
|
||||
<div class="line"><a id="l00891" name="l00891"></a><span class="lineno"> 891</span> sleOffer->setFieldU32(sfSequence, offerSequence);</div>
|
||||
<div class="line"><a id="l00892" name="l00892"></a><span class="lineno"> 892</span> sleOffer->setFieldH256(sfBookDirectory, dir.key);</div>
|
||||
<div class="line"><a id="l00893" name="l00893"></a><span class="lineno"> 893</span> sleOffer->setFieldAmount(sfTakerPays, saTakerPays);</div>
|
||||
<div class="line"><a id="l00894" name="l00894"></a><span class="lineno"> 894</span> sleOffer->setFieldAmount(sfTakerGets, saTakerGets);</div>
|
||||
<div class="line"><a id="l00895" name="l00895"></a><span class="lineno"> 895</span> sleOffer->setFieldU64(sfOwnerNode, *ownerNode);</div>
|
||||
<div class="line"><a id="l00896" name="l00896"></a><span class="lineno"> 896</span> sleOffer->setFieldU64(sfBookNode, *bookNode);</div>
|
||||
<div class="line"><a id="l00897" name="l00897"></a><span class="lineno"> 897</span> <span class="keywordflow">if</span> (expiration)</div>
|
||||
<div class="line"><a id="l00898" name="l00898"></a><span class="lineno"> 898</span> sleOffer->setFieldU32(sfExpiration, *expiration);</div>
|
||||
<div class="line"><a id="l00899" name="l00899"></a><span class="lineno"> 899</span> <span class="keywordflow">if</span> (bPassive)</div>
|
||||
<div class="line"><a id="l00900" name="l00900"></a><span class="lineno"> 900</span> sleOffer->setFlag(<a class="code hl_enumvalue" href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5af5bb4ed279c86f7c4ddfe0b2ed89af00">lsfPassive</a>);</div>
|
||||
<div class="line"><a id="l00901" name="l00901"></a><span class="lineno"> 901</span> <span class="keywordflow">if</span> (bSell)</div>
|
||||
<div class="line"><a id="l00902" name="l00902"></a><span class="lineno"> 902</span> sleOffer->setFlag(<a class="code hl_enumvalue" href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5ab4f5e24467c127ce07228288a7b54760">lsfSell</a>);</div>
|
||||
<div class="line"><a id="l00903" name="l00903"></a><span class="lineno"> 903</span> <span class="keywordflow">if</span> (domainID)</div>
|
||||
<div class="line"><a id="l00904" name="l00904"></a><span class="lineno"> 904</span> sleOffer->setFieldH256(sfDomainID, *domainID);</div>
|
||||
<div class="line"><a id="l00905" name="l00905"></a><span class="lineno"> 905</span> </div>
|
||||
<div class="line"><a id="l00906" name="l00906"></a><span class="lineno"> 906</span> <span class="comment">// if it's a hybrid offer, set hybrid flag, and create an open dir</span></div>
|
||||
<div class="line"><a id="l00907" name="l00907"></a><span class="lineno"> 907</span> <span class="keywordflow">if</span> (bHybrid)</div>
|
||||
<div class="line"><a id="l00908" name="l00908"></a><span class="lineno"> 908</span> {</div>
|
||||
<div class="line"><a id="l00909" name="l00909"></a><span class="lineno"> 909</span> <span class="keyword">auto</span> <span class="keyword">const</span> res = <a class="code hl_function" href="classripple_1_1CreateOffer.html#ab9e0f2e14fa541676412a148b4823f4c">applyHybrid</a>(</div>
|
||||
<div class="line"><a id="l00910" name="l00910"></a><span class="lineno"> 910</span> sb, sleOffer, offer_index, saTakerPays, saTakerGets, setBookDir);</div>
|
||||
<div class="line"><a id="l00911" name="l00911"></a><span class="lineno"> 911</span> <span class="keywordflow">if</span> (res != <a class="code hl_enumvalue" href="namespaceripple.html#aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151">tesSUCCESS</a>)</div>
|
||||
<div class="line"><a id="l00912" name="l00912"></a><span class="lineno"> 912</span> <span class="keywordflow">return</span> {res, <span class="keyword">true</span>}; <span class="comment">// LCOV_EXCL_LINE</span></div>
|
||||
<div class="line"><a id="l00913" name="l00913"></a><span class="lineno"> 913</span> }</div>
|
||||
<div class="line"><a id="l00914" name="l00914"></a><span class="lineno"> 914</span> </div>
|
||||
<div class="line"><a id="l00915" name="l00915"></a><span class="lineno"> 915</span> sb.<a class="code hl_function" href="classripple_1_1detail_1_1ApplyViewBase.html#a669490ced7bb2cab3a6cc704bc7286df">insert</a>(sleOffer);</div>
|
||||
<div class="line"><a id="l00916" name="l00916"></a><span class="lineno"> 916</span> </div>
|
||||
<div class="line"><a id="l00917" name="l00917"></a><span class="lineno"> 917</span> <span class="keywordflow">if</span> (!bookExisted)</div>
|
||||
<div class="line"><a id="l00918" name="l00918"></a><span class="lineno"> 918</span> <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_variable" href="classripple_1_1ApplyContext.html#a6ec1f10e560afe30ed435c3f7eea715d">app</a>.<a class="code hl_function" href="classripple_1_1Application.html#a477219b05fb65f86a6dee712bf778280">getOrderBookDB</a>().<a class="code hl_function" href="classripple_1_1OrderBookDB.html#a0faba63ac03924d89a07b2dd69bcd206">addOrderBook</a>(book);</div>
|
||||
<div class="line"><a id="l00919" name="l00919"></a><span class="lineno"> 919</span> </div>
|
||||
<div class="line"><a id="l00920" name="l00920"></a><span class="lineno"> 920</span> JLOG(<a class="code hl_variable" href="classripple_1_1Transactor.html#ab84d1ef5275a1c6c63176c11d72d6235">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a556228cb60bcf405c225d3f64b7b01ae">debug</a>()) << <span class="stringliteral">"final result: success"</span>;</div>
|
||||
<div class="line"><a id="l00921" name="l00921"></a><span class="lineno"> 921</span> </div>
|
||||
<div class="line"><a id="l00922" name="l00922"></a><span class="lineno"> 922</span> <span class="keywordflow">return</span> {<a class="code hl_enumvalue" href="namespaceripple.html#aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151">tesSUCCESS</a>, <span class="keyword">true</span>};</div>
|
||||
<div class="line"><a id="l00923" name="l00923"></a><span class="lineno"> 923</span>}</div>
|
||||
<div class="line"><a id="l00792" name="l00792"></a><span class="lineno"> 792</span> <span class="keywordflow">if</span> (!crossed)</div>
|
||||
<div class="line"><a id="l00793" name="l00793"></a><span class="lineno"> 793</span> <span class="comment">// Any ImmediateOrCancel offer that transfers absolutely no funds</span></div>
|
||||
<div class="line"><a id="l00794" name="l00794"></a><span class="lineno"> 794</span> <span class="comment">// returns tecKILLED rather than tesSUCCESS. Motivation for the</span></div>
|
||||
<div class="line"><a id="l00795" name="l00795"></a><span class="lineno"> 795</span> <span class="comment">// change is here: https://github.com/ripple/rippled/issues/4115</span></div>
|
||||
<div class="line"><a id="l00796" name="l00796"></a><span class="lineno"> 796</span> <span class="keywordflow">return</span> {<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca82773cd87fbf942a9cb626416218f52b">tecKILLED</a>, <span class="keyword">false</span>};</div>
|
||||
<div class="line"><a id="l00797" name="l00797"></a><span class="lineno"> 797</span> <span class="keywordflow">return</span> {<a class="code hl_enumvalue" href="namespaceripple.html#aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151">tesSUCCESS</a>, <span class="keyword">true</span>};</div>
|
||||
<div class="line"><a id="l00798" name="l00798"></a><span class="lineno"> 798</span> }</div>
|
||||
<div class="line"><a id="l00799" name="l00799"></a><span class="lineno"> 799</span> </div>
|
||||
<div class="line"><a id="l00800" name="l00800"></a><span class="lineno"> 800</span> <span class="keyword">auto</span> <span class="keyword">const</span> sleCreator = sb.<a class="code hl_function" href="classripple_1_1detail_1_1ApplyViewBase.html#afe88196d7aec85f2af00d7cd0b1a28c3">peek</a>(<a class="code hl_function" href="namespaceripple_1_1keylet.html#aa756e0f59b26042ed00a4d0ba6e96951">keylet::account</a>(<a class="code hl_variable" href="classripple_1_1Transactor.html#a803c6fba463ed92ee24e4c056467f20a">account_</a>));</div>
|
||||
<div class="line"><a id="l00801" name="l00801"></a><span class="lineno"> 801</span> <span class="keywordflow">if</span> (!sleCreator)</div>
|
||||
<div class="line"><a id="l00802" name="l00802"></a><span class="lineno"> 802</span> <span class="keywordflow">return</span> {<a class="code hl_enumvalue" href="namespaceripple.html#a75cb21d7f1df42f2fdc8efddb79b63f4ad035d214edc31c72362d7efbdaba234c">tefINTERNAL</a>, <span class="keyword">false</span>};</div>
|
||||
<div class="line"><a id="l00803" name="l00803"></a><span class="lineno"> 803</span> </div>
|
||||
<div class="line"><a id="l00804" name="l00804"></a><span class="lineno"> 804</span> {</div>
|
||||
<div class="line"><a id="l00805" name="l00805"></a><span class="lineno"> 805</span> <a class="code hl_class" href="classripple_1_1XRPAmount.html">XRPAmount</a> reserve =</div>
|
||||
<div class="line"><a id="l00806" name="l00806"></a><span class="lineno"> 806</span> sb.<a class="code hl_function" href="classripple_1_1detail_1_1ApplyViewBase.html#a08bb2668a3260801e8f7d85b4242eb6c">fees</a>().<a class="code hl_function" href="structripple_1_1Fees.html#acb07843d0d0e3ccacd7cf51d5296fe40">accountReserve</a>(sleCreator->getFieldU32(sfOwnerCount) + 1);</div>
|
||||
<div class="line"><a id="l00807" name="l00807"></a><span class="lineno"> 807</span> </div>
|
||||
<div class="line"><a id="l00808" name="l00808"></a><span class="lineno"> 808</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classripple_1_1Transactor.html#abb2f6f5d7fd8c663c5df76b6fcba2c49">mPriorBalance</a> < reserve)</div>
|
||||
<div class="line"><a id="l00809" name="l00809"></a><span class="lineno"> 809</span> {</div>
|
||||
<div class="line"><a id="l00810" name="l00810"></a><span class="lineno"> 810</span> <span class="comment">// If we are here, the signing account had an insufficient reserve</span></div>
|
||||
<div class="line"><a id="l00811" name="l00811"></a><span class="lineno"> 811</span> <span class="comment">// *prior* to our processing. If something actually crossed, then</span></div>
|
||||
<div class="line"><a id="l00812" name="l00812"></a><span class="lineno"> 812</span> <span class="comment">// we allow this; otherwise, we just claim a fee.</span></div>
|
||||
<div class="line"><a id="l00813" name="l00813"></a><span class="lineno"> 813</span> <span class="keywordflow">if</span> (!crossed)</div>
|
||||
<div class="line"><a id="l00814" name="l00814"></a><span class="lineno"> 814</span> result = <a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca30792765079d182f869612fc3b96ef8c">tecINSUF_RESERVE_OFFER</a>;</div>
|
||||
<div class="line"><a id="l00815" name="l00815"></a><span class="lineno"> 815</span> </div>
|
||||
<div class="line"><a id="l00816" name="l00816"></a><span class="lineno"> 816</span> <span class="keywordflow">if</span> (result != <a class="code hl_enumvalue" href="namespaceripple.html#aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151">tesSUCCESS</a>)</div>
|
||||
<div class="line"><a id="l00817" name="l00817"></a><span class="lineno"> 817</span> {</div>
|
||||
<div class="line"><a id="l00818" name="l00818"></a><span class="lineno"> 818</span> JLOG(<a class="code hl_variable" href="classripple_1_1Transactor.html#ab84d1ef5275a1c6c63176c11d72d6235">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a556228cb60bcf405c225d3f64b7b01ae">debug</a>()) << <span class="stringliteral">"final result: "</span> << <a class="code hl_function" href="namespaceripple.html#a875ae996b37ed036597d70628ae053e3">transToken</a>(result);</div>
|
||||
<div class="line"><a id="l00819" name="l00819"></a><span class="lineno"> 819</span> }</div>
|
||||
<div class="line"><a id="l00820" name="l00820"></a><span class="lineno"> 820</span> </div>
|
||||
<div class="line"><a id="l00821" name="l00821"></a><span class="lineno"> 821</span> <span class="keywordflow">return</span> {result, <span class="keyword">true</span>};</div>
|
||||
<div class="line"><a id="l00822" name="l00822"></a><span class="lineno"> 822</span> }</div>
|
||||
<div class="line"><a id="l00823" name="l00823"></a><span class="lineno"> 823</span> }</div>
|
||||
<div class="line"><a id="l00824" name="l00824"></a><span class="lineno"> 824</span> </div>
|
||||
<div class="line"><a id="l00825" name="l00825"></a><span class="lineno"> 825</span> <span class="comment">// We need to place the remainder of the offer into its order book.</span></div>
|
||||
<div class="line"><a id="l00826" name="l00826"></a><span class="lineno"> 826</span> <span class="keyword">auto</span> <span class="keyword">const</span> offer_index = <a class="code hl_function" href="namespaceripple_1_1keylet.html#aeffddd45805feb6cc0678738b5c21072">keylet::offer</a>(<a class="code hl_variable" href="classripple_1_1Transactor.html#a803c6fba463ed92ee24e4c056467f20a">account_</a>, offerSequence);</div>
|
||||
<div class="line"><a id="l00827" name="l00827"></a><span class="lineno"> 827</span> </div>
|
||||
<div class="line"><a id="l00828" name="l00828"></a><span class="lineno"> 828</span> <span class="comment">// Add offer to owner's directory.</span></div>
|
||||
<div class="line"><a id="l00829" name="l00829"></a><span class="lineno"> 829</span> <span class="keyword">auto</span> <span class="keyword">const</span> ownerNode = sb.<a class="code hl_function" href="classripple_1_1ApplyView.html#ae21b78e549dc6188382bd49e7d77d473">dirInsert</a>(</div>
|
||||
<div class="line"><a id="l00830" name="l00830"></a><span class="lineno"> 830</span> <a class="code hl_function" href="namespaceripple_1_1keylet.html#acd4d51d467fc6e75745baf179a7965ef">keylet::ownerDir</a>(<a class="code hl_variable" href="classripple_1_1Transactor.html#a803c6fba463ed92ee24e4c056467f20a">account_</a>), offer_index, <a class="code hl_function" href="namespaceripple.html#a5b498122d9b8c1acbeb9fe459faac22b">describeOwnerDir</a>(<a class="code hl_variable" href="classripple_1_1Transactor.html#a803c6fba463ed92ee24e4c056467f20a">account_</a>));</div>
|
||||
<div class="line"><a id="l00831" name="l00831"></a><span class="lineno"> 831</span> </div>
|
||||
<div class="line"><a id="l00832" name="l00832"></a><span class="lineno"> 832</span> <span class="keywordflow">if</span> (!ownerNode)</div>
|
||||
<div class="line"><a id="l00833" name="l00833"></a><span class="lineno"> 833</span> {</div>
|
||||
<div class="line"><a id="l00834" name="l00834"></a><span class="lineno"> 834</span> <span class="comment">// LCOV_EXCL_START</span></div>
|
||||
<div class="line"><a id="l00835" name="l00835"></a><span class="lineno"> 835</span> JLOG(<a class="code hl_variable" href="classripple_1_1Transactor.html#ab84d1ef5275a1c6c63176c11d72d6235">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a556228cb60bcf405c225d3f64b7b01ae">debug</a>())</div>
|
||||
<div class="line"><a id="l00836" name="l00836"></a><span class="lineno"> 836</span> << <span class="stringliteral">"final result: failed to add offer to owner's directory"</span>;</div>
|
||||
<div class="line"><a id="l00837" name="l00837"></a><span class="lineno"> 837</span> <span class="keywordflow">return</span> {<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca4f19fdbc12c26412215f3477f70d5feb">tecDIR_FULL</a>, <span class="keyword">true</span>};</div>
|
||||
<div class="line"><a id="l00838" name="l00838"></a><span class="lineno"> 838</span> <span class="comment">// LCOV_EXCL_STOP</span></div>
|
||||
<div class="line"><a id="l00839" name="l00839"></a><span class="lineno"> 839</span> }</div>
|
||||
<div class="line"><a id="l00840" name="l00840"></a><span class="lineno"> 840</span> </div>
|
||||
<div class="line"><a id="l00841" name="l00841"></a><span class="lineno"> 841</span> <span class="comment">// Update owner count.</span></div>
|
||||
<div class="line"><a id="l00842" name="l00842"></a><span class="lineno"> 842</span> <a class="code hl_function" href="namespaceripple.html#a4e760dff6bf16c74e7ffd43b240718b0">adjustOwnerCount</a>(sb, sleCreator, 1, viewJ);</div>
|
||||
<div class="line"><a id="l00843" name="l00843"></a><span class="lineno"> 843</span> </div>
|
||||
<div class="line"><a id="l00844" name="l00844"></a><span class="lineno"> 844</span> JLOG(<a class="code hl_variable" href="classripple_1_1Transactor.html#ab84d1ef5275a1c6c63176c11d72d6235">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#abbe082bd27ca0f1d1365af2824e4f85b">trace</a>()) << <span class="stringliteral">"adding to book: "</span> << <a class="code hl_function" href="namespaceripple.html#ac124fe6744b7fe887dec949b56b16d50">to_string</a>(saTakerPays.<a class="code hl_function" href="classripple_1_1STAmount.html#acab76380a95d902071fd26ab3425bbe5">issue</a>())</div>
|
||||
<div class="line"><a id="l00845" name="l00845"></a><span class="lineno"> 845</span> << <span class="stringliteral">" : "</span> << <a class="code hl_function" href="namespaceripple.html#ac124fe6744b7fe887dec949b56b16d50">to_string</a>(saTakerGets.<a class="code hl_function" href="classripple_1_1STAmount.html#acab76380a95d902071fd26ab3425bbe5">issue</a>())</div>
|
||||
<div class="line"><a id="l00846" name="l00846"></a><span class="lineno"> 846</span> << (domainID ? (<span class="stringliteral">" : "</span> + <a class="code hl_function" href="namespaceripple.html#ac124fe6744b7fe887dec949b56b16d50">to_string</a>(*domainID)) : <span class="stringliteral">""</span>);</div>
|
||||
<div class="line"><a id="l00847" name="l00847"></a><span class="lineno"> 847</span> </div>
|
||||
<div class="line"><a id="l00848" name="l00848"></a><span class="lineno"> 848</span> <a class="code hl_class" href="classripple_1_1Book.html">Book</a> <span class="keyword">const</span> book{saTakerPays.<a class="code hl_function" href="classripple_1_1STAmount.html#acab76380a95d902071fd26ab3425bbe5">issue</a>(), saTakerGets.<a class="code hl_function" href="classripple_1_1STAmount.html#acab76380a95d902071fd26ab3425bbe5">issue</a>(), domainID};</div>
|
||||
<div class="line"><a id="l00849" name="l00849"></a><span class="lineno"> 849</span> </div>
|
||||
<div class="line"><a id="l00850" name="l00850"></a><span class="lineno"> 850</span> <span class="comment">// Add offer to order book, using the original rate</span></div>
|
||||
<div class="line"><a id="l00851" name="l00851"></a><span class="lineno"> 851</span> <span class="comment">// before any crossing occured.</span></div>
|
||||
<div class="line"><a id="l00852" name="l00852"></a><span class="lineno"> 852</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a id="l00853" name="l00853"></a><span class="lineno"> 853</span> <span class="comment">// Regular offer - BookDirectory points to open directory</span></div>
|
||||
<div class="line"><a id="l00854" name="l00854"></a><span class="lineno"> 854</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a id="l00855" name="l00855"></a><span class="lineno"> 855</span> <span class="comment">// Domain offer (w/o hyrbid) - BookDirectory points to domain</span></div>
|
||||
<div class="line"><a id="l00856" name="l00856"></a><span class="lineno"> 856</span> <span class="comment">// directory</span></div>
|
||||
<div class="line"><a id="l00857" name="l00857"></a><span class="lineno"> 857</span> <span class="comment">//</span></div>
|
||||
<div class="line"><a id="l00858" name="l00858"></a><span class="lineno"> 858</span> <span class="comment">// Hybrid domain offer - BookDirectory points to domain directory,</span></div>
|
||||
<div class="line"><a id="l00859" name="l00859"></a><span class="lineno"> 859</span> <span class="comment">// and AdditionalBooks field stores one entry that points to the open</span></div>
|
||||
<div class="line"><a id="l00860" name="l00860"></a><span class="lineno"> 860</span> <span class="comment">// directory</span></div>
|
||||
<div class="line"><a id="l00861" name="l00861"></a><span class="lineno"> 861</span> <span class="keyword">auto</span> dir = <a class="code hl_function" href="namespaceripple_1_1keylet.html#a0a100bd2f819f22d2ef41ed7d83a9192">keylet::quality</a>(<a class="code hl_variable" href="namespaceripple_1_1keylet.html#a5dc4ad00b59a4e63406dab067f0fe021">keylet::book</a>(book), uRate);</div>
|
||||
<div class="line"><a id="l00862" name="l00862"></a><span class="lineno"> 862</span> <span class="keywordtype">bool</span> <span class="keyword">const</span> bookExisted = <span class="keyword">static_cast<</span><span class="keywordtype">bool</span><span class="keyword">></span>(sb.<a class="code hl_function" href="classripple_1_1detail_1_1ApplyViewBase.html#afe88196d7aec85f2af00d7cd0b1a28c3">peek</a>(dir));</div>
|
||||
<div class="line"><a id="l00863" name="l00863"></a><span class="lineno"> 863</span> </div>
|
||||
<div class="line"><a id="l00864" name="l00864"></a><span class="lineno"> 864</span> <span class="keyword">auto</span> setBookDir = [&](<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">SLE::ref</a> sle,</div>
|
||||
<div class="line"><a id="l00865" name="l00865"></a><span class="lineno"> 865</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional<uint256></a> <span class="keyword">const</span>& maybeDomain) {</div>
|
||||
<div class="line"><a id="l00866" name="l00866"></a><span class="lineno"> 866</span> sle->setFieldH160(sfTakerPaysCurrency, saTakerPays.<a class="code hl_function" href="classripple_1_1STAmount.html#acab76380a95d902071fd26ab3425bbe5">issue</a>().<a class="code hl_variable" href="classripple_1_1Issue.html#a4b723aa4198e4c630e41de06586e2fe7">currency</a>);</div>
|
||||
<div class="line"><a id="l00867" name="l00867"></a><span class="lineno"> 867</span> sle->setFieldH160(sfTakerPaysIssuer, saTakerPays.<a class="code hl_function" href="classripple_1_1STAmount.html#acab76380a95d902071fd26ab3425bbe5">issue</a>().<a class="code hl_variable" href="classripple_1_1Issue.html#a46e4805870b1bad6a8691bed0b8acec8">account</a>);</div>
|
||||
<div class="line"><a id="l00868" name="l00868"></a><span class="lineno"> 868</span> sle->setFieldH160(sfTakerGetsCurrency, saTakerGets.<a class="code hl_function" href="classripple_1_1STAmount.html#acab76380a95d902071fd26ab3425bbe5">issue</a>().<a class="code hl_variable" href="classripple_1_1Issue.html#a4b723aa4198e4c630e41de06586e2fe7">currency</a>);</div>
|
||||
<div class="line"><a id="l00869" name="l00869"></a><span class="lineno"> 869</span> sle->setFieldH160(sfTakerGetsIssuer, saTakerGets.<a class="code hl_function" href="classripple_1_1STAmount.html#acab76380a95d902071fd26ab3425bbe5">issue</a>().<a class="code hl_variable" href="classripple_1_1Issue.html#a46e4805870b1bad6a8691bed0b8acec8">account</a>);</div>
|
||||
<div class="line"><a id="l00870" name="l00870"></a><span class="lineno"> 870</span> sle->setFieldU64(sfExchangeRate, uRate);</div>
|
||||
<div class="line"><a id="l00871" name="l00871"></a><span class="lineno"> 871</span> <span class="keywordflow">if</span> (maybeDomain)</div>
|
||||
<div class="line"><a id="l00872" name="l00872"></a><span class="lineno"> 872</span> sle->setFieldH256(sfDomainID, *maybeDomain);</div>
|
||||
<div class="line"><a id="l00873" name="l00873"></a><span class="lineno"> 873</span> };</div>
|
||||
<div class="line"><a id="l00874" name="l00874"></a><span class="lineno"> 874</span> </div>
|
||||
<div class="line"><a id="l00875" name="l00875"></a><span class="lineno"> 875</span> <span class="keyword">auto</span> <span class="keyword">const</span> bookNode = sb.<a class="code hl_function" href="classripple_1_1ApplyView.html#a6dc52893f14495b06de08265f6e1e45a">dirAppend</a>(dir, offer_index, [&](<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">SLE::ref</a> sle) {</div>
|
||||
<div class="line"><a id="l00876" name="l00876"></a><span class="lineno"> 876</span> <span class="comment">// sets domainID on book directory if it's a domain offer</span></div>
|
||||
<div class="line"><a id="l00877" name="l00877"></a><span class="lineno"> 877</span> setBookDir(sle, domainID);</div>
|
||||
<div class="line"><a id="l00878" name="l00878"></a><span class="lineno"> 878</span> });</div>
|
||||
<div class="line"><a id="l00879" name="l00879"></a><span class="lineno"> 879</span> </div>
|
||||
<div class="line"><a id="l00880" name="l00880"></a><span class="lineno"> 880</span> <span class="keywordflow">if</span> (!bookNode)</div>
|
||||
<div class="line"><a id="l00881" name="l00881"></a><span class="lineno"> 881</span> {</div>
|
||||
<div class="line"><a id="l00882" name="l00882"></a><span class="lineno"> 882</span> <span class="comment">// LCOV_EXCL_START</span></div>
|
||||
<div class="line"><a id="l00883" name="l00883"></a><span class="lineno"> 883</span> JLOG(<a class="code hl_variable" href="classripple_1_1Transactor.html#ab84d1ef5275a1c6c63176c11d72d6235">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a556228cb60bcf405c225d3f64b7b01ae">debug</a>()) << <span class="stringliteral">"final result: failed to add offer to book"</span>;</div>
|
||||
<div class="line"><a id="l00884" name="l00884"></a><span class="lineno"> 884</span> <span class="keywordflow">return</span> {<a class="code hl_enumvalue" href="namespaceripple.html#aa298e929e02f59c2b05a30ee8805b38ca4f19fdbc12c26412215f3477f70d5feb">tecDIR_FULL</a>, <span class="keyword">true</span>};</div>
|
||||
<div class="line"><a id="l00885" name="l00885"></a><span class="lineno"> 885</span> <span class="comment">// LCOV_EXCL_STOP</span></div>
|
||||
<div class="line"><a id="l00886" name="l00886"></a><span class="lineno"> 886</span> }</div>
|
||||
<div class="line"><a id="l00887" name="l00887"></a><span class="lineno"> 887</span> </div>
|
||||
<div class="line"><a id="l00888" name="l00888"></a><span class="lineno"> 888</span> <span class="keyword">auto</span> sleOffer = <a class="code hl_variableRef" href="http://en.cppreference.com/w/cpp/types/is_same.html">std::make_shared<SLE></a>(offer_index);</div>
|
||||
<div class="line"><a id="l00889" name="l00889"></a><span class="lineno"> 889</span> sleOffer->setAccountID(sfAccount, <a class="code hl_variable" href="classripple_1_1Transactor.html#a803c6fba463ed92ee24e4c056467f20a">account_</a>);</div>
|
||||
<div class="line"><a id="l00890" name="l00890"></a><span class="lineno"> 890</span> sleOffer->setFieldU32(sfSequence, offerSequence);</div>
|
||||
<div class="line"><a id="l00891" name="l00891"></a><span class="lineno"> 891</span> sleOffer->setFieldH256(sfBookDirectory, dir.key);</div>
|
||||
<div class="line"><a id="l00892" name="l00892"></a><span class="lineno"> 892</span> sleOffer->setFieldAmount(sfTakerPays, saTakerPays);</div>
|
||||
<div class="line"><a id="l00893" name="l00893"></a><span class="lineno"> 893</span> sleOffer->setFieldAmount(sfTakerGets, saTakerGets);</div>
|
||||
<div class="line"><a id="l00894" name="l00894"></a><span class="lineno"> 894</span> sleOffer->setFieldU64(sfOwnerNode, *ownerNode);</div>
|
||||
<div class="line"><a id="l00895" name="l00895"></a><span class="lineno"> 895</span> sleOffer->setFieldU64(sfBookNode, *bookNode);</div>
|
||||
<div class="line"><a id="l00896" name="l00896"></a><span class="lineno"> 896</span> <span class="keywordflow">if</span> (expiration)</div>
|
||||
<div class="line"><a id="l00897" name="l00897"></a><span class="lineno"> 897</span> sleOffer->setFieldU32(sfExpiration, *expiration);</div>
|
||||
<div class="line"><a id="l00898" name="l00898"></a><span class="lineno"> 898</span> <span class="keywordflow">if</span> (bPassive)</div>
|
||||
<div class="line"><a id="l00899" name="l00899"></a><span class="lineno"> 899</span> sleOffer->setFlag(<a class="code hl_enumvalue" href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5af5bb4ed279c86f7c4ddfe0b2ed89af00">lsfPassive</a>);</div>
|
||||
<div class="line"><a id="l00900" name="l00900"></a><span class="lineno"> 900</span> <span class="keywordflow">if</span> (bSell)</div>
|
||||
<div class="line"><a id="l00901" name="l00901"></a><span class="lineno"> 901</span> sleOffer->setFlag(<a class="code hl_enumvalue" href="namespaceripple.html#a4a9c7b33fef9015d6406302ef80b63c5ab4f5e24467c127ce07228288a7b54760">lsfSell</a>);</div>
|
||||
<div class="line"><a id="l00902" name="l00902"></a><span class="lineno"> 902</span> <span class="keywordflow">if</span> (domainID)</div>
|
||||
<div class="line"><a id="l00903" name="l00903"></a><span class="lineno"> 903</span> sleOffer->setFieldH256(sfDomainID, *domainID);</div>
|
||||
<div class="line"><a id="l00904" name="l00904"></a><span class="lineno"> 904</span> </div>
|
||||
<div class="line"><a id="l00905" name="l00905"></a><span class="lineno"> 905</span> <span class="comment">// if it's a hybrid offer, set hybrid flag, and create an open dir</span></div>
|
||||
<div class="line"><a id="l00906" name="l00906"></a><span class="lineno"> 906</span> <span class="keywordflow">if</span> (bHybrid)</div>
|
||||
<div class="line"><a id="l00907" name="l00907"></a><span class="lineno"> 907</span> {</div>
|
||||
<div class="line"><a id="l00908" name="l00908"></a><span class="lineno"> 908</span> <span class="keyword">auto</span> <span class="keyword">const</span> res = <a class="code hl_function" href="classripple_1_1CreateOffer.html#ab9e0f2e14fa541676412a148b4823f4c">applyHybrid</a>(</div>
|
||||
<div class="line"><a id="l00909" name="l00909"></a><span class="lineno"> 909</span> sb, sleOffer, offer_index, saTakerPays, saTakerGets, setBookDir);</div>
|
||||
<div class="line"><a id="l00910" name="l00910"></a><span class="lineno"> 910</span> <span class="keywordflow">if</span> (res != <a class="code hl_enumvalue" href="namespaceripple.html#aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151">tesSUCCESS</a>)</div>
|
||||
<div class="line"><a id="l00911" name="l00911"></a><span class="lineno"> 911</span> <span class="keywordflow">return</span> {res, <span class="keyword">true</span>}; <span class="comment">// LCOV_EXCL_LINE</span></div>
|
||||
<div class="line"><a id="l00912" name="l00912"></a><span class="lineno"> 912</span> }</div>
|
||||
<div class="line"><a id="l00913" name="l00913"></a><span class="lineno"> 913</span> </div>
|
||||
<div class="line"><a id="l00914" name="l00914"></a><span class="lineno"> 914</span> sb.<a class="code hl_function" href="classripple_1_1detail_1_1ApplyViewBase.html#a669490ced7bb2cab3a6cc704bc7286df">insert</a>(sleOffer);</div>
|
||||
<div class="line"><a id="l00915" name="l00915"></a><span class="lineno"> 915</span> </div>
|
||||
<div class="line"><a id="l00916" name="l00916"></a><span class="lineno"> 916</span> <span class="keywordflow">if</span> (!bookExisted)</div>
|
||||
<div class="line"><a id="l00917" name="l00917"></a><span class="lineno"> 917</span> <a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_variable" href="classripple_1_1ApplyContext.html#a6ec1f10e560afe30ed435c3f7eea715d">app</a>.<a class="code hl_function" href="classripple_1_1Application.html#a477219b05fb65f86a6dee712bf778280">getOrderBookDB</a>().<a class="code hl_function" href="classripple_1_1OrderBookDB.html#a0faba63ac03924d89a07b2dd69bcd206">addOrderBook</a>(book);</div>
|
||||
<div class="line"><a id="l00918" name="l00918"></a><span class="lineno"> 918</span> </div>
|
||||
<div class="line"><a id="l00919" name="l00919"></a><span class="lineno"> 919</span> JLOG(<a class="code hl_variable" href="classripple_1_1Transactor.html#ab84d1ef5275a1c6c63176c11d72d6235">j_</a>.<a class="code hl_function" href="classbeast_1_1Journal.html#a556228cb60bcf405c225d3f64b7b01ae">debug</a>()) << <span class="stringliteral">"final result: success"</span>;</div>
|
||||
<div class="line"><a id="l00920" name="l00920"></a><span class="lineno"> 920</span> </div>
|
||||
<div class="line"><a id="l00921" name="l00921"></a><span class="lineno"> 921</span> <span class="keywordflow">return</span> {<a class="code hl_enumvalue" href="namespaceripple.html#aabc7f150d5082c73116a1cd5962b434da28c7d8b3ed759d363503a05fcd59f151">tesSUCCESS</a>, <span class="keyword">true</span>};</div>
|
||||
<div class="line"><a id="l00922" name="l00922"></a><span class="lineno"> 922</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00924" name="l00924"></a><span class="lineno"> 924</span> </div>
|
||||
<div class="line"><a id="l00925" name="l00925"></a><span class="lineno"> 925</span><a class="code hl_class" href="classripple_1_1TERSubset.html">TER</a></div>
|
||||
<div class="foldopen" id="foldopen00926" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00926" name="l00926"></a><span class="lineno"><a class="line" href="classripple_1_1CreateOffer.html#ae8670d9db3224f61491379bfeaf6719f"> 926</a></span><a class="code hl_function" href="classripple_1_1CreateOffer.html#ae8670d9db3224f61491379bfeaf6719f">CreateOffer::doApply</a>()</div>
|
||||
<div class="line"><a id="l00927" name="l00927"></a><span class="lineno"> 927</span>{</div>
|
||||
<div class="line"><a id="l00928" name="l00928"></a><span class="lineno"> 928</span> <span class="comment">// This is the ledger view that we work against. Transactions are applied</span></div>
|
||||
<div class="line"><a id="l00929" name="l00929"></a><span class="lineno"> 929</span> <span class="comment">// as we go on processing transactions.</span></div>
|
||||
<div class="line"><a id="l00930" name="l00930"></a><span class="lineno"> 930</span> <a class="code hl_class" href="classripple_1_1Sandbox.html">Sandbox</a> sb(&<a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_function" href="classripple_1_1ApplyContext.html#a44c249b16b2cedb1224a96592407558d">view</a>());</div>
|
||||
<div class="line"><a id="l00931" name="l00931"></a><span class="lineno"> 931</span> </div>
|
||||
<div class="line"><a id="l00932" name="l00932"></a><span class="lineno"> 932</span> <span class="comment">// This is a ledger with just the fees paid and any unfunded or expired</span></div>
|
||||
<div class="line"><a id="l00933" name="l00933"></a><span class="lineno"> 933</span> <span class="comment">// offers we encounter removed. It's used when handling Fill-or-Kill offers,</span></div>
|
||||
<div class="line"><a id="l00934" name="l00934"></a><span class="lineno"> 934</span> <span class="comment">// if the order isn't going to be placed, to avoid wasting the work we did.</span></div>
|
||||
<div class="line"><a id="l00935" name="l00935"></a><span class="lineno"> 935</span> <a class="code hl_class" href="classripple_1_1Sandbox.html">Sandbox</a> sbCancel(&<a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_function" href="classripple_1_1ApplyContext.html#a44c249b16b2cedb1224a96592407558d">view</a>());</div>
|
||||
<div class="line"><a id="l00936" name="l00936"></a><span class="lineno"> 936</span> </div>
|
||||
<div class="line"><a id="l00937" name="l00937"></a><span class="lineno"> 937</span> <span class="keyword">auto</span> <span class="keyword">const</span> result = <a class="code hl_function" href="classripple_1_1CreateOffer.html#af1e3edb1dcc853bf59a5c63f366f29e9">applyGuts</a>(sb, sbCancel);</div>
|
||||
<div class="line"><a id="l00938" name="l00938"></a><span class="lineno"> 938</span> <span class="keywordflow">if</span> (result.second)</div>
|
||||
<div class="line"><a id="l00939" name="l00939"></a><span class="lineno"> 939</span> sb.<a class="code hl_function" href="classripple_1_1Sandbox.html#af027065a92ed80c4b54b08d7974c06ce">apply</a>(<a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_function" href="classripple_1_1ApplyContext.html#a1e569090b00ae5425ebb48c1befe794f">rawView</a>());</div>
|
||||
<div class="line"><a id="l00940" name="l00940"></a><span class="lineno"> 940</span> <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a id="l00941" name="l00941"></a><span class="lineno"> 941</span> sbCancel.<a class="code hl_function" href="classripple_1_1Sandbox.html#af027065a92ed80c4b54b08d7974c06ce">apply</a>(<a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_function" href="classripple_1_1ApplyContext.html#a1e569090b00ae5425ebb48c1befe794f">rawView</a>());</div>
|
||||
<div class="line"><a id="l00942" name="l00942"></a><span class="lineno"> 942</span> <span class="keywordflow">return</span> result.first;</div>
|
||||
<div class="line"><a id="l00943" name="l00943"></a><span class="lineno"> 943</span>}</div>
|
||||
<div class="line"><a id="l00923" name="l00923"></a><span class="lineno"> 923</span> </div>
|
||||
<div class="line"><a id="l00924" name="l00924"></a><span class="lineno"> 924</span><a class="code hl_class" href="classripple_1_1TERSubset.html">TER</a></div>
|
||||
<div class="foldopen" id="foldopen00925" data-start="{" data-end="}">
|
||||
<div class="line"><a id="l00925" name="l00925"></a><span class="lineno"><a class="line" href="classripple_1_1CreateOffer.html#ae8670d9db3224f61491379bfeaf6719f"> 925</a></span><a class="code hl_function" href="classripple_1_1CreateOffer.html#ae8670d9db3224f61491379bfeaf6719f">CreateOffer::doApply</a>()</div>
|
||||
<div class="line"><a id="l00926" name="l00926"></a><span class="lineno"> 926</span>{</div>
|
||||
<div class="line"><a id="l00927" name="l00927"></a><span class="lineno"> 927</span> <span class="comment">// This is the ledger view that we work against. Transactions are applied</span></div>
|
||||
<div class="line"><a id="l00928" name="l00928"></a><span class="lineno"> 928</span> <span class="comment">// as we go on processing transactions.</span></div>
|
||||
<div class="line"><a id="l00929" name="l00929"></a><span class="lineno"> 929</span> <a class="code hl_class" href="classripple_1_1Sandbox.html">Sandbox</a> sb(&<a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_function" href="classripple_1_1ApplyContext.html#a44c249b16b2cedb1224a96592407558d">view</a>());</div>
|
||||
<div class="line"><a id="l00930" name="l00930"></a><span class="lineno"> 930</span> </div>
|
||||
<div class="line"><a id="l00931" name="l00931"></a><span class="lineno"> 931</span> <span class="comment">// This is a ledger with just the fees paid and any unfunded or expired</span></div>
|
||||
<div class="line"><a id="l00932" name="l00932"></a><span class="lineno"> 932</span> <span class="comment">// offers we encounter removed. It's used when handling Fill-or-Kill offers,</span></div>
|
||||
<div class="line"><a id="l00933" name="l00933"></a><span class="lineno"> 933</span> <span class="comment">// if the order isn't going to be placed, to avoid wasting the work we did.</span></div>
|
||||
<div class="line"><a id="l00934" name="l00934"></a><span class="lineno"> 934</span> <a class="code hl_class" href="classripple_1_1Sandbox.html">Sandbox</a> sbCancel(&<a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_function" href="classripple_1_1ApplyContext.html#a44c249b16b2cedb1224a96592407558d">view</a>());</div>
|
||||
<div class="line"><a id="l00935" name="l00935"></a><span class="lineno"> 935</span> </div>
|
||||
<div class="line"><a id="l00936" name="l00936"></a><span class="lineno"> 936</span> <span class="keyword">auto</span> <span class="keyword">const</span> result = <a class="code hl_function" href="classripple_1_1CreateOffer.html#af1e3edb1dcc853bf59a5c63f366f29e9">applyGuts</a>(sb, sbCancel);</div>
|
||||
<div class="line"><a id="l00937" name="l00937"></a><span class="lineno"> 937</span> <span class="keywordflow">if</span> (result.second)</div>
|
||||
<div class="line"><a id="l00938" name="l00938"></a><span class="lineno"> 938</span> sb.<a class="code hl_function" href="classripple_1_1Sandbox.html#af027065a92ed80c4b54b08d7974c06ce">apply</a>(<a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_function" href="classripple_1_1ApplyContext.html#a1e569090b00ae5425ebb48c1befe794f">rawView</a>());</div>
|
||||
<div class="line"><a id="l00939" name="l00939"></a><span class="lineno"> 939</span> <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a id="l00940" name="l00940"></a><span class="lineno"> 940</span> sbCancel.<a class="code hl_function" href="classripple_1_1Sandbox.html#af027065a92ed80c4b54b08d7974c06ce">apply</a>(<a class="code hl_variable" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a>.<a class="code hl_function" href="classripple_1_1ApplyContext.html#a1e569090b00ae5425ebb48c1befe794f">rawView</a>());</div>
|
||||
<div class="line"><a id="l00941" name="l00941"></a><span class="lineno"> 941</span> <span class="keywordflow">return</span> result.first;</div>
|
||||
<div class="line"><a id="l00942" name="l00942"></a><span class="lineno"> 942</span>}</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00944" name="l00944"></a><span class="lineno"> 944</span> </div>
|
||||
<div class="line"><a id="l00945" name="l00945"></a><span class="lineno"> 945</span>} <span class="comment">// namespace ripple</span></div>
|
||||
<div class="line"><a id="l00943" name="l00943"></a><span class="lineno"> 943</span> </div>
|
||||
<div class="line"><a id="l00944" name="l00944"></a><span class="lineno"> 944</span>} <span class="comment">// namespace ripple</span></div>
|
||||
<div class="ttc" id="abasic_string_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a></div></div>
|
||||
<div class="ttc" id="aclassbeast_1_1Journal_html"><div class="ttname"><a href="classbeast_1_1Journal.html">beast::Journal</a></div><div class="ttdoc">A generic endpoint for log messages.</div><div class="ttdef"><b>Definition</b> <a href="Journal_8h_source.html#l00059">Journal.h:60</a></div></div>
|
||||
<div class="ttc" id="aclassbeast_1_1Journal_html_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#l00352">Journal.h:352</a></div></div>
|
||||
@@ -1071,7 +1070,7 @@ $(document).ready(function() { init_codefold(0); });
|
||||
<div class="ttc" id="aclassripple_1_1CreateOffer_html_aaa97cf694b007c7c9be9b3d0b939a740"><div class="ttname"><a href="classripple_1_1CreateOffer.html#aaa97cf694b007c7c9be9b3d0b939a740">ripple::CreateOffer::preflight</a></div><div class="ttdeci">static NotTEC preflight(PreflightContext const &ctx)</div><div class="ttdoc">Enforce constraints beyond those of the Transactor base class.</div><div class="ttdef"><b>Definition</b> <a href="CreateOffer_8cpp_source.html#l00069">CreateOffer.cpp:69</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1CreateOffer_html_ab442fb88a4d07d65dc92fbc2746166a3"><div class="ttname"><a href="classripple_1_1CreateOffer.html#ab442fb88a4d07d65dc92fbc2746166a3">ripple::CreateOffer::makeTxConsequences</a></div><div class="ttdeci">static TxConsequences makeTxConsequences(PreflightContext const &ctx)</div><div class="ttdef"><b>Definition</b> <a href="CreateOffer_8cpp_source.html#l00036">CreateOffer.cpp:36</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1CreateOffer_html_ab9e0f2e14fa541676412a148b4823f4c"><div class="ttname"><a href="classripple_1_1CreateOffer.html#ab9e0f2e14fa541676412a148b4823f4c">ripple::CreateOffer::applyHybrid</a></div><div class="ttdeci">TER applyHybrid(Sandbox &sb, std::shared_ptr< STLedgerEntry > sleOffer, Keylet const &offer_index, STAmount const &saTakerPays, STAmount const &saTakerGets, std::function< void(SLE::ref, std::optional< uint256 >)> const &setDir)</div><div class="ttdef"><b>Definition</b> <a href="CreateOffer_8cpp_source.html#l00520">CreateOffer.cpp:520</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1CreateOffer_html_ae8670d9db3224f61491379bfeaf6719f"><div class="ttname"><a href="classripple_1_1CreateOffer.html#ae8670d9db3224f61491379bfeaf6719f">ripple::CreateOffer::doApply</a></div><div class="ttdeci">TER doApply() override</div><div class="ttdoc">Precondition: fee collection is likely.</div><div class="ttdef"><b>Definition</b> <a href="CreateOffer_8cpp_source.html#l00926">CreateOffer.cpp:926</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1CreateOffer_html_ae8670d9db3224f61491379bfeaf6719f"><div class="ttname"><a href="classripple_1_1CreateOffer.html#ae8670d9db3224f61491379bfeaf6719f">ripple::CreateOffer::doApply</a></div><div class="ttdeci">TER doApply() override</div><div class="ttdoc">Precondition: fee collection is likely.</div><div class="ttdef"><b>Definition</b> <a href="CreateOffer_8cpp_source.html#l00925">CreateOffer.cpp:925</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1CreateOffer_html_aeaf64b9c0dab10a57613cd96eced0ed0"><div class="ttname"><a href="classripple_1_1CreateOffer.html#aeaf64b9c0dab10a57613cd96eced0ed0">ripple::CreateOffer::checkExtraFeatures</a></div><div class="ttdeci">static bool checkExtraFeatures(PreflightContext const &ctx)</div><div class="ttdef"><b>Definition</b> <a href="CreateOffer_8cpp_source.html#l00047">CreateOffer.cpp:47</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1CreateOffer_html_af1e3edb1dcc853bf59a5c63f366f29e9"><div class="ttname"><a href="classripple_1_1CreateOffer.html#af1e3edb1dcc853bf59a5c63f366f29e9">ripple::CreateOffer::applyGuts</a></div><div class="ttdeci">std::pair< TER, bool > applyGuts(Sandbox &view, Sandbox &view_cancel)</div><div class="ttdef"><b>Definition</b> <a href="CreateOffer_8cpp_source.html#l00568">CreateOffer.cpp:568</a></div></div>
|
||||
<div class="ttc" id="aclassripple_1_1Issue_html"><div class="ttname"><a href="classripple_1_1Issue.html">ripple::Issue</a></div><div class="ttdoc">A currency issued by an account.</div><div class="ttdef"><b>Definition</b> <a href="Issue_8h_source.html#l00032">Issue.h:33</a></div></div>
|
||||
|
||||
Reference in New Issue
Block a user