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::AMMVote Class Reference

AMMVote implements AMM vote Transactor. More...

#include <AMMVote.h>

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

Public Types

enum  ConsequencesFactoryType { Normal , Blocker , Custom }
 

Public Member Functions

 AMMVote (ApplyContext &ctx)
 
TER doApply () override
 
ApplyResult operator() ()
 Process the transaction. More...
 
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 XRPAmount calculateBaseFee (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. More...
 

Protected Attributes

ApplyContextctx_
 
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. More...
 
TER consumeSeqProxy (SLE::pointer const &sleAccount)
 
TER payFee ()
 
void trapTransaction (uint256) const
 

Static Private Member Functions

static NotTEC checkSingleSign (PreclaimContext const &ctx)
 
static NotTEC checkMultiSign (PreclaimContext const &ctx)
 

Detailed Description

AMMVote implements AMM vote Transactor.

This transactor allows for the TradingFee of the AMM instance be a votable parameter. Any account (LP) that holds the corresponding LPTokens can cast a vote using the new AMMVote transaction. VoteSlots array in ltAMM object keeps track of upto eight active votes (VoteEntry) for the instance. VoteEntry contains: Account - account id that cast the vote. FeeVal - proposed fee in basis points. VoteWeight - LPTokens owned by the account in basis points. TradingFee is calculated as sum(VoteWeight_i * fee_i)/sum(VoteWeight_i). Every time AMMVote transaction is submitted, the transactor

Definition at line 50 of file AMMVote.h.

Member Enumeration Documentation

◆ ConsequencesFactoryType

Enumerator
Normal 
Blocker 
Custom 

Definition at line 101 of file Transactor.h.

Constructor & Destructor Documentation

◆ AMMVote()

ripple::AMMVote::AMMVote ( ApplyContext ctx)
explicit

Definition at line 55 of file AMMVote.h.

Member Function Documentation

◆ preflight()

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

Definition at line 33 of file AMMVote.cpp.

◆ preclaim()

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

Definition at line 64 of file AMMVote.cpp.

◆ doApply()

TER ripple::AMMVote::doApply ( )
overridevirtual

Implements ripple::Transactor.

Definition at line 241 of file AMMVote.cpp.

◆ operator()()

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

Process the transaction.

Definition at line 912 of file Transactor.cpp.

◆ view() [1/2]

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

Definition at line 107 of file Transactor.h.

◆ view() [2/2]

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

Definition at line 113 of file Transactor.h.

◆ checkSeqProxy()

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

Definition at line 295 of file Transactor.cpp.

◆ checkPriorTxAndLastLedger()

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

Definition at line 367 of file Transactor.cpp.

◆ checkFee()

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

Definition at line 222 of file Transactor.cpp.

◆ checkSign()

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

Definition at line 515 of file Transactor.cpp.

◆ calculateBaseFee()

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

Definition at line 194 of file Transactor.cpp.

◆ ticketDelete()

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

Definition at line 416 of file Transactor.cpp.

◆ apply()

TER ripple::Transactor::apply ( )
protectedinherited

Definition at line 478 of file Transactor.cpp.

◆ preCompute()

void ripple::Transactor::preCompute ( )
protectedvirtualinherited

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

Definition at line 470 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 212 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.

Definition at line 862 of file Transactor.cpp.

◆ consumeSeqProxy()

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

Definition at line 397 of file Transactor.cpp.

◆ payFee()

TER ripple::Transactor::payFee ( )
privateinherited

Definition at line 275 of file Transactor.cpp.

◆ checkSingleSign()

NotTEC ripple::Transactor::checkSingleSign ( PreclaimContext const &  ctx)
staticprivateinherited

Definition at line 533 of file Transactor.cpp.

◆ checkMultiSign()

NotTEC ripple::Transactor::checkMultiSign ( PreclaimContext const &  ctx)
staticprivateinherited

Definition at line 613 of file Transactor.cpp.

◆ trapTransaction()

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

Definition at line 905 of file Transactor.cpp.

Member Data Documentation

◆ ConsequencesFactory

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

Definition at line 53 of file AMMVote.h.

◆ ctx_

ApplyContext& ripple::Transactor::ctx_
protectedinherited

Definition at line 88 of file Transactor.h.

◆ j_

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

Definition at line 89 of file Transactor.h.

◆ account_

AccountID const ripple::Transactor::account_
protectedinherited

Definition at line 91 of file Transactor.h.

◆ mPriorBalance

XRPAmount ripple::Transactor::mPriorBalance
protectedinherited

Definition at line 92 of file Transactor.h.

◆ mSourceBalance

XRPAmount ripple::Transactor::mSourceBalance
protectedinherited

Definition at line 93 of file Transactor.h.