rippled
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions | Static Private Member Functions | List of all members
ripple::AMMBid Class Reference

AMMBid implements AMM bid Transactor. More...

#include <AMMBid.h>

Inheritance diagram for ripple::AMMBid:
Inheritance graph
[legend]
Collaboration diagram for ripple::AMMBid:
Collaboration graph
[legend]

Public Types

enum  ConsequencesFactoryType { Normal , Blocker , Custom }
 

Public Member Functions

 AMMBid (ApplyContext &ctx)
 
TER doApply () override
 
ApplyResult operator() ()
 Process the transaction.
 
ApplyViewview ()
 
ApplyView const & view () const
 

Static Public Member Functions

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)
 
static TER 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 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.
 

Protected Attributes

ApplyContextctx_
 
beast::WrappedSink sink_
 
beast::Journal const j_
 
AccountID const account_
 
XRPAmount mPriorBalance
 
XRPAmount mSourceBalance
 

Private Member Functions

std::pair< TER, XRPAmountreset (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 (AccountID const &idSigner, AccountID const &idAccount, std::shared_ptr< SLE const > sleAccount, Rules const &rules, beast::Journal j)
 
static NotTEC checkMultiSign (ReadView const &view, AccountID const &idAccount, STArray const &txSigners, ApplyFlags const &flags, beast::Journal j)
 

Detailed Description

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:

Definition at line 65 of file AMMBid.h.

Member Enumeration Documentation

◆ ConsequencesFactoryType

Enumerator
Normal 
Blocker 
Custom 

Definition at line 155 of file Transactor.h.

Constructor & Destructor Documentation

◆ AMMBid()

ripple::AMMBid::AMMBid ( ApplyContext ctx)
explicit

Definition at line 70 of file AMMBid.h.

Member Function Documentation

◆ preflight()

NotTEC ripple::AMMBid::preflight ( PreflightContext const &  ctx)
static

Definition at line 34 of file AMMBid.cpp.

◆ preclaim()

TER ripple::AMMBid::preclaim ( PreclaimContext const &  ctx)
static

Definition at line 102 of file AMMBid.cpp.

◆ doApply()

TER ripple::AMMBid::doApply ( )
overridevirtual

Implements ripple::Transactor.

Definition at line 375 of file AMMBid.cpp.

◆ operator()()

ApplyResult ripple::Transactor::operator() ( )
inherited

Process the transaction.

Definition at line 1064 of file Transactor.cpp.

◆ view() [1/2]

ApplyView & ripple::Transactor::view ( )
inherited

Definition at line 161 of file Transactor.h.

◆ view() [2/2]

ApplyView const & ripple::Transactor::view ( ) const
inherited

Definition at line 167 of file Transactor.h.

◆ checkSeqProxy()

NotTEC ripple::Transactor::checkSeqProxy ( ReadView const &  view,
STTx const &  tx,
beast::Journal  j 
)
staticinherited

Definition at line 361 of file Transactor.cpp.

◆ checkPriorTxAndLastLedger()

NotTEC ripple::Transactor::checkPriorTxAndLastLedger ( PreclaimContext const &  ctx)
staticinherited

Definition at line 433 of file Transactor.cpp.

◆ checkFee()

TER ripple::Transactor::checkFee ( PreclaimContext const &  ctx,
XRPAmount  baseFee 
)
staticinherited

Definition at line 261 of file Transactor.cpp.

◆ checkSign()

NotTEC ripple::Transactor::checkSign ( PreclaimContext const &  ctx)
staticinherited

Definition at line 581 of file Transactor.cpp.

◆ checkBatchSign()

NotTEC ripple::Transactor::checkBatchSign ( PreclaimContext const &  ctx)
staticinherited

Definition at line 638 of file Transactor.cpp.

◆ calculateBaseFee()

XRPAmount ripple::Transactor::calculateBaseFee ( ReadView const &  view,
STTx const &  tx 
)
staticinherited

Definition at line 233 of file Transactor.cpp.

◆ checkPermission()

TER ripple::Transactor::checkPermission ( ReadView const &  view,
STTx const &  tx 
)
staticinherited

Definition at line 217 of file Transactor.cpp.

◆ ticketDelete()

TER ripple::Transactor::ticketDelete ( ApplyView view,
AccountID const &  account,
uint256 const &  ticketIndex,
beast::Journal  j 
)
staticinherited

Definition at line 482 of file Transactor.cpp.

◆ apply()

TER ripple::Transactor::apply ( )
protectedinherited

Definition at line 544 of file Transactor.cpp.

◆ preCompute()

void ripple::Transactor::preCompute ( )
protectedvirtualinherited

Reimplemented in ripple::Change, and ripple::SetSignerList.

Definition at line 536 of file Transactor.cpp.

◆ minimumFee()

XRPAmount ripple::Transactor::minimumFee ( Application app,
XRPAmount  baseFee,
Fees const &  fees,
ApplyFlags  flags 
)
staticprotectedinherited

Compute the minimum fee required to process a transaction with a given baseFee based on the current server load.

Parameters
appThe application hosting the server
baseFeeThe base fee of a candidate transaction
See also
ripple::calculateBaseFee
Parameters
feesFee settings from the current ledger
flagsTransaction processing fees

Definition at line 251 of file Transactor.cpp.

◆ reset()

std::pair< TER, XRPAmount > ripple::Transactor::reset ( XRPAmount  fee)
privateinherited

Reset the context, discarding any changes made and adjust the fee.

Parameters
feeThe transaction fee to be charged.
Returns
A pair containing the transaction result and the actual fee charged.

Definition at line 1002 of file Transactor.cpp.

◆ consumeSeqProxy()

TER ripple::Transactor::consumeSeqProxy ( SLE::pointer const &  sleAccount)
privateinherited

Definition at line 463 of file Transactor.cpp.

◆ payFee()

TER ripple::Transactor::payFee ( )
privateinherited

Definition at line 326 of file Transactor.cpp.

◆ checkSingleSign()

NotTEC ripple::Transactor::checkSingleSign ( AccountID const &  idSigner,
AccountID const &  idAccount,
std::shared_ptr< SLE const >  sleAccount,
Rules const &  rules,
beast::Journal  j 
)
staticprivateinherited

Definition at line 685 of file Transactor.cpp.

◆ checkMultiSign()

NotTEC ripple::Transactor::checkMultiSign ( ReadView const &  view,
AccountID const &  idAccount,
STArray const &  txSigners,
ApplyFlags const &  flags,
beast::Journal  j 
)
staticprivateinherited

Definition at line 746 of file Transactor.cpp.

◆ trapTransaction()

void ripple::Transactor::trapTransaction ( uint256  txHash) const
privateinherited

Definition at line 1057 of file Transactor.cpp.

Member Data Documentation

◆ ConsequencesFactory

constexpr ConsequencesFactoryType ripple::AMMBid::ConsequencesFactory {Normal}
staticconstexpr

Definition at line 68 of file AMMBid.h.

◆ ctx_

ApplyContext& ripple::Transactor::ctx_
protectedinherited

Definition at line 141 of file Transactor.h.

◆ sink_

beast::WrappedSink ripple::Transactor::sink_
protectedinherited

Definition at line 142 of file Transactor.h.

◆ j_

beast::Journal const ripple::Transactor::j_
protectedinherited

Definition at line 143 of file Transactor.h.

◆ account_

AccountID const ripple::Transactor::account_
protectedinherited

Definition at line 145 of file Transactor.h.

◆ mPriorBalance

XRPAmount ripple::Transactor::mPriorBalance
protectedinherited

Definition at line 146 of file Transactor.h.

◆ mSourceBalance

XRPAmount ripple::Transactor::mSourceBalance
protectedinherited

Definition at line 147 of file Transactor.h.