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

#include <Transactor.h>

Inherited by ripple::AMMBid, ripple::AMMClawback, ripple::AMMCreate, ripple::AMMDelete, ripple::AMMDeposit, ripple::AMMVote, ripple::AMMWithdraw, ripple::Batch, ripple::BridgeModify, ripple::CancelCheck, ripple::CancelOffer, ripple::CashCheck, ripple::Change, ripple::Clawback, ripple::CreateCheck, ripple::CreateOffer, ripple::CreateTicket, ripple::CredentialAccept, ripple::CredentialCreate, ripple::CredentialDelete, ripple::DIDDelete, ripple::DIDSet, ripple::DelegateSet, ripple::DeleteAccount, ripple::DeleteOracle, ripple::DepositPreauth, ripple::EscrowCancel, ripple::EscrowCreate, ripple::EscrowFinish, ripple::LedgerStateFix, ripple::MPTokenAuthorize, ripple::MPTokenIssuanceCreate, ripple::MPTokenIssuanceDestroy, ripple::MPTokenIssuanceSet, ripple::NFTokenAcceptOffer, ripple::NFTokenBurn, ripple::NFTokenCancelOffer, ripple::NFTokenCreateOffer, ripple::NFTokenMint, ripple::NFTokenModify, ripple::PayChanClaim, ripple::PayChanCreate, ripple::PayChanFund, ripple::Payment, ripple::PermissionedDomainDelete, ripple::PermissionedDomainSet, ripple::SetAccount, ripple::SetOracle, ripple::SetRegularKey, ripple::SetSignerList, ripple::SetTrust, ripple::VaultClawback, ripple::VaultCreate, ripple::VaultDelete, ripple::VaultDeposit, ripple::VaultSet, ripple::VaultWithdraw, ripple::XChainAddAccountCreateAttestation, ripple::XChainAddClaimAttestation, ripple::XChainClaim, ripple::XChainCommit, ripple::XChainCreateAccountCommit, ripple::XChainCreateBridge, and ripple::XChainCreateClaimID.

Collaboration diagram for ripple::Transactor:
Collaboration graph
[legend]

Public Types

enum  ConsequencesFactoryType { Normal , Blocker , Custom }
 

Public Member Functions

ApplyResult operator() ()
 Process the transaction. More...
 
ApplyViewview ()
 
ApplyView const & view () const
 

Static Public Member Functions

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 preclaim (PreclaimContext const &ctx)
 
static TER checkPermission (ReadView const &view, STTx const &tx)
 
static TER ticketDelete (ApplyView &view, AccountID const &account, uint256 const &ticketIndex, beast::Journal j)
 

Protected Member Functions

virtual ~Transactor ()=default
 
 Transactor (Transactor const &)=delete
 
Transactoroperator= (Transactor const &)=delete
 
TER apply ()
 
 Transactor (ApplyContext &ctx)
 
virtual void preCompute ()
 
virtual TER doApply ()=0
 

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 (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

Definition at line 137 of file Transactor.h.

Member Enumeration Documentation

◆ ConsequencesFactoryType

Enumerator
Normal 
Blocker 
Custom 

Definition at line 153 of file Transactor.h.

Constructor & Destructor Documentation

◆ ~Transactor()

virtual ripple::Transactor::~Transactor ( )
protectedvirtualdefault

◆ Transactor() [1/2]

ripple::Transactor::Transactor ( Transactor const &  )
protecteddelete

◆ Transactor() [2/2]

ripple::Transactor::Transactor ( ApplyContext ctx)
explicitprotected

Definition at line 208 of file Transactor.cpp.

Member Function Documentation

◆ operator=()

Transactor & ripple::Transactor::operator= ( Transactor const &  )
protecteddelete

◆ operator()()

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

Process the transaction.

Definition at line 1061 of file Transactor.cpp.

◆ view() [1/2]

ApplyView & ripple::Transactor::view ( )

Definition at line 159 of file Transactor.h.

◆ view() [2/2]

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

Definition at line 165 of file Transactor.h.

◆ checkSeqProxy()

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

Definition at line 358 of file Transactor.cpp.

◆ checkPriorTxAndLastLedger()

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

Definition at line 430 of file Transactor.cpp.

◆ checkFee()

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

Definition at line 258 of file Transactor.cpp.

◆ checkSign()

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

Definition at line 578 of file Transactor.cpp.

◆ checkBatchSign()

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

Definition at line 635 of file Transactor.cpp.

◆ calculateBaseFee()

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

Definition at line 230 of file Transactor.cpp.

◆ preclaim()

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

Definition at line 200 of file Transactor.h.

◆ checkPermission()

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

Definition at line 214 of file Transactor.cpp.

◆ ticketDelete()

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

Definition at line 479 of file Transactor.cpp.

◆ apply()

TER ripple::Transactor::apply ( )
protected

Definition at line 541 of file Transactor.cpp.

◆ preCompute()

void ripple::Transactor::preCompute ( )
protectedvirtual

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

Definition at line 533 of file Transactor.cpp.

◆ doApply()

virtual TER ripple::Transactor::doApply ( )
protectedpure virtual

◆ minimumFee()

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

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 248 of file Transactor.cpp.

◆ reset()

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

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 999 of file Transactor.cpp.

◆ consumeSeqProxy()

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

Definition at line 460 of file Transactor.cpp.

◆ payFee()

TER ripple::Transactor::payFee ( )
private

Definition at line 323 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 
)
staticprivate

Definition at line 682 of file Transactor.cpp.

◆ checkMultiSign()

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

Definition at line 743 of file Transactor.cpp.

◆ trapTransaction()

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

Definition at line 1054 of file Transactor.cpp.

Member Data Documentation

◆ ctx_

ApplyContext& ripple::Transactor::ctx_
protected

Definition at line 140 of file Transactor.h.

◆ j_

beast::Journal const ripple::Transactor::j_
protected

Definition at line 141 of file Transactor.h.

◆ account_

AccountID const ripple::Transactor::account_
protected

Definition at line 143 of file Transactor.h.

◆ mPriorBalance

XRPAmount ripple::Transactor::mPriorBalance
protected

Definition at line 144 of file Transactor.h.

◆ mSourceBalance

XRPAmount ripple::Transactor::mSourceBalance
protected

Definition at line 145 of file Transactor.h.