Files
rippled/classripple_1_1AMMWithdraw.html
2023-10-19 17:04:44 +00:00

1688 lines
102 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>rippled: ripple::AMMWithdraw Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">rippled
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespaceripple.html">ripple</a></li><li class="navelem"><a class="el" href="classripple_1_1AMMWithdraw.html">AMMWithdraw</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-static-methods">Static Private Member Functions</a> &#124;
<a href="classripple_1_1AMMWithdraw-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">ripple::AMMWithdraw Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a class="el" href="classripple_1_1AMMWithdraw.html" title="AMMWithdraw implements AMM withdraw Transactor.">AMMWithdraw</a> implements AMM withdraw <a class="el" href="classripple_1_1Transactor.html">Transactor</a>.
<a href="classripple_1_1AMMWithdraw.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for ripple::AMMWithdraw:</div>
<div class="dyncontent">
<div class="center"><img src="classripple_1_1AMMWithdraw__inherit__graph.png" border="0" usemap="#ripple_1_1AMMWithdraw_inherit__map" alt="Inheritance graph"/></div>
<map name="ripple_1_1AMMWithdraw_inherit__map" id="ripple_1_1AMMWithdraw_inherit__map">
<area shape="rect" title="AMMWithdraw implements AMM withdraw Transactor." alt="" coords="5,80,165,107"/>
<area shape="rect" href="classripple_1_1Transactor.html" title=" " alt="" coords="18,5,153,32"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for ripple::AMMWithdraw:</div>
<div class="dyncontent">
<div class="center"><img src="classripple_1_1AMMWithdraw__coll__graph.png" border="0" usemap="#ripple_1_1AMMWithdraw_coll__map" alt="Collaboration graph"/></div>
<map name="ripple_1_1AMMWithdraw_coll__map" id="ripple_1_1AMMWithdraw_coll__map">
<area shape="rect" title="AMMWithdraw implements AMM withdraw Transactor." alt="" coords="2027,684,2187,711"/>
<area shape="rect" href="classripple_1_1Transactor.html" title=" " alt="" coords="1843,684,1977,711"/>
<area shape="rect" href="classripple_1_1ApplyContext.html" title="State information when applying a tx." alt="" coords="1585,768,1740,795"/>
<area shape="rect" href="classripple_1_1TERSubset.html" title=" " alt="" coords="1252,727,1399,769"/>
<area shape="rect" href="classripple_1_1Application.html" title=" " alt="" coords="1255,151,1395,177"/>
<area shape="rect" href="classbeast_1_1PropertyStream_1_1Source.html" title="Subclasses can be called to write to a stream and have children." alt="" coords="950,75,1118,117"/>
<area shape="rect" href="classbeast_1_1PropertyStream_1_1Item.html" title=" " alt="" coords="1241,77,1409,118"/>
<area shape="rect" href="http://en.cppreference.com/w/cpp/thread/recursive_mutex.html" title="STL class." alt="" coords="574,80,733,107"/>
<area shape="rect" href="http://en.cppreference.com/w/cpp/string/basic_string.html" title="STL class." alt="" coords="610,131,697,157"/>
<area shape="rect" href="classbeast_1_1List.html" title=" " alt="" coords="561,14,746,55"/>
<area shape="rect" href="classbeast_1_1detail_1_1ListNode.html" title=" " alt="" coords="243,7,425,63"/>
<area shape="rect" href="http://en.cppreference.com/w/cpp/types/size_t.html" title=" " alt="" coords="290,219,378,245"/>
<area shape="rect" href="classripple_1_1base__uint.html" title=" " alt="" coords="583,377,724,418"/>
<area shape="rect" href="classripple_1_1STTx.html" title=" " alt="" coords="985,316,1083,343"/>
<area shape="rect" href="classripple_1_1base__uint.html" title="Integers of any length that is a multiple of 32&#45;bits." alt="" coords="583,182,724,223"/>
<area shape="rect" title=" " alt="" coords="961,161,1107,188"/>
<area shape="rect" href="classripple_1_1OpenView.html" title="Writable ledger view that accumulates state and tx changes." alt="" coords="1259,859,1392,885"/>
<area shape="rect" href="classripple_1_1ReadView.html" title="A view into a ledger." alt="" coords="969,557,1099,584"/>
<area shape="rect" href="classripple_1_1detail_1_1ReadViewFwdRange.html" title=" " alt="" coords="1237,444,1413,500"/>
<area shape="rect" href="classripple_1_1detail_1_1ReadViewFwdRange.html" title=" " alt="" coords="1237,378,1413,419"/>
<area shape="rect" href="structripple_1_1ReadView_1_1sles__type.html" title=" " alt="" coords="1563,487,1763,513"/>
<area shape="rect" href="structripple_1_1ReadView_1_1txs__type.html" title=" " alt="" coords="1565,576,1760,603"/>
<area shape="rect" href="classripple_1_1TxsRawView.html" title="Interface for changing ledger entries with transactions." alt="" coords="959,1087,1109,1113"/>
<area shape="rect" href="classripple_1_1RawView.html" title="Interface for ledger entry changes." alt="" coords="590,1087,717,1113"/>
<area shape="rect" href="classripple_1_1detail_1_1RawStateTable.html" title=" " alt="" coords="947,958,1121,999"/>
<area shape="rect" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html" title=" " alt="" coords="552,987,755,1043"/>
<area shape="rect" href="classripple_1_1XRPAmount.html" title=" " alt="" coords="582,841,725,868"/>
<area shape="rect" href="structripple_1_1LedgerHeader.html" title="Information about the notional ledger backing the view." alt="" coords="955,712,1113,739"/>
<area shape="rect" title=" " alt="" coords="251,735,417,777"/>
<area shape="rect" title=" " alt="" coords="221,801,447,828"/>
<area shape="rect" title=" " alt="" coords="229,853,439,894"/>
<area shape="rect" title=" " alt="" coords="227,918,441,959"/>
<area shape="rect" href="http://en.cppreference.com/w/cpp/types/integer.html" title=" " alt="" coords="287,984,381,1011"/>
<area shape="rect" href="classripple_1_1Rules.html" title="Rules controlling protocol behavior." alt="" coords="983,623,1085,649"/>
<area shape="rect" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html" title=" " alt="" coords="568,553,739,594"/>
<area shape="rect" href="classripple_1_1Rules_1_1Impl.html" title=" " alt="" coords="265,633,403,660"/>
<area shape="rect" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html" title=" " alt="" coords="953,893,1115,934"/>
<area shape="rect" href="http://en.cppreference.com/w/cpp/types/integer.html" title=" " alt="" coords="5,663,108,689"/>
<area shape="rect" href="http://en.cppreference.com/w/cpp/container/array.html" title=" " alt="" coords="250,333,418,374"/>
<area shape="rect" href="http://en.cppreference.com/w/cpp/chrono/duration.html" title=" " alt="" coords="575,735,731,777"/>
<area shape="rect" href="http://en.cppreference.com/w/cpp/chrono/time_point.html" title=" " alt="" coords="567,618,739,659"/>
<area shape="rect" href="classripple_1_1STObject.html" title=" " alt="" coords="591,483,716,509"/>
<area shape="rect" href="classripple_1_1STBase.html" title="A type which can be exported to a well known binary format." alt="" coords="277,516,391,543"/>
<area shape="rect" href="classripple_1_1CountedObject.html" title=" " alt="" coords="253,567,415,609"/>
<area shape="rect" href="classripple_1_1SOTemplate.html" title="Defines the fields and their attributes within a STObject." alt="" coords="261,399,407,425"/>
<area shape="rect" href="http://en.cppreference.com/w/cpp/container/vector.html" title=" " alt="" coords="263,450,405,491"/>
<area shape="rect" href="classripple_1_1CountedObject.html" title=" " alt="" coords="572,247,735,289"/>
<area shape="rect" href="http://en.cppreference.com/w/cpp/utility/optional.html" title=" " alt="" coords="1248,793,1403,834"/>
<area shape="rect" href="classbeast_1_1Journal.html" title="A generic endpoint for log messages." alt="" coords="1270,988,1381,1015"/>
<area shape="rect" href="classbeast_1_1Journal_1_1Sink.html" title="Abstraction for the underlying message destination." alt="" coords="961,1137,1107,1164"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a5c6d16e9402d182a835f50b37ce9a938"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Transactor.html#a5c6d16e9402d182a835f50b37ce9a938">ConsequencesFactoryType</a> { <a class="el" href="classripple_1_1Transactor.html#a5c6d16e9402d182a835f50b37ce9a938aa45cb725337de0d627f42b7ebf4be91f">Normal</a>,
<a class="el" href="classripple_1_1Transactor.html#a5c6d16e9402d182a835f50b37ce9a938a55caa0901cae976168bf23f19bc3e8f4">Blocker</a>,
<a class="el" href="classripple_1_1Transactor.html#a5c6d16e9402d182a835f50b37ce9a938a429832eac6b9ee7b50a1265131cd2845">Custom</a>
}</td></tr>
<tr class="separator:a5c6d16e9402d182a835f50b37ce9a938"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a345ddd0ca98b576c85173513861b6366"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1AMMWithdraw.html#a345ddd0ca98b576c85173513861b6366">AMMWithdraw</a> (<a class="el" href="classripple_1_1ApplyContext.html">ApplyContext</a> &amp;ctx)</td></tr>
<tr class="separator:a345ddd0ca98b576c85173513861b6366"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad366e7ecc17ab21d3fb406c334df6b0e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">TER</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1AMMWithdraw.html#ad366e7ecc17ab21d3fb406c334df6b0e">doApply</a> () override</td></tr>
<tr class="separator:ad366e7ecc17ab21d3fb406c334df6b0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fbe596dea21ad7ed639ab48ab0dbe0a"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>&lt; <a class="el" href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">TER</a>, bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Transactor.html#a6fbe596dea21ad7ed639ab48ab0dbe0a">operator()</a> ()</td></tr>
<tr class="memdesc:a6fbe596dea21ad7ed639ab48ab0dbe0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Process the transaction. <a href="classripple_1_1Transactor.html#a6fbe596dea21ad7ed639ab48ab0dbe0a">More...</a><br /></td></tr>
<tr class="separator:a6fbe596dea21ad7ed639ab48ab0dbe0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ac5d16d7b21e8af9cc94d7af39a85d5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1ApplyView.html">ApplyView</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a> ()</td></tr>
<tr class="separator:a1ac5d16d7b21e8af9cc94d7af39a85d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d58eb0d4fb1e2f9f952994fea0fe2bf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1ApplyView.html">ApplyView</a> const &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Transactor.html#a4d58eb0d4fb1e2f9f952994fea0fe2bf">view</a> () const</td></tr>
<tr class="separator:a4d58eb0d4fb1e2f9f952994fea0fe2bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:acf1048871867fae517d6e38c09f9ffd8"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespaceripple.html#af99ba2263d2a1e29207c40a35fc9f6b3">NotTEC</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1AMMWithdraw.html#acf1048871867fae517d6e38c09f9ffd8">preflight</a> (<a class="el" href="structripple_1_1PreflightContext.html">PreflightContext</a> const &amp;ctx)</td></tr>
<tr class="separator:acf1048871867fae517d6e38c09f9ffd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac65c94e120bdb3957a6951fab2af6c29"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">TER</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1AMMWithdraw.html#ac65c94e120bdb3957a6951fab2af6c29">preclaim</a> (<a class="el" href="structripple_1_1PreclaimContext.html">PreclaimContext</a> const &amp;ctx)</td></tr>
<tr class="separator:ac65c94e120bdb3957a6951fab2af6c29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a433ee7a44770c882927f2eedf20e6c71"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespaceripple.html#af99ba2263d2a1e29207c40a35fc9f6b3">NotTEC</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Transactor.html#a433ee7a44770c882927f2eedf20e6c71">checkSeqProxy</a> (<a class="el" href="classripple_1_1ReadView.html">ReadView</a> const &amp;<a class="el" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>, <a class="el" href="classripple_1_1STTx.html">STTx</a> const &amp;tx, <a class="el" href="classbeast_1_1Journal.html">beast::Journal</a> j)</td></tr>
<tr class="separator:a433ee7a44770c882927f2eedf20e6c71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f3af178ae553ba91b5893fbcc4ade7f"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespaceripple.html#af99ba2263d2a1e29207c40a35fc9f6b3">NotTEC</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Transactor.html#a2f3af178ae553ba91b5893fbcc4ade7f">checkPriorTxAndLastLedger</a> (<a class="el" href="structripple_1_1PreclaimContext.html">PreclaimContext</a> const &amp;ctx)</td></tr>
<tr class="separator:a2f3af178ae553ba91b5893fbcc4ade7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a356c16a6a5d7ccade18cf4c9fb58cc38"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">TER</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Transactor.html#a356c16a6a5d7ccade18cf4c9fb58cc38">checkFee</a> (<a class="el" href="structripple_1_1PreclaimContext.html">PreclaimContext</a> const &amp;ctx, <a class="el" href="classripple_1_1XRPAmount.html">XRPAmount</a> baseFee)</td></tr>
<tr class="separator:a356c16a6a5d7ccade18cf4c9fb58cc38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4501e41a5df4853bb93e7f85ec6abaf7"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespaceripple.html#af99ba2263d2a1e29207c40a35fc9f6b3">NotTEC</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Transactor.html#a4501e41a5df4853bb93e7f85ec6abaf7">checkSign</a> (<a class="el" href="structripple_1_1PreclaimContext.html">PreclaimContext</a> const &amp;ctx)</td></tr>
<tr class="separator:a4501e41a5df4853bb93e7f85ec6abaf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a428581db1f9eea2f41cf9e371a1e557d"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classripple_1_1XRPAmount.html">XRPAmount</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Transactor.html#a428581db1f9eea2f41cf9e371a1e557d">calculateBaseFee</a> (<a class="el" href="classripple_1_1ReadView.html">ReadView</a> const &amp;<a class="el" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>, <a class="el" href="classripple_1_1STTx.html">STTx</a> const &amp;tx)</td></tr>
<tr class="separator:a428581db1f9eea2f41cf9e371a1e557d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac424955fc06a7eb920a93fe517ad8d69"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">TER</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Transactor.html#ac424955fc06a7eb920a93fe517ad8d69">ticketDelete</a> (<a class="el" href="classripple_1_1ApplyView.html">ApplyView</a> &amp;<a class="el" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>, <a class="el" href="namespaceripple.html#a00ae0d729cb3e35b6bcac9a27ebb5284">AccountID</a> const &amp;account, <a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const &amp;ticketIndex, <a class="el" href="classbeast_1_1Journal.html">beast::Journal</a> j)</td></tr>
<tr class="separator:ac424955fc06a7eb920a93fe517ad8d69"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a951edc48bf0cee75293ce82b7ba7b61c"><td class="memItemLeft" align="right" valign="top">static constexpr <a class="el" href="classripple_1_1Transactor.html#a5c6d16e9402d182a835f50b37ce9a938">ConsequencesFactoryType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1AMMWithdraw.html#a951edc48bf0cee75293ce82b7ba7b61c">ConsequencesFactory</a> {<a class="el" href="classripple_1_1Transactor.html#a5c6d16e9402d182a835f50b37ce9a938aa45cb725337de0d627f42b7ebf4be91f">Normal</a>}</td></tr>
<tr class="separator:a951edc48bf0cee75293ce82b7ba7b61c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:ac2faaa3bfd1c9b9f91ae24f367474d0f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">TER</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Transactor.html#ac2faaa3bfd1c9b9f91ae24f367474d0f">apply</a> ()</td></tr>
<tr class="separator:ac2faaa3bfd1c9b9f91ae24f367474d0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac251aaee739d07ccdd565f2e9d9f336e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Transactor.html#ac251aaee739d07ccdd565f2e9d9f336e">preCompute</a> ()</td></tr>
<tr class="separator:ac251aaee739d07ccdd565f2e9d9f336e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
Static Protected Member Functions</h2></td></tr>
<tr class="memitem:a5c4568739676c5335b8d63dc375f7920"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classripple_1_1XRPAmount.html">XRPAmount</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Transactor.html#a5c4568739676c5335b8d63dc375f7920">minimumFee</a> (<a class="el" href="classripple_1_1Application.html">Application</a> &amp;app, <a class="el" href="classripple_1_1XRPAmount.html">XRPAmount</a> baseFee, <a class="el" href="structripple_1_1Fees.html">Fees</a> const &amp;fees, <a class="el" href="namespaceripple.html#ad2487abbcc1a5d6064b72144b461df6e">ApplyFlags</a> flags)</td></tr>
<tr class="memdesc:a5c4568739676c5335b8d63dc375f7920"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the minimum fee required to process a transaction with a given baseFee based on the current server load. <a href="classripple_1_1Transactor.html#a5c4568739676c5335b8d63dc375f7920">More...</a><br /></td></tr>
<tr class="separator:a5c4568739676c5335b8d63dc375f7920"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:aef4ef0a89b5595b2a688b89e4ecef833"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1ApplyContext.html">ApplyContext</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Transactor.html#aef4ef0a89b5595b2a688b89e4ecef833">ctx_</a></td></tr>
<tr class="separator:aef4ef0a89b5595b2a688b89e4ecef833"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aafdaa4e246ee6879df9cbbf2482dcc7d"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classbeast_1_1Journal.html">beast::Journal</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Transactor.html#aafdaa4e246ee6879df9cbbf2482dcc7d">j_</a></td></tr>
<tr class="separator:aafdaa4e246ee6879df9cbbf2482dcc7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a558a1d4288c859eb5875154a86435220"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceripple.html#a00ae0d729cb3e35b6bcac9a27ebb5284">AccountID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Transactor.html#a558a1d4288c859eb5875154a86435220">account_</a></td></tr>
<tr class="separator:a558a1d4288c859eb5875154a86435220"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb2f6f5d7fd8c663c5df76b6fcba2c49"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1XRPAmount.html">XRPAmount</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Transactor.html#abb2f6f5d7fd8c663c5df76b6fcba2c49">mPriorBalance</a></td></tr>
<tr class="separator:abb2f6f5d7fd8c663c5df76b6fcba2c49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae20c19d8ecec32cec52399081e76cc45"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classripple_1_1XRPAmount.html">XRPAmount</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Transactor.html#ae20c19d8ecec32cec52399081e76cc45">mSourceBalance</a></td></tr>
<tr class="separator:ae20c19d8ecec32cec52399081e76cc45"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:a690f2bdea8fffee52a5d12db0733b28b"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>&lt; <a class="el" href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">TER</a>, bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1AMMWithdraw.html#a690f2bdea8fffee52a5d12db0733b28b">applyGuts</a> (<a class="el" href="classripple_1_1Sandbox.html">Sandbox</a> &amp;<a class="el" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>)</td></tr>
<tr class="separator:a690f2bdea8fffee52a5d12db0733b28b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea2dd562841d34b3fc53ccdac5c569f8"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>&lt; <a class="el" href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">TER</a>, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1AMMWithdraw.html#aea2dd562841d34b3fc53ccdac5c569f8">withdraw</a> (<a class="el" href="classripple_1_1Sandbox.html">Sandbox</a> &amp;<a class="el" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>, <a class="el" href="namespaceripple.html#a00ae0d729cb3e35b6bcac9a27ebb5284">AccountID</a> const &amp;ammAccount, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;amountWithdraw, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;amountBalance, <a class="elRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional</a>&lt; <a class="el" href="classripple_1_1STAmount.html">STAmount</a> &gt; const &amp;amount2Withdraw, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;lpTokensAMMBalance, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;lpTokensWithdraw, <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint16_t</a> tfee)</td></tr>
<tr class="memdesc:aea2dd562841d34b3fc53ccdac5c569f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Withdraw requested assets and token from AMM into LP account. <a href="classripple_1_1AMMWithdraw.html#aea2dd562841d34b3fc53ccdac5c569f8">More...</a><br /></td></tr>
<tr class="separator:aea2dd562841d34b3fc53ccdac5c569f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08f36d93ed444aab431d5663d6305f60"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>&lt; <a class="el" href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">TER</a>, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1AMMWithdraw.html#a08f36d93ed444aab431d5663d6305f60">equalWithdrawTokens</a> (<a class="el" href="classripple_1_1Sandbox.html">Sandbox</a> &amp;<a class="el" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>, <a class="el" href="namespaceripple.html#a00ae0d729cb3e35b6bcac9a27ebb5284">AccountID</a> const &amp;ammAccount, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;amountBalance, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;amount2Balance, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;lptAMMBalance, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;lpTokens, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;lpTokensWithdraw, <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint16_t</a> tfee)</td></tr>
<tr class="memdesc:a08f36d93ed444aab431d5663d6305f60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Equal-asset withdrawal (LPTokens) of some AMM instance pools shares represented by the number of LPTokens . <a href="classripple_1_1AMMWithdraw.html#a08f36d93ed444aab431d5663d6305f60">More...</a><br /></td></tr>
<tr class="separator:a08f36d93ed444aab431d5663d6305f60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48dc0dc1f20489b695ac7c16e79e5cbd"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>&lt; <a class="el" href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">TER</a>, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1AMMWithdraw.html#a48dc0dc1f20489b695ac7c16e79e5cbd">equalWithdrawLimit</a> (<a class="el" href="classripple_1_1Sandbox.html">Sandbox</a> &amp;<a class="el" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>, <a class="el" href="namespaceripple.html#a00ae0d729cb3e35b6bcac9a27ebb5284">AccountID</a> const &amp;ammAccount, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;amountBalance, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;amount2Balance, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;lptAMMBalance, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;amount, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;amount2, <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint16_t</a> tfee)</td></tr>
<tr class="memdesc:a48dc0dc1f20489b695ac7c16e79e5cbd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Withdraw both assets (Asset1Out, Asset2Out) with the constraints on the maximum amount of each asset that the trader is willing to withdraw. <a href="classripple_1_1AMMWithdraw.html#a48dc0dc1f20489b695ac7c16e79e5cbd">More...</a><br /></td></tr>
<tr class="separator:a48dc0dc1f20489b695ac7c16e79e5cbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41ba8cc3d6402d3babee02819a78fca4"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>&lt; <a class="el" href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">TER</a>, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1AMMWithdraw.html#a41ba8cc3d6402d3babee02819a78fca4">singleWithdraw</a> (<a class="el" href="classripple_1_1Sandbox.html">Sandbox</a> &amp;<a class="el" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>, <a class="el" href="namespaceripple.html#a00ae0d729cb3e35b6bcac9a27ebb5284">AccountID</a> const &amp;ammAccount, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;amountBalance, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;lptAMMBalance, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;amount, <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint16_t</a> tfee)</td></tr>
<tr class="memdesc:a41ba8cc3d6402d3babee02819a78fca4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Single asset withdrawal (Asset1Out) equivalent to the amount specified in Asset1Out. <a href="classripple_1_1AMMWithdraw.html#a41ba8cc3d6402d3babee02819a78fca4">More...</a><br /></td></tr>
<tr class="separator:a41ba8cc3d6402d3babee02819a78fca4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e5584ff04fd7a09d3213d88372a88d8"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>&lt; <a class="el" href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">TER</a>, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1AMMWithdraw.html#a6e5584ff04fd7a09d3213d88372a88d8">singleWithdrawTokens</a> (<a class="el" href="classripple_1_1Sandbox.html">Sandbox</a> &amp;<a class="el" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>, <a class="el" href="namespaceripple.html#a00ae0d729cb3e35b6bcac9a27ebb5284">AccountID</a> const &amp;ammAccount, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;amountBalance, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;lptAMMBalance, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;amount, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;lpTokensWithdraw, <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint16_t</a> tfee)</td></tr>
<tr class="memdesc:a6e5584ff04fd7a09d3213d88372a88d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Single asset withdrawal (Asset1Out, LPTokens) proportional to the share specified by tokens. <a href="classripple_1_1AMMWithdraw.html#a6e5584ff04fd7a09d3213d88372a88d8">More...</a><br /></td></tr>
<tr class="separator:a6e5584ff04fd7a09d3213d88372a88d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae118560969025af2963d994ea4247d7b"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>&lt; <a class="el" href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">TER</a>, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1AMMWithdraw.html#ae118560969025af2963d994ea4247d7b">singleWithdrawEPrice</a> (<a class="el" href="classripple_1_1Sandbox.html">Sandbox</a> &amp;<a class="el" href="classripple_1_1Transactor.html#a1ac5d16d7b21e8af9cc94d7af39a85d5">view</a>, <a class="el" href="namespaceripple.html#a00ae0d729cb3e35b6bcac9a27ebb5284">AccountID</a> const &amp;ammAccount, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;amountBalance, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;lptAMMBalance, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;amount, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;ePrice, <a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint16_t</a> tfee)</td></tr>
<tr class="memdesc:ae118560969025af2963d994ea4247d7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Withdraw single asset (Asset1Out, EPrice) with two constraints. <a href="classripple_1_1AMMWithdraw.html#ae118560969025af2963d994ea4247d7b">More...</a><br /></td></tr>
<tr class="separator:ae118560969025af2963d994ea4247d7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af81f796422a3f66771e31a6ecbbbf57b"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>&lt; <a class="el" href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">TER</a>, <a class="el" href="classripple_1_1XRPAmount.html">XRPAmount</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Transactor.html#af81f796422a3f66771e31a6ecbbbf57b">reset</a> (<a class="el" href="classripple_1_1XRPAmount.html">XRPAmount</a> fee)</td></tr>
<tr class="memdesc:af81f796422a3f66771e31a6ecbbbf57b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset the context, discarding any changes made and adjust the fee. <a href="classripple_1_1Transactor.html#af81f796422a3f66771e31a6ecbbbf57b">More...</a><br /></td></tr>
<tr class="separator:af81f796422a3f66771e31a6ecbbbf57b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b2066252127862bb58c1e4994dd5deb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">TER</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Transactor.html#a0b2066252127862bb58c1e4994dd5deb">consumeSeqProxy</a> (<a class="el" href="classripple_1_1STLedgerEntry.html#ad360ad8483226127ef6b132ac93c1598">SLE::pointer</a> const &amp;sleAccount)</td></tr>
<tr class="separator:a0b2066252127862bb58c1e4994dd5deb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08d96a396dc3bd9a0a3e39e47e38531c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">TER</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Transactor.html#a08d96a396dc3bd9a0a3e39e47e38531c">payFee</a> ()</td></tr>
<tr class="separator:a08d96a396dc3bd9a0a3e39e47e38531c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-static-methods"></a>
Static Private Member Functions</h2></td></tr>
<tr class="memitem:a68776b873595ab6d7ed33ddd0353c01b"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespaceripple.html#af99ba2263d2a1e29207c40a35fc9f6b3">NotTEC</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Transactor.html#a68776b873595ab6d7ed33ddd0353c01b">checkSingleSign</a> (<a class="el" href="structripple_1_1PreclaimContext.html">PreclaimContext</a> const &amp;ctx)</td></tr>
<tr class="separator:a68776b873595ab6d7ed33ddd0353c01b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afcb347c674044ec5c9e9ac751b54c3ac"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespaceripple.html#af99ba2263d2a1e29207c40a35fc9f6b3">NotTEC</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classripple_1_1Transactor.html#afcb347c674044ec5c9e9ac751b54c3ac">checkMultiSign</a> (<a class="el" href="structripple_1_1PreclaimContext.html">PreclaimContext</a> const &amp;ctx)</td></tr>
<tr class="separator:afcb347c674044ec5c9e9ac751b54c3ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><a class="el" href="classripple_1_1AMMWithdraw.html" title="AMMWithdraw implements AMM withdraw Transactor.">AMMWithdraw</a> implements AMM withdraw <a class="el" href="classripple_1_1Transactor.html">Transactor</a>. </p>
<p>The withdraw transaction is used to remove liquidity from the AMM instance pool, thus redeeming some share of the pools that one owns in the form of LPTokens. If the trader withdraws proportional values of both assets without changing their relative pricing, no trading fee is charged on the transaction. The trader can specify different combination of the fields in the withdrawal. LPTokens - transaction assumes proportional withdrawal of pool assets for the amount of LPTokens. Asset1Out - transaction assumes withdrawal of single asset equivalent to the amount specified in Asset1Out. Asset1Out and Asset2Out - transaction assumes all assets withdrawal with the constraints on the maximum amount of each asset that the trader is willing to withdraw. Asset1Out and LPTokens - transaction assumes withdrawal of single asset specified in Asset1Out proportional to the share represented by the amount of LPTokens. Asset1Out and EPrice - transaction assumes withdrawal of single asset with the following constraints: a. Amount of asset1 if specified (not 0) in Asset1Out specifies the minimum amount of asset1 that the trader is willing to withdraw. b. The effective price of asset traded out does not exceed the amount specified in EPrice. Following updates after a successful transaction: The withdrawn asset, if XRP, is transferred from AMM instance account to the account that initiated the transaction, thus changing the Balance field of each account. The withdrawn asset, if token, is balanced between the AMM instance account and the issuer account. The LPTokens ~ are balanced between the AMM instance account and the account that initiated the transaction. The pool composition is updated. </p><dl class="section see"><dt>See also</dt><dd><a href="https://github.com/XRPLF/XRPL-Standards/discussions/78">XLS30d:AMMWithdraw transaction</a> </dd></dl>
<p class="definition">Definition at line <a class="el" href="AMMWithdraw_8h_source.html#l00065">65</a> of file <a class="el" href="AMMWithdraw_8h_source.html">AMMWithdraw.h</a>.</p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="a5c6d16e9402d182a835f50b37ce9a938"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c6d16e9402d182a835f50b37ce9a938">&#9670;&nbsp;</a></span>ConsequencesFactoryType</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classripple_1_1Transactor.html#a5c6d16e9402d182a835f50b37ce9a938">ripple::Transactor::ConsequencesFactoryType</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a5c6d16e9402d182a835f50b37ce9a938aa45cb725337de0d627f42b7ebf4be91f"></a>Normal&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a5c6d16e9402d182a835f50b37ce9a938a55caa0901cae976168bf23f19bc3e8f4"></a>Blocker&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a5c6d16e9402d182a835f50b37ce9a938a429832eac6b9ee7b50a1265131cd2845"></a>Custom&#160;</td><td class="fielddoc"></td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="Transactor_8h_source.html#l00101">101</a> of file <a class="el" href="Transactor_8h_source.html">Transactor.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a345ddd0ca98b576c85173513861b6366"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a345ddd0ca98b576c85173513861b6366">&#9670;&nbsp;</a></span>AMMWithdraw()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ripple::AMMWithdraw::AMMWithdraw </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1ApplyContext.html">ApplyContext</a> &amp;&#160;</td>
<td class="paramname"><em>ctx</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AMMWithdraw_8h_source.html#l00070">70</a> of file <a class="el" href="AMMWithdraw_8h_source.html">AMMWithdraw.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="acf1048871867fae517d6e38c09f9ffd8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf1048871867fae517d6e38c09f9ffd8">&#9670;&nbsp;</a></span>preflight()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceripple.html#af99ba2263d2a1e29207c40a35fc9f6b3">NotTEC</a> ripple::AMMWithdraw::preflight </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structripple_1_1PreflightContext.html">PreflightContext</a> const &amp;&#160;</td>
<td class="paramname"><em>ctx</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AMMWithdraw_8cpp_source.html#l00036">36</a> of file <a class="el" href="AMMWithdraw_8cpp_source.html">AMMWithdraw.cpp</a>.</p>
</div>
</div>
<a id="ac65c94e120bdb3957a6951fab2af6c29"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac65c94e120bdb3957a6951fab2af6c29">&#9670;&nbsp;</a></span>preclaim()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">TER</a> ripple::AMMWithdraw::preclaim </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structripple_1_1PreclaimContext.html">PreclaimContext</a> const &amp;&#160;</td>
<td class="paramname"><em>ctx</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AMMWithdraw_8cpp_source.html#l00172">172</a> of file <a class="el" href="AMMWithdraw_8cpp_source.html">AMMWithdraw.cpp</a>.</p>
</div>
</div>
<a id="ad366e7ecc17ab21d3fb406c334df6b0e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad366e7ecc17ab21d3fb406c334df6b0e">&#9670;&nbsp;</a></span>doApply()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">TER</a> ripple::AMMWithdraw::doApply </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implements <a class="el" href="classripple_1_1Transactor.html#af0192505cdcebc1bb31be32dfb62aa72">ripple::Transactor</a>.</p>
<p class="definition">Definition at line <a class="el" href="AMMWithdraw_8cpp_source.html#l00407">407</a> of file <a class="el" href="AMMWithdraw_8cpp_source.html">AMMWithdraw.cpp</a>.</p>
</div>
</div>
<a id="a690f2bdea8fffee52a5d12db0733b28b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a690f2bdea8fffee52a5d12db0733b28b">&#9670;&nbsp;</a></span>applyGuts()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>&lt; <a class="el" href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">TER</a>, bool &gt; ripple::AMMWithdraw::applyGuts </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1Sandbox.html">Sandbox</a> &amp;&#160;</td>
<td class="paramname"><em>view</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AMMWithdraw_8cpp_source.html#l00296">296</a> of file <a class="el" href="AMMWithdraw_8cpp_source.html">AMMWithdraw.cpp</a>.</p>
</div>
</div>
<a id="aea2dd562841d34b3fc53ccdac5c569f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea2dd562841d34b3fc53ccdac5c569f8">&#9670;&nbsp;</a></span>withdraw()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>&lt; <a class="el" href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">TER</a>, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> &gt; ripple::AMMWithdraw::withdraw </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1Sandbox.html">Sandbox</a> &amp;&#160;</td>
<td class="paramname"><em>view</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespaceripple.html#a00ae0d729cb3e35b6bcac9a27ebb5284">AccountID</a> const &amp;&#160;</td>
<td class="paramname"><em>ammAccount</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;&#160;</td>
<td class="paramname"><em>amountWithdraw</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;&#160;</td>
<td class="paramname"><em>amountBalance</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/optional.html">std::optional</a>&lt; <a class="el" href="classripple_1_1STAmount.html">STAmount</a> &gt; const &amp;&#160;</td>
<td class="paramname"><em>amount2Withdraw</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;&#160;</td>
<td class="paramname"><em>lpTokensAMMBalance</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;&#160;</td>
<td class="paramname"><em>lpTokensWithdraw</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint16_t</a>&#160;</td>
<td class="paramname"><em>tfee</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Withdraw requested assets and token from AMM into LP account. </p>
<p>Return new total LPToken balance. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">view</td><td></td></tr>
<tr><td class="paramname">ammAccount</td><td></td></tr>
<tr><td class="paramname">amountBalance</td><td></td></tr>
<tr><td class="paramname">amountWithdraw</td><td></td></tr>
<tr><td class="paramname">amount2Withdraw</td><td></td></tr>
<tr><td class="paramname">lpTokensAMMBalance</td><td>current AMM LPT balance </td></tr>
<tr><td class="paramname">lpTokensWithdraw</td><td></td></tr>
<tr><td class="paramname">tfee</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd></dd></dl>
<p class="definition">Definition at line <a class="el" href="AMMWithdraw_8cpp_source.html#l00421">421</a> of file <a class="el" href="AMMWithdraw_8cpp_source.html">AMMWithdraw.cpp</a>.</p>
</div>
</div>
<a id="a08f36d93ed444aab431d5663d6305f60"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a08f36d93ed444aab431d5663d6305f60">&#9670;&nbsp;</a></span>equalWithdrawTokens()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>&lt; <a class="el" href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">TER</a>, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> &gt; ripple::AMMWithdraw::equalWithdrawTokens </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1Sandbox.html">Sandbox</a> &amp;&#160;</td>
<td class="paramname"><em>view</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespaceripple.html#a00ae0d729cb3e35b6bcac9a27ebb5284">AccountID</a> const &amp;&#160;</td>
<td class="paramname"><em>ammAccount</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;&#160;</td>
<td class="paramname"><em>amountBalance</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;&#160;</td>
<td class="paramname"><em>amount2Balance</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;&#160;</td>
<td class="paramname"><em>lptAMMBalance</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;&#160;</td>
<td class="paramname"><em>lpTokens</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;&#160;</td>
<td class="paramname"><em>lpTokensWithdraw</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint16_t</a>&#160;</td>
<td class="paramname"><em>tfee</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Equal-asset withdrawal (LPTokens) of some AMM instance pools shares represented by the number of LPTokens . </p>
<p>Proportional withdrawal of pool assets for the amount of LPTokens.</p>
<p>The trading fee is not charged. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">view</td><td></td></tr>
<tr><td class="paramname">ammAccount</td><td></td></tr>
<tr><td class="paramname">amountBalance</td><td>current LP asset1 balance </td></tr>
<tr><td class="paramname">amount2Balance</td><td>current LP asset2 balance </td></tr>
<tr><td class="paramname">lptAMMBalance</td><td>current AMM LPT balance </td></tr>
<tr><td class="paramname">lpTokens</td><td>current LPT balance </td></tr>
<tr><td class="paramname">lpTokensWithdraw</td><td>amount of tokens to withdraw </td></tr>
<tr><td class="paramname">tfee</td><td>trading fee in basis points </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd></dd></dl>
<p class="definition">Definition at line <a class="el" href="AMMWithdraw_8cpp_source.html#l00569">569</a> of file <a class="el" href="AMMWithdraw_8cpp_source.html">AMMWithdraw.cpp</a>.</p>
</div>
</div>
<a id="a48dc0dc1f20489b695ac7c16e79e5cbd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a48dc0dc1f20489b695ac7c16e79e5cbd">&#9670;&nbsp;</a></span>equalWithdrawLimit()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>&lt; <a class="el" href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">TER</a>, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> &gt; ripple::AMMWithdraw::equalWithdrawLimit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1Sandbox.html">Sandbox</a> &amp;&#160;</td>
<td class="paramname"><em>view</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespaceripple.html#a00ae0d729cb3e35b6bcac9a27ebb5284">AccountID</a> const &amp;&#160;</td>
<td class="paramname"><em>ammAccount</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;&#160;</td>
<td class="paramname"><em>amountBalance</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;&#160;</td>
<td class="paramname"><em>amount2Balance</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;&#160;</td>
<td class="paramname"><em>lptAMMBalance</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;&#160;</td>
<td class="paramname"><em>amount</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;&#160;</td>
<td class="paramname"><em>amount2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint16_t</a>&#160;</td>
<td class="paramname"><em>tfee</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Withdraw both assets (Asset1Out, Asset2Out) with the constraints on the maximum amount of each asset that the trader is willing to withdraw. </p>
<p>All assets withdrawal with the constraints on the maximum amount of each asset that the trader is willing to withdraw.</p>
<p>The trading fee is not charged. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">view</td><td></td></tr>
<tr><td class="paramname">ammAccount</td><td></td></tr>
<tr><td class="paramname">amountBalance</td><td>current AMM asset1 balance </td></tr>
<tr><td class="paramname">amount2Balance</td><td>current AMM asset2 balance </td></tr>
<tr><td class="paramname">lptAMMBalance</td><td>current AMM LPT balance </td></tr>
<tr><td class="paramname">amount</td><td>asset1 withdraw amount </td></tr>
<tr><td class="paramname">amount2</td><td>max asset2 withdraw amount </td></tr>
<tr><td class="paramname">tfee</td><td>trading fee in basis points </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd></dd></dl>
<p>a = (t/T) * A (5) b = (t/T) * B (6) where A,B: current pool composition T: current balance of outstanding LPTokens a: balance of asset A being withdrawn b: balance of asset B being withdrawn t: balance of LPTokens issued to LP after a successful transaction Use equation 5 to compute t, given the amount in Asset1Out. Let this be Z Use equation 6 to compute the amount of asset2, given Z. Let the computed amount of asset2 be X If X &lt;= amount in Asset2Out: The amount of asset1 to be withdrawn is the one specified in Asset1Out The amount of asset2 to be withdrawn is X The amount of LPTokens redeemed is Z If X&gt; amount in Asset2Out: Use equation 5 to compute t, given the amount in Asset2Out. Let this be Q Use equation 6 to compute the amount of asset1, given Q. Let the computed amount of asset1 be W The amount of asset2 to be withdrawn is the one specified in Asset2Out The amount of asset1 to be withdrawn is W The amount of LPTokens redeemed is Q </p>
<p class="definition">Definition at line <a class="el" href="AMMWithdraw_8cpp_source.html#l00649">649</a> of file <a class="el" href="AMMWithdraw_8cpp_source.html">AMMWithdraw.cpp</a>.</p>
</div>
</div>
<a id="a41ba8cc3d6402d3babee02819a78fca4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a41ba8cc3d6402d3babee02819a78fca4">&#9670;&nbsp;</a></span>singleWithdraw()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>&lt; <a class="el" href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">TER</a>, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> &gt; ripple::AMMWithdraw::singleWithdraw </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1Sandbox.html">Sandbox</a> &amp;&#160;</td>
<td class="paramname"><em>view</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespaceripple.html#a00ae0d729cb3e35b6bcac9a27ebb5284">AccountID</a> const &amp;&#160;</td>
<td class="paramname"><em>ammAccount</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;&#160;</td>
<td class="paramname"><em>amountBalance</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;&#160;</td>
<td class="paramname"><em>lptAMMBalance</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;&#160;</td>
<td class="paramname"><em>amount</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint16_t</a>&#160;</td>
<td class="paramname"><em>tfee</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Single asset withdrawal (Asset1Out) equivalent to the amount specified in Asset1Out. </p>
<p>Withdraw single asset equivalent to the amount specified in Asset1Out.</p>
<p>The trading fee is charged. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">view</td><td></td></tr>
<tr><td class="paramname">ammAccount</td><td></td></tr>
<tr><td class="paramname">amountBalance</td><td>current AMM asset1 balance </td></tr>
<tr><td class="paramname">lptAMMBalance</td><td>current AMM LPT balance </td></tr>
<tr><td class="paramname">amount</td><td>asset1 withdraw amount </td></tr>
<tr><td class="paramname">tfee</td><td>trading fee in basis points </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd></dd></dl>
<p>t = T * (c - sqrt(c**2 - 4*R))/2 where R = b/B, c = R*fee + 2 - fee Use equation 7 to compute the t, given the amount in Asset1Out. </p>
<p class="definition">Definition at line <a class="el" href="AMMWithdraw_8cpp_source.html#l00691">691</a> of file <a class="el" href="AMMWithdraw_8cpp_source.html">AMMWithdraw.cpp</a>.</p>
</div>
</div>
<a id="a6e5584ff04fd7a09d3213d88372a88d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e5584ff04fd7a09d3213d88372a88d8">&#9670;&nbsp;</a></span>singleWithdrawTokens()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>&lt; <a class="el" href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">TER</a>, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> &gt; ripple::AMMWithdraw::singleWithdrawTokens </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1Sandbox.html">Sandbox</a> &amp;&#160;</td>
<td class="paramname"><em>view</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespaceripple.html#a00ae0d729cb3e35b6bcac9a27ebb5284">AccountID</a> const &amp;&#160;</td>
<td class="paramname"><em>ammAccount</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;&#160;</td>
<td class="paramname"><em>amountBalance</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;&#160;</td>
<td class="paramname"><em>lptAMMBalance</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;&#160;</td>
<td class="paramname"><em>amount</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;&#160;</td>
<td class="paramname"><em>lpTokensWithdraw</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint16_t</a>&#160;</td>
<td class="paramname"><em>tfee</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Single asset withdrawal (Asset1Out, LPTokens) proportional to the share specified by tokens. </p>
<p>withdrawal of single asset specified in Asset1Out proportional to the share represented by the amount of LPTokens.</p>
<p>The trading fee is charged. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">view</td><td></td></tr>
<tr><td class="paramname">ammAccount</td><td></td></tr>
<tr><td class="paramname">amountBalance</td><td>current AMM asset1 balance </td></tr>
<tr><td class="paramname">lptAMMBalance</td><td>current AMM LPT balance </td></tr>
<tr><td class="paramname">amount</td><td>asset1 withdraw amount </td></tr>
<tr><td class="paramname">lpTokensWithdraw</td><td>amount of tokens to withdraw </td></tr>
<tr><td class="paramname">tfee</td><td>trading fee in basis points </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd></dd></dl>
<p>Use equation 8 to compute the amount of asset1, given the redeemed t represented by LPTokens. Let this be Y. If (amount exists for Asset1Out &amp; Y &gt;= amount in Asset1Out) || (amount field does not exist for Asset1Out): The amount of asset out is Y The amount of LPTokens redeemed is LPTokens Equation 8 solves equation 7 </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="classripple_1_1AMMWithdraw.html#a41ba8cc3d6402d3babee02819a78fca4" title="Single asset withdrawal (Asset1Out) equivalent to the amount specified in Asset1Out.">singleWithdraw</a> for b. </dd></dl>
<p class="definition">Definition at line <a class="el" href="AMMWithdraw_8cpp_source.html#l00724">724</a> of file <a class="el" href="AMMWithdraw_8cpp_source.html">AMMWithdraw.cpp</a>.</p>
</div>
</div>
<a id="ae118560969025af2963d994ea4247d7b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae118560969025af2963d994ea4247d7b">&#9670;&nbsp;</a></span>singleWithdrawEPrice()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>&lt; <a class="el" href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">TER</a>, <a class="el" href="classripple_1_1STAmount.html">STAmount</a> &gt; ripple::AMMWithdraw::singleWithdrawEPrice </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1Sandbox.html">Sandbox</a> &amp;&#160;</td>
<td class="paramname"><em>view</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespaceripple.html#a00ae0d729cb3e35b6bcac9a27ebb5284">AccountID</a> const &amp;&#160;</td>
<td class="paramname"><em>ammAccount</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;&#160;</td>
<td class="paramname"><em>amountBalance</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;&#160;</td>
<td class="paramname"><em>lptAMMBalance</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;&#160;</td>
<td class="paramname"><em>amount</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1STAmount.html">STAmount</a> const &amp;&#160;</td>
<td class="paramname"><em>ePrice</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint16_t</a>&#160;</td>
<td class="paramname"><em>tfee</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Withdraw single asset (Asset1Out, EPrice) with two constraints. </p>
<p>Withdraw single asset with two constraints.</p>
<p>The trading fee is charged. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">view</td><td></td></tr>
<tr><td class="paramname">ammAccount</td><td></td></tr>
<tr><td class="paramname">amountBalance</td><td>current AMM asset1 balance </td></tr>
<tr><td class="paramname">lptAMMBalance</td><td>current AMM LPT balance </td></tr>
<tr><td class="paramname">amount</td><td>asset1 withdraw amount </td></tr>
<tr><td class="paramname">ePrice</td><td>maximum asset1 effective price </td></tr>
<tr><td class="paramname">tfee</td><td>trading fee in basis points </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd></dd></dl>
<p>a. amount of asset1 if specified (not 0) in Asset1Out specifies the minimum amount of asset1 that the trader is willing to withdraw. b. The effective price of asset traded out does not exceed the amount specified in EPrice The effective price (EP) of a trade is defined as the ratio of the tokens the trader sold or swapped in (Token B) and the token they got in return or swapped out (Token A). EP(B/A) = b/a (III) b = B * (t1**2 + t1*(f - 2))/(t1*f - 1) (8) where t1 = t/T Use equations 8 &amp; III and amount in EPrice to compute the two variables: asset in as LPTokens. Let this be X asset out as that in Asset1Out. Let this be Y If (amount exists for Asset1Out &amp; Y &gt;= amount in Asset1Out) || (amount field does not exist for Asset1Out): The amount of assetOut is given by Y The amount of LPTokens is given by X </p>
<p class="definition">Definition at line <a class="el" href="AMMWithdraw_8cpp_source.html#l00768">768</a> of file <a class="el" href="AMMWithdraw_8cpp_source.html">AMMWithdraw.cpp</a>.</p>
</div>
</div>
<a id="a6fbe596dea21ad7ed639ab48ab0dbe0a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6fbe596dea21ad7ed639ab48ab0dbe0a">&#9670;&nbsp;</a></span>operator()()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>&lt; <a class="el" href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">TER</a>, bool &gt; ripple::Transactor::operator() </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Process the transaction. </p>
<p class="definition">Definition at line <a class="el" href="Transactor_8cpp_source.html#l00830">830</a> of file <a class="el" href="Transactor_8cpp_source.html">Transactor.cpp</a>.</p>
</div>
</div>
<a id="a1ac5d16d7b21e8af9cc94d7af39a85d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ac5d16d7b21e8af9cc94d7af39a85d5">&#9670;&nbsp;</a></span>view() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classripple_1_1ApplyView.html">ApplyView</a>&amp; ripple::Transactor::view </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Transactor_8h_source.html#l00107">107</a> of file <a class="el" href="Transactor_8h_source.html">Transactor.h</a>.</p>
</div>
</div>
<a id="a4d58eb0d4fb1e2f9f952994fea0fe2bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d58eb0d4fb1e2f9f952994fea0fe2bf">&#9670;&nbsp;</a></span>view() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classripple_1_1ApplyView.html">ApplyView</a> const&amp; ripple::Transactor::view </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Transactor_8h_source.html#l00113">113</a> of file <a class="el" href="Transactor_8h_source.html">Transactor.h</a>.</p>
</div>
</div>
<a id="a433ee7a44770c882927f2eedf20e6c71"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a433ee7a44770c882927f2eedf20e6c71">&#9670;&nbsp;</a></span>checkSeqProxy()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceripple.html#af99ba2263d2a1e29207c40a35fc9f6b3">NotTEC</a> ripple::Transactor::checkSeqProxy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1ReadView.html">ReadView</a> const &amp;&#160;</td>
<td class="paramname"><em>view</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1STTx.html">STTx</a> const &amp;&#160;</td>
<td class="paramname"><em>tx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classbeast_1_1Journal.html">beast::Journal</a>&#160;</td>
<td class="paramname"><em>j</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Transactor_8cpp_source.html#l00266">266</a> of file <a class="el" href="Transactor_8cpp_source.html">Transactor.cpp</a>.</p>
</div>
</div>
<a id="a2f3af178ae553ba91b5893fbcc4ade7f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f3af178ae553ba91b5893fbcc4ade7f">&#9670;&nbsp;</a></span>checkPriorTxAndLastLedger()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceripple.html#af99ba2263d2a1e29207c40a35fc9f6b3">NotTEC</a> ripple::Transactor::checkPriorTxAndLastLedger </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structripple_1_1PreclaimContext.html">PreclaimContext</a> const &amp;&#160;</td>
<td class="paramname"><em>ctx</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Transactor_8cpp_source.html#l00338">338</a> of file <a class="el" href="Transactor_8cpp_source.html">Transactor.cpp</a>.</p>
</div>
</div>
<a id="a356c16a6a5d7ccade18cf4c9fb58cc38"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a356c16a6a5d7ccade18cf4c9fb58cc38">&#9670;&nbsp;</a></span>checkFee()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">TER</a> ripple::Transactor::checkFee </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structripple_1_1PreclaimContext.html">PreclaimContext</a> const &amp;&#160;</td>
<td class="paramname"><em>ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1XRPAmount.html">XRPAmount</a>&#160;</td>
<td class="paramname"><em>baseFee</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Transactor_8cpp_source.html#l00193">193</a> of file <a class="el" href="Transactor_8cpp_source.html">Transactor.cpp</a>.</p>
</div>
</div>
<a id="a4501e41a5df4853bb93e7f85ec6abaf7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4501e41a5df4853bb93e7f85ec6abaf7">&#9670;&nbsp;</a></span>checkSign()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceripple.html#af99ba2263d2a1e29207c40a35fc9f6b3">NotTEC</a> ripple::Transactor::checkSign </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structripple_1_1PreclaimContext.html">PreclaimContext</a> const &amp;&#160;</td>
<td class="paramname"><em>ctx</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Transactor_8cpp_source.html#l00481">481</a> of file <a class="el" href="Transactor_8cpp_source.html">Transactor.cpp</a>.</p>
</div>
</div>
<a id="a428581db1f9eea2f41cf9e371a1e557d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a428581db1f9eea2f41cf9e371a1e557d">&#9670;&nbsp;</a></span>calculateBaseFee()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classripple_1_1XRPAmount.html">XRPAmount</a> ripple::Transactor::calculateBaseFee </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1ReadView.html">ReadView</a> const &amp;&#160;</td>
<td class="paramname"><em>view</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1STTx.html">STTx</a> const &amp;&#160;</td>
<td class="paramname"><em>tx</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Transactor_8cpp_source.html#l00165">165</a> of file <a class="el" href="Transactor_8cpp_source.html">Transactor.cpp</a>.</p>
</div>
</div>
<a id="ac424955fc06a7eb920a93fe517ad8d69"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac424955fc06a7eb920a93fe517ad8d69">&#9670;&nbsp;</a></span>ticketDelete()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">TER</a> ripple::Transactor::ticketDelete </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1ApplyView.html">ApplyView</a> &amp;&#160;</td>
<td class="paramname"><em>view</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespaceripple.html#a00ae0d729cb3e35b6bcac9a27ebb5284">AccountID</a> const &amp;&#160;</td>
<td class="paramname"><em>account</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespaceripple.html#a356c68147333a9a48a344718038576d9">uint256</a> const &amp;&#160;</td>
<td class="paramname"><em>ticketIndex</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classbeast_1_1Journal.html">beast::Journal</a>&#160;</td>
<td class="paramname"><em>j</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Transactor_8cpp_source.html#l00386">386</a> of file <a class="el" href="Transactor_8cpp_source.html">Transactor.cpp</a>.</p>
</div>
</div>
<a id="ac2faaa3bfd1c9b9f91ae24f367474d0f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac2faaa3bfd1c9b9f91ae24f367474d0f">&#9670;&nbsp;</a></span>apply()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">TER</a> ripple::Transactor::apply </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Transactor_8cpp_source.html#l00446">446</a> of file <a class="el" href="Transactor_8cpp_source.html">Transactor.cpp</a>.</p>
</div>
</div>
<a id="ac251aaee739d07ccdd565f2e9d9f336e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac251aaee739d07ccdd565f2e9d9f336e">&#9670;&nbsp;</a></span>preCompute()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void ripple::Transactor::preCompute </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reimplemented in <a class="el" href="classripple_1_1SetSignerList.html#a81cc900e9e0dc4096c3c8f63c1371ffe">ripple::SetSignerList</a>, <a class="el" href="classripple_1_1CreateOffer.html#a51e243eec385d66e97acbc6b59e6b95c">ripple::CreateOffer</a>, and <a class="el" href="classripple_1_1Change.html#a69cd5bf7979d79ffc7d2a7b813ff967e">ripple::Change</a>.</p>
<p class="definition">Definition at line <a class="el" href="Transactor_8cpp_source.html#l00440">440</a> of file <a class="el" href="Transactor_8cpp_source.html">Transactor.cpp</a>.</p>
</div>
</div>
<a id="a5c4568739676c5335b8d63dc375f7920"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c4568739676c5335b8d63dc375f7920">&#9670;&nbsp;</a></span>minimumFee()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classripple_1_1XRPAmount.html">XRPAmount</a> ripple::Transactor::minimumFee </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1Application.html">Application</a> &amp;&#160;</td>
<td class="paramname"><em>app</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classripple_1_1XRPAmount.html">XRPAmount</a>&#160;</td>
<td class="paramname"><em>baseFee</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structripple_1_1Fees.html">Fees</a> const &amp;&#160;</td>
<td class="paramname"><em>fees</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespaceripple.html#ad2487abbcc1a5d6064b72144b461df6e">ApplyFlags</a>&#160;</td>
<td class="paramname"><em>flags</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Compute the minimum fee required to process a transaction with a given baseFee based on the current server load. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">app</td><td>The application hosting the server </td></tr>
<tr><td class="paramname">baseFee</td><td>The base fee of a candidate transaction </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="namespaceripple.html#a3deb4c69ca598c60e6502a3be527835e" title="Compute only the expected base fee for a transaction.">ripple::calculateBaseFee</a> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fees</td><td>Fee settings from the current ledger </td></tr>
<tr><td class="paramname">flags</td><td><a class="el" href="classripple_1_1Transaction.html">Transaction</a> processing fees </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="Transactor_8cpp_source.html#l00183">183</a> of file <a class="el" href="Transactor_8cpp_source.html">Transactor.cpp</a>.</p>
</div>
</div>
<a id="af81f796422a3f66771e31a6ecbbbf57b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af81f796422a3f66771e31a6ecbbbf57b">&#9670;&nbsp;</a></span>reset()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>&lt; <a class="el" href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">TER</a>, <a class="el" href="classripple_1_1XRPAmount.html">XRPAmount</a> &gt; ripple::Transactor::reset </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1XRPAmount.html">XRPAmount</a>&#160;</td>
<td class="paramname"><em>fee</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reset the context, discarding any changes made and adjust the fee. </p>
<p class="definition">Definition at line <a class="el" href="Transactor_8cpp_source.html#l00791">791</a> of file <a class="el" href="Transactor_8cpp_source.html">Transactor.cpp</a>.</p>
</div>
</div>
<a id="a0b2066252127862bb58c1e4994dd5deb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b2066252127862bb58c1e4994dd5deb">&#9670;&nbsp;</a></span>consumeSeqProxy()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">TER</a> ripple::Transactor::consumeSeqProxy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classripple_1_1STLedgerEntry.html#ad360ad8483226127ef6b132ac93c1598">SLE::pointer</a> const &amp;&#160;</td>
<td class="paramname"><em>sleAccount</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Transactor_8cpp_source.html#l00368">368</a> of file <a class="el" href="Transactor_8cpp_source.html">Transactor.cpp</a>.</p>
</div>
</div>
<a id="a08d96a396dc3bd9a0a3e39e47e38531c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a08d96a396dc3bd9a0a3e39e47e38531c">&#9670;&nbsp;</a></span>payFee()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceripple.html#adfb760bc3e4ccb79d5d4f6ecff2f1817">TER</a> ripple::Transactor::payFee </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Transactor_8cpp_source.html#l00246">246</a> of file <a class="el" href="Transactor_8cpp_source.html">Transactor.cpp</a>.</p>
</div>
</div>
<a id="a68776b873595ab6d7ed33ddd0353c01b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68776b873595ab6d7ed33ddd0353c01b">&#9670;&nbsp;</a></span>checkSingleSign()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceripple.html#af99ba2263d2a1e29207c40a35fc9f6b3">NotTEC</a> ripple::Transactor::checkSingleSign </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structripple_1_1PreclaimContext.html">PreclaimContext</a> const &amp;&#160;</td>
<td class="paramname"><em>ctx</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Transactor_8cpp_source.html#l00491">491</a> of file <a class="el" href="Transactor_8cpp_source.html">Transactor.cpp</a>.</p>
</div>
</div>
<a id="afcb347c674044ec5c9e9ac751b54c3ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afcb347c674044ec5c9e9ac751b54c3ac">&#9670;&nbsp;</a></span>checkMultiSign()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespaceripple.html#af99ba2263d2a1e29207c40a35fc9f6b3">NotTEC</a> ripple::Transactor::checkMultiSign </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structripple_1_1PreclaimContext.html">PreclaimContext</a> const &amp;&#160;</td>
<td class="paramname"><em>ctx</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Transactor_8cpp_source.html#l00565">565</a> of file <a class="el" href="Transactor_8cpp_source.html">Transactor.cpp</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a951edc48bf0cee75293ce82b7ba7b61c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a951edc48bf0cee75293ce82b7ba7b61c">&#9670;&nbsp;</a></span>ConsequencesFactory</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr <a class="el" href="classripple_1_1Transactor.html#a5c6d16e9402d182a835f50b37ce9a938">ConsequencesFactoryType</a> ripple::AMMWithdraw::ConsequencesFactory {<a class="el" href="classripple_1_1Transactor.html#a5c6d16e9402d182a835f50b37ce9a938aa45cb725337de0d627f42b7ebf4be91f">Normal</a>}</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AMMWithdraw_8h_source.html#l00068">68</a> of file <a class="el" href="AMMWithdraw_8h_source.html">AMMWithdraw.h</a>.</p>
</div>
</div>
<a id="aef4ef0a89b5595b2a688b89e4ecef833"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef4ef0a89b5595b2a688b89e4ecef833">&#9670;&nbsp;</a></span>ctx_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classripple_1_1ApplyContext.html">ApplyContext</a>&amp; ripple::Transactor::ctx_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Transactor_8h_source.html#l00088">88</a> of file <a class="el" href="Transactor_8h_source.html">Transactor.h</a>.</p>
</div>
</div>
<a id="aafdaa4e246ee6879df9cbbf2482dcc7d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aafdaa4e246ee6879df9cbbf2482dcc7d">&#9670;&nbsp;</a></span>j_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classbeast_1_1Journal.html">beast::Journal</a> ripple::Transactor::j_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Transactor_8h_source.html#l00089">89</a> of file <a class="el" href="Transactor_8h_source.html">Transactor.h</a>.</p>
</div>
</div>
<a id="a558a1d4288c859eb5875154a86435220"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a558a1d4288c859eb5875154a86435220">&#9670;&nbsp;</a></span>account_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="namespaceripple.html#a00ae0d729cb3e35b6bcac9a27ebb5284">AccountID</a> ripple::Transactor::account_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Transactor_8h_source.html#l00091">91</a> of file <a class="el" href="Transactor_8h_source.html">Transactor.h</a>.</p>
</div>
</div>
<a id="abb2f6f5d7fd8c663c5df76b6fcba2c49"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb2f6f5d7fd8c663c5df76b6fcba2c49">&#9670;&nbsp;</a></span>mPriorBalance</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classripple_1_1XRPAmount.html">XRPAmount</a> ripple::Transactor::mPriorBalance</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Transactor_8h_source.html#l00092">92</a> of file <a class="el" href="Transactor_8h_source.html">Transactor.h</a>.</p>
</div>
</div>
<a id="ae20c19d8ecec32cec52399081e76cc45"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae20c19d8ecec32cec52399081e76cc45">&#9670;&nbsp;</a></span>mSourceBalance</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classripple_1_1XRPAmount.html">XRPAmount</a> ripple::Transactor::mSourceBalance</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="Transactor_8h_source.html#l00093">93</a> of file <a class="el" href="Transactor_8h_source.html">Transactor.h</a>.</p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>