| 
| static bool  | checkExtraFeatures (PreflightContext const &ctx) | 
|   | 
| static std::uint32_t  | getFlagsMask (PreflightContext const &ctx) | 
|   | 
| static NotTEC  | preflight (PreflightContext const &ctx) | 
|   | 
| static TER  | preclaim (PreclaimContext const &ctx) | 
|   | 
| static std::tuple< TER, STAmount, STAmount, std::optional< STAmount > >  | equalWithdrawTokens (Sandbox &view, SLE const &ammSle, AccountID const account, AccountID const &ammAccount, STAmount const &amountBalance, STAmount const &amount2Balance, STAmount const &lptAMMBalance, STAmount const &lpTokens, STAmount const &lpTokensWithdraw, std::uint16_t tfee, FreezeHandling freezeHanding, WithdrawAll withdrawAll, XRPAmount const &priorBalance, beast::Journal const &journal) | 
|   | Equal-asset withdrawal (LPTokens) of some AMM instance pools shares represented by the number of LPTokens .  
  | 
|   | 
| static std::tuple< TER, STAmount, STAmount, std::optional< STAmount > >  | withdraw (Sandbox &view, SLE const &ammSle, AccountID const &ammAccount, AccountID const &account, STAmount const &amountBalance, STAmount const &amountWithdraw, std::optional< STAmount > const &amount2Withdraw, STAmount const &lpTokensAMMBalance, STAmount const &lpTokensWithdraw, std::uint16_t tfee, FreezeHandling freezeHandling, WithdrawAll withdrawAll, XRPAmount const &priorBalance, beast::Journal const &journal) | 
|   | Withdraw requested assets and token from AMM into LP account.  
  | 
|   | 
| static std::pair< TER, bool >  | deleteAMMAccountIfEmpty (Sandbox &sb, std::shared_ptr< SLE > const ammSle, STAmount const &lpTokenBalance, Issue const &issue1, Issue const &issue2, beast::Journal const &journal) | 
|   | 
| static NotTEC  | checkSeqProxy (ReadView const &view, STTx const &tx, beast::Journal j) | 
|   | 
| static NotTEC  | checkPriorTxAndLastLedger (PreclaimContext const &ctx) | 
|   | 
| static TER  | checkFee (PreclaimContext const &ctx, XRPAmount baseFee) | 
|   | 
| static NotTEC  | checkSign (PreclaimContext const &ctx) | 
|   | 
| static NotTEC  | checkBatchSign (PreclaimContext const &ctx) | 
|   | 
| static XRPAmount  | calculateBaseFee (ReadView const &view, STTx const &tx) | 
|   | 
| template<class T >  | 
| static NotTEC  | invokePreflight (PreflightContext const &ctx) | 
|   | 
| template<>  | 
| NotTEC  | invokePreflight (PreflightContext const &ctx) | 
|   | 
| template<>  | 
| NotTEC  | invokePreflight (PreflightContext const &ctx) | 
|   | 
| static NotTEC  | checkPermission (ReadView const &view, STTx const &tx) | 
|   | 
| static TER  | ticketDelete (ApplyView &view, AccountID const &account, uint256 const &ticketIndex, beast::Journal j) | 
|   | 
 | 
| static NotTEC  | checkSign (ReadView const &view, ApplyFlags flags, AccountID const &idAccount, STObject const &sigObject, beast::Journal const j) | 
|   | 
| static XRPAmount  | minimumFee (Application &app, XRPAmount baseFee, Fees const &fees, ApplyFlags flags) | 
|   | Compute the minimum fee required to process a transaction with a given baseFee based on the current server load.  
  | 
|   | 
| static XRPAmount  | calculateOwnerReserveFee (ReadView const &view, STTx const &tx) | 
|   | 
| static NotTEC  | preflightSigValidated (PreflightContext const &ctx) | 
|   | 
| static bool  | validDataLength (std::optional< Slice > const &slice, std::size_t maxLength) | 
|   | 
| template<class T >  | 
| static bool  | validNumericRange (std::optional< T > value, T max, T min={}) | 
|   | 
| template<class T , class Unit >  | 
| static bool  | validNumericRange (std::optional< T > value, unit::ValueUnit< Unit, T > max, unit::ValueUnit< Unit, T > min={}) | 
|   | 
 | 
| std::pair< TER, bool >  | applyGuts (Sandbox &view) | 
|   | 
| std::pair< TER, STAmount >  | withdraw (Sandbox &view, SLE const &ammSle, AccountID const &ammAccount, STAmount const &amountBalance, STAmount const &amountWithdraw, std::optional< STAmount > const &amount2Withdraw, STAmount const &lpTokensAMMBalance, STAmount const &lpTokensWithdraw, std::uint16_t tfee) | 
|   | Withdraw requested assets and token from AMM into LP account.  
  | 
|   | 
| std::pair< TER, STAmount >  | equalWithdrawTokens (Sandbox &view, SLE const &ammSle, AccountID const &ammAccount, STAmount const &amountBalance, STAmount const &amount2Balance, STAmount const &lptAMMBalance, STAmount const &lpTokens, STAmount const &lpTokensWithdraw, std::uint16_t tfee) | 
|   | Equal-asset withdrawal (LPTokens) of some AMM instance pools shares represented by the number of LPTokens .  
  | 
|   | 
| std::pair< TER, STAmount >  | equalWithdrawLimit (Sandbox &view, SLE const &ammSle, AccountID const &ammAccount, STAmount const &amountBalance, STAmount const &amount2Balance, STAmount const &lptAMMBalance, STAmount const &amount, STAmount const &amount2, std::uint16_t tfee) | 
|   | Withdraw both assets (Asset1Out, Asset2Out) with the constraints on the maximum amount of each asset that the trader is willing to withdraw.  
  | 
|   | 
| std::pair< TER, STAmount >  | singleWithdraw (Sandbox &view, SLE const &ammSle, AccountID const &ammAccount, STAmount const &amountBalance, STAmount const &lptAMMBalance, STAmount const &amount, std::uint16_t tfee) | 
|   | Single asset withdrawal (Asset1Out) equivalent to the amount specified in Asset1Out.  
  | 
|   | 
| std::pair< TER, STAmount >  | singleWithdrawTokens (Sandbox &view, SLE const &ammSle, AccountID const &ammAccount, STAmount const &amountBalance, STAmount const &lptAMMBalance, STAmount const &amount, STAmount const &lpTokensWithdraw, std::uint16_t tfee) | 
|   | Single asset withdrawal (Asset1Out, LPTokens) proportional to the share specified by tokens.  
  | 
|   | 
| std::pair< TER, STAmount >  | singleWithdrawEPrice (Sandbox &view, SLE const &ammSle, AccountID const &ammAccount, STAmount const &amountBalance, STAmount const &lptAMMBalance, STAmount const &amount, STAmount const &ePrice, std::uint16_t tfee) | 
|   | Withdraw single asset (Asset1Out, EPrice) with two constraints.  
  | 
|   | 
| std::pair< TER, XRPAmount >  | reset (XRPAmount fee) | 
|   | Reset the context, discarding any changes made and adjust the fee.  
  | 
|   | 
| TER  | consumeSeqProxy (SLE::pointer const &sleAccount) | 
|   | 
| TER  | payFee () | 
|   | 
| void  | trapTransaction (uint256) const | 
|   | 
Definition at line 70 of file AMMWithdraw.h.
 
Withdraw both assets (Asset1Out, Asset2Out) with the constraints on the maximum amount of each asset that the trader is willing to withdraw. 
All assets withdrawal with the constraints on the maximum amount of each asset that the trader is willing to withdraw.
The trading fee is not charged. 
- Parameters
 - 
  
    | view |  | 
    | ammAccount |  | 
    | amountBalance | current AMM asset1 balance  | 
    | amount2Balance | current AMM asset2 balance  | 
    | lptAMMBalance | current AMM LPT balance  | 
    | amount | asset1 withdraw amount  | 
    | amount2 | max asset2 withdraw amount  | 
    | tfee | trading fee in basis points  | 
  
   
- Returns
 
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 <= 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> 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 
Definition at line 861 of file AMMWithdraw.cpp.
 
 
Single asset withdrawal (Asset1Out) equivalent to the amount specified in Asset1Out. 
Withdraw single asset equivalent to the amount specified in Asset1Out.
The trading fee is charged. 
- Parameters
 - 
  
    | view |  | 
    | ammAccount |  | 
    | amountBalance | current AMM asset1 balance  | 
    | lptAMMBalance | current AMM LPT balance  | 
    | amount | asset1 withdraw amount  | 
    | tfee | trading fee in basis points  | 
  
   
- Returns
 
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. 
Definition at line 936 of file AMMWithdraw.cpp.
 
 
Single asset withdrawal (Asset1Out, LPTokens) proportional to the share specified by tokens. 
withdrawal of single asset specified in Asset1Out proportional to the share represented by the amount of LPTokens.
The trading fee is charged. 
- Parameters
 - 
  
    | view |  | 
    | ammAccount |  | 
    | amountBalance | current AMM asset1 balance  | 
    | lptAMMBalance | current AMM LPT balance  | 
    | amount | asset1 withdraw amount  | 
    | lpTokensWithdraw | amount of tokens to withdraw  | 
    | tfee | trading fee in basis points  | 
  
   
- Returns
 
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 & Y >= 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 
- See also
 - singleWithdraw for b. 
 
Definition at line 985 of file AMMWithdraw.cpp.
 
 
Withdraw single asset (Asset1Out, EPrice) with two constraints. 
Withdraw single asset with two constraints.
The trading fee is charged. 
- Parameters
 - 
  
    | view |  | 
    | ammAccount |  | 
    | amountBalance | current AMM asset1 balance  | 
    | lptAMMBalance | current AMM LPT balance  | 
    | amount | asset1 withdraw amount  | 
    | ePrice | maximum asset1 effective price  | 
    | tfee | trading fee in basis points  | 
  
   
- Returns
 
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 & 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 & Y >= 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 
Definition at line 1039 of file AMMWithdraw.cpp.