|
rippled
|
AMMBid implements AMM bid Transactor. More...
#include <AMMBid.h>


Public Types | |
| enum | ConsequencesFactoryType { Normal , Blocker , Custom } |
Public Member Functions | |
| AMMBid (ApplyContext &ctx) | |
| TER | doApply () override |
| ApplyResult | operator() () |
| Process the transaction. | |
| ApplyView & | view () |
| ApplyView const & | view () const |
Static Public Member Functions | |
| static bool | checkExtraFeatures (PreflightContext const &ctx) |
| static NotTEC | preflight (PreflightContext const &ctx) |
| static TER | preclaim (PreclaimContext const &ctx) |
| 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 Public Attributes | |
| static constexpr ConsequencesFactoryType | ConsequencesFactory {Normal} |
Protected Member Functions | |
| TER | apply () |
| virtual void | preCompute () |
Static Protected Member Functions | |
| static NotTEC | checkSign (ReadView const &view, ApplyFlags flags, std::optional< uint256 const > const &parentBatchId, 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 std::uint32_t | getFlagsMask (PreflightContext const &ctx) |
| 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=T{}) |
| template<class T , class Unit > | |
| static bool | validNumericRange (std::optional< T > value, unit::ValueUnit< Unit, T > max, unit::ValueUnit< Unit, T > min=unit::ValueUnit< Unit, T >{}) |
| template<class T > | |
| static bool | validNumericMinimum (std::optional< T > value, T min=T{}) |
| Minimum will usually be zero. | |
| template<class T , class Unit > | |
| static bool | validNumericMinimum (std::optional< T > value, unit::ValueUnit< Unit, T > min=unit::ValueUnit< Unit, T >{}) |
| Minimum will usually be zero. | |
Protected Attributes | |
| ApplyContext & | ctx_ |
| beast::WrappedSink | sink_ |
| beast::Journal const | j_ |
| AccountID const | account_ |
| XRPAmount | mPriorBalance |
| XRPAmount | mSourceBalance |
Private Member Functions | |
| 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 |
Static Private Member Functions | |
| static NotTEC | checkSingleSign (ReadView const &view, AccountID const &idSigner, AccountID const &idAccount, std::shared_ptr< SLE const > sleAccount, beast::Journal const j) |
| static NotTEC | checkMultiSign (ReadView const &view, ApplyFlags flags, AccountID const &id, STObject const &sigObject, beast::Journal const j) |
| static NotTEC | preflight1 (PreflightContext const &ctx, std::uint32_t flagMask) |
| Performs early sanity checks on the account and fee fields. | |
| static NotTEC | preflight2 (PreflightContext const &ctx) |
| Checks whether the signature appears valid. | |
AMMBid implements AMM bid Transactor.
This is a mechanism for an AMM instance to auction-off the trading advantages to users (arbitrageurs) at a discounted TradingFee for a 24 hour slot. Any account that owns corresponding LPTokens can bid for the auction slot of that AMM instance. Part of the proceeds from the auction, i.e. LPTokens are refunded to the current slot-holder computed on a pro rata basis. Remaining part of the proceeds - in the units of LPTokens- is burnt, thus effectively increasing the LPs shares. Total slot time of 24 hours is divided into 20 equal intervals. The auction slot can be in any of the following states at any time:
|
inherited |
| Enumerator | |
|---|---|
| Normal | |
| Blocker | |
| Custom | |
Definition at line 122 of file Transactor.h.
|
explicit |
|
static |
Definition at line 15 of file AMMBid.cpp.
|
static |
Definition at line 21 of file AMMBid.cpp.
|
static |
Definition at line 76 of file AMMBid.cpp.
|
overridevirtual |
Implements xrpl::Transactor.
Definition at line 315 of file AMMBid.cpp.
|
inherited |
Process the transaction.
Definition at line 1042 of file Transactor.cpp.
|
inherited |
Definition at line 128 of file Transactor.h.
|
inherited |
Definition at line 134 of file Transactor.h.
|
staticinherited |
Definition at line 406 of file Transactor.cpp.
|
staticinherited |
Definition at line 470 of file Transactor.cpp.
|
staticinherited |
Definition at line 312 of file Transactor.cpp.
|
staticinherited |
Definition at line 675 of file Transactor.cpp.
|
staticprotectedinherited |
Definition at line 612 of file Transactor.cpp.
|
staticinherited |
Definition at line 683 of file Transactor.cpp.
|
staticinherited |
Definition at line 268 of file Transactor.cpp.
|
staticinherited |
Definition at line 364 of file Transactor.h.
|
staticinherited |
Definition at line 18 of file Change.cpp.
|
staticinherited |
Definition at line 252 of file Transactor.cpp.
|
staticinherited |
Definition at line 513 of file Transactor.cpp.
|
protectedinherited |
Definition at line 577 of file Transactor.cpp.
|
protectedvirtualinherited |
Reimplemented in xrpl::Change, and xrpl::SetSignerList.
Definition at line 571 of file Transactor.cpp.
|
staticprotectedinherited |
Compute the minimum fee required to process a transaction with a given baseFee based on the current server load.
| app | The application hosting the server |
| baseFee | The base fee of a candidate transaction |
| fees | Fee settings from the current ledger |
| flags | Transaction processing fees |
Definition at line 306 of file Transactor.cpp.
|
staticprotectedinherited |
Definition at line 286 of file Transactor.cpp.
|
staticprotectedinherited |
Definition at line 240 of file Transactor.cpp.
|
staticprotectedinherited |
Definition at line 246 of file Transactor.cpp.
|
staticprotectedinherited |
Definition at line 232 of file Transactor.cpp.
|
staticprotectedinherited |
Definition at line 390 of file Transactor.h.
|
staticprotectedinherited |
Definition at line 399 of file Transactor.h.
|
staticprotectedinherited |
Minimum will usually be zero.
Definition at line 406 of file Transactor.h.
|
staticprotectedinherited |
Minimum will usually be zero.
Definition at line 415 of file Transactor.h.
Reset the context, discarding any changes made and adjust the fee.
| fee | The transaction fee to be charged. |
Definition at line 984 of file Transactor.cpp.
|
privateinherited |
Definition at line 496 of file Transactor.cpp.
|
privateinherited |
Definition at line 372 of file Transactor.cpp.
|
staticprivateinherited |
Definition at line 725 of file Transactor.cpp.
|
staticprivateinherited |
Definition at line 757 of file Transactor.cpp.
|
privateinherited |
Definition at line 1035 of file Transactor.cpp.
|
staticprivateinherited |
Performs early sanity checks on the account and fee fields.
(And passes flagMask to preflight0)
Do not try to call preflight1 from preflight() in derived classes. See the description of invokePreflight for details.
Definition at line 135 of file Transactor.cpp.
|
staticprivateinherited |
Checks whether the signature appears valid.
Do not try to call preflight2 from preflight() in derived classes. See the description of invokePreflight for details.
Definition at line 188 of file Transactor.cpp.
|
staticconstexpr |
|
protectedinherited |
Definition at line 108 of file Transactor.h.
|
protectedinherited |
Definition at line 109 of file Transactor.h.
|
protectedinherited |
Definition at line 110 of file Transactor.h.
|
protectedinherited |
Definition at line 112 of file Transactor.h.
|
protectedinherited |
Definition at line 113 of file Transactor.h.
|
protectedinherited |
Definition at line 114 of file Transactor.h.