4#include <xrpl/protocol/STLedgerEntry.h>
5#include <xrpl/protocol/STParsedJSON.h>
6#include <xrpl/protocol/jss.h>
7#include <xrpl/protocol_autogen/LedgerEntryBase.h>
8#include <xrpl/protocol_autogen/LedgerEntryBuilderBase.h>
9#include <xrpl/json/json_value.h>
53 SF_ACCOUNT::type::value_type
56 return this->
sle_->at(sfAccount);
68 return this->
sle_->at(sfTradingFee);
80 return this->
sle_->isFieldPresent(sfTradingFee);
92 if (this->
sle_->isFieldPresent(sfVoteSlots))
93 return this->
sle_->getFieldArray(sfVoteSlots);
105 return this->
sle_->isFieldPresent(sfVoteSlots);
117 if (this->
sle_->isFieldPresent(sfAuctionSlot))
118 return this->
sle_->getFieldObject(sfAuctionSlot);
130 return this->
sle_->isFieldPresent(sfAuctionSlot);
138 SF_AMOUNT::type::value_type
141 return this->
sle_->at(sfLPTokenBalance);
149 SF_ISSUE::type::value_type
152 return this->
sle_->at(sfAsset);
160 SF_ISSUE::type::value_type
163 return this->
sle_->at(sfAsset2);
171 SF_UINT64::type::value_type
174 return this->
sle_->at(sfOwnerNode);
186 return this->
sle_->at(sfPreviousTxnID);
198 return this->
sle_->isFieldPresent(sfPreviousTxnID);
210 return this->
sle_->at(sfPreviousTxnLgrSeq);
222 return this->
sle_->isFieldPresent(sfPreviousTxnLgrSeq);
261 if (sle->at(sfLedgerEntryType) != ltAMM)
321 object_[sfLPTokenBalance] = value;
365 object_[sfPreviousTxnID] = value;
376 object_[sfPreviousTxnLgrSeq] = value;
void setFieldArray(SField const &field, STArray const &v)
void setFieldObject(SField const &field, STObject const &v)
Builder for AMM ledger entries.
AMMBuilder & setTradingFee(std::decay_t< typename SF_UINT16::type::value_type > const &value)
Set sfTradingFee (soeDEFAULT)
AMMBuilder & setPreviousTxnLgrSeq(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfPreviousTxnLgrSeq (soeOPTIONAL)
AMMBuilder & setAuctionSlot(STObject const &value)
Set sfAuctionSlot (soeOPTIONAL)
AMMBuilder & setOwnerNode(std::decay_t< typename SF_UINT64::type::value_type > const &value)
Set sfOwnerNode (soeREQUIRED)
AMMBuilder & setPreviousTxnID(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Set sfPreviousTxnID (soeOPTIONAL)
AMMBuilder & setVoteSlots(STArray const &value)
Set sfVoteSlots (soeOPTIONAL)
AMMBuilder & setAsset2(std::decay_t< typename SF_ISSUE::type::value_type > const &value)
Set sfAsset2 (soeREQUIRED)
AMMBuilder & setLPTokenBalance(std::decay_t< typename SF_AMOUNT::type::value_type > const &value)
Set sfLPTokenBalance (soeREQUIRED)
AMMBuilder & setAsset(std::decay_t< typename SF_ISSUE::type::value_type > const &value)
Set sfAsset (soeREQUIRED)
AMMBuilder & setAccount(std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
Ledger entry-specific field setters.
AMMBuilder(std::decay_t< typename SF_ACCOUNT::type::value_type > const &account, std::decay_t< typename SF_AMOUNT::type::value_type > const &lPTokenBalance, std::decay_t< typename SF_ISSUE::type::value_type > const &asset, std::decay_t< typename SF_ISSUE::type::value_type > const &asset2, std::decay_t< typename SF_UINT64::type::value_type > const &ownerNode)
Construct a new AMMBuilder with required fields.
AMM build(uint256 const &index)
Build and return the completed AMM wrapper.
AMMBuilder(std::shared_ptr< SLE const > sle)
Construct a AMMBuilder from an existing SLE object.
SF_ISSUE::type::value_type getAsset2() const
Get sfAsset2 (soeREQUIRED)
bool hasPreviousTxnLgrSeq() const
Check if sfPreviousTxnLgrSeq is present.
SF_ISSUE::type::value_type getAsset() const
Get sfAsset (soeREQUIRED)
std::optional< STObject > getAuctionSlot() const
Get sfAuctionSlot (soeOPTIONAL)
protocol_autogen::Optional< SF_UINT32::type::value_type > getPreviousTxnLgrSeq() const
Get sfPreviousTxnLgrSeq (soeOPTIONAL)
bool hasPreviousTxnID() const
Check if sfPreviousTxnID is present.
bool hasTradingFee() const
Check if sfTradingFee is present.
SF_AMOUNT::type::value_type getLPTokenBalance() const
Get sfLPTokenBalance (soeREQUIRED)
std::optional< std::reference_wrapper< STArray const > > getVoteSlots() const
Get sfVoteSlots (soeOPTIONAL)
bool hasAuctionSlot() const
Check if sfAuctionSlot is present.
AMM(std::shared_ptr< SLE const > sle)
Construct a AMM ledger entry wrapper from an existing SLE object.
static constexpr LedgerEntryType entryType
SF_ACCOUNT::type::value_type getAccount() const
Get sfAccount (soeREQUIRED)
protocol_autogen::Optional< SF_UINT256::type::value_type > getPreviousTxnID() const
Get sfPreviousTxnID (soeOPTIONAL)
protocol_autogen::Optional< SF_UINT16::type::value_type > getTradingFee() const
Get sfTradingFee (soeDEFAULT)
bool hasVoteSlots() const
Check if sfVoteSlots is present.
SF_UINT64::type::value_type getOwnerNode() const
Get sfOwnerNode (soeREQUIRED)
Base class for type-safe ledger entry wrappers.
std::shared_ptr< SLE const > sle_
The underlying serialized ledger entry being wrapped.
Base class for all ledger entry builders.
LedgerEntryType
Identifiers for on-ledger objects.