20 #ifndef RIPPLE_TX_CREATEOFFER_H_INCLUDED
21 #define RIPPLE_TX_CREATEOFFER_H_INCLUDED
23 #include <ripple/app/tx/impl/OfferStream.h>
24 #include <ripple/app/tx/impl/Taker.h>
25 #include <ripple/app/tx/impl/Transactor.h>
125 Amounts
const& takerAmount);
std::pair< TER, Amounts > takerCross(Sandbox &sb, Sandbox &sbCancel, Amounts const &takerAmount)
std::pair< TER, Amounts > flowCross(PaymentSandbox &psb, PaymentSandbox &psbCancel, Amounts const &takerAmount)
A currency issued by an account.
A wrapper which makes credits unavailable to balances.
static constexpr ConsequencesFactoryType ConsequencesFactory
Presents and consumes the offers in an order book.
static NotTEC preflight(PreflightContext const &ctx)
Enforce constraints beyond those of the Transactor base class.
CreateOffer(ApplyContext &ctx)
Construct a Transactor subclass that creates an offer in the ledger.
std::pair< TER, bool > applyGuts(Sandbox &view, Sandbox &view_cancel)
Writeable view to a ledger, for applying a transaction.
Integers of any length that is a multiple of 32-bits.
static std::string format_amount(STAmount const &amount)
std::pair< TER, Amounts > bridged_cross(Taker &taker, ApplyView &view, ApplyView &view_cancel, NetClock::time_point const when)
static TER preclaim(PreclaimContext const &ctx)
Enforce constraints beyond those of the Transactor base class.
CrossType
The flavor of an offer crossing.
void preCompute() override
Gather information beyond what the Transactor base class gathers.
static bool step_account(OfferStream &stream, Taker const &taker)
Discardable, editable view to a ledger.
static TxConsequences makeTxConsequences(PreflightContext const &ctx)
State information when applying a tx.
A generic endpoint for log messages.
Transactor specialized for creating offers in the ledger.
TER doApply() override
Precondition: fee collection is likely.
State information when determining if a tx is likely to claim a fee.
std::pair< TER, Amounts > direct_cross(Taker &taker, ApplyView &view, ApplyView &view_cancel, NetClock::time_point const when)
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
std::pair< TER, Amounts > cross(Sandbox &sb, Sandbox &sbCancel, Amounts const &takerAmount)
bool reachedOfferCrossingLimit(Taker const &taker) const
bool dry_offer(ApplyView &view, Offer const &offer)
static TER checkAcceptAsset(ReadView const &view, ApplyFlags const flags, AccountID const id, beast::Journal const j, Issue const &issue)
State information when preflighting a tx.
static std::pair< bool, Quality > select_path(bool have_direct, OfferStream const &direct, bool have_bridge, OfferStream const &leg1, OfferStream const &leg2)
Class describing the consequences to the account of applying a transaction if the transaction consume...
OfferStream::StepCounter stepCounter_