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>
42 throw std::runtime_error(
"Invalid ledger entry type for FeeSettings");
57 return this->
sle_->at(sfBaseFee);
69 return this->
sle_->isFieldPresent(sfBaseFee);
81 return this->
sle_->at(sfReferenceFeeUnits);
93 return this->
sle_->isFieldPresent(sfReferenceFeeUnits);
105 return this->
sle_->at(sfReserveBase);
117 return this->
sle_->isFieldPresent(sfReserveBase);
129 return this->
sle_->at(sfReserveIncrement);
141 return this->
sle_->isFieldPresent(sfReserveIncrement);
153 return this->
sle_->at(sfBaseFeeDrops);
165 return this->
sle_->isFieldPresent(sfBaseFeeDrops);
177 return this->
sle_->at(sfReserveBaseDrops);
189 return this->
sle_->isFieldPresent(sfReserveBaseDrops);
201 return this->
sle_->at(sfReserveIncrementDrops);
213 return this->
sle_->isFieldPresent(sfReserveIncrementDrops);
225 return this->
sle_->at(sfPreviousTxnID);
237 return this->
sle_->isFieldPresent(sfPreviousTxnID);
249 return this->
sle_->at(sfPreviousTxnLgrSeq);
261 return this->
sle_->isFieldPresent(sfPreviousTxnLgrSeq);
290 if (sle->at(sfLedgerEntryType) != ltFEE_SETTINGS)
317 object_[sfReferenceFeeUnits] = value;
328 object_[sfReserveBase] = value;
339 object_[sfReserveIncrement] = value;
350 object_[sfBaseFeeDrops] = value;
361 object_[sfReserveBaseDrops] = value;
372 object_[sfReserveIncrementDrops] = value;
383 object_[sfPreviousTxnID] = value;
394 object_[sfPreviousTxnLgrSeq] = value;
std::shared_ptr< STLedgerEntry const > const_pointer
Builder for FeeSettings ledger entries.
FeeSettingsBuilder & setReferenceFeeUnits(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfReferenceFeeUnits (SoeOptional).
FeeSettingsBuilder()
Construct a new FeeSettingsBuilder with required fields.
FeeSettingsBuilder & setPreviousTxnID(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Set sfPreviousTxnID (SoeOptional).
FeeSettingsBuilder & setPreviousTxnLgrSeq(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfPreviousTxnLgrSeq (SoeOptional).
FeeSettingsBuilder & setReserveBaseDrops(std::decay_t< typename SF_AMOUNT::type::value_type > const &value)
Set sfReserveBaseDrops (SoeOptional).
FeeSettingsBuilder & setReserveBase(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfReserveBase (SoeOptional).
FeeSettingsBuilder & setBaseFee(std::decay_t< typename SF_UINT64::type::value_type > const &value)
Ledger entry-specific field setters.
FeeSettingsBuilder(SLE::const_pointer sle)
Construct a FeeSettingsBuilder from an existing SLE object.
FeeSettings build(uint256 const &index)
Build and return the completed FeeSettings wrapper.
FeeSettingsBuilder & setBaseFeeDrops(std::decay_t< typename SF_AMOUNT::type::value_type > const &value)
Set sfBaseFeeDrops (SoeOptional).
FeeSettingsBuilder & setReserveIncrement(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfReserveIncrement (SoeOptional).
FeeSettingsBuilder & setReserveIncrementDrops(std::decay_t< typename SF_AMOUNT::type::value_type > const &value)
Set sfReserveIncrementDrops (SoeOptional).
Ledger Entry: FeeSettings.
bool hasReferenceFeeUnits() const
Check if sfReferenceFeeUnits is present.
protocol_autogen::Optional< SF_AMOUNT::type::value_type > getReserveIncrementDrops() const
Get sfReserveIncrementDrops (SoeOptional).
bool hasReserveIncrementDrops() const
Check if sfReserveIncrementDrops is present.
static constexpr LedgerEntryType entryType
protocol_autogen::Optional< SF_UINT256::type::value_type > getPreviousTxnID() const
Get sfPreviousTxnID (SoeOptional).
protocol_autogen::Optional< SF_UINT32::type::value_type > getPreviousTxnLgrSeq() const
Get sfPreviousTxnLgrSeq (SoeOptional).
bool hasReserveBase() const
Check if sfReserveBase is present.
bool hasBaseFee() const
Check if sfBaseFee is present.
protocol_autogen::Optional< SF_UINT32::type::value_type > getReserveBase() const
Get sfReserveBase (SoeOptional).
protocol_autogen::Optional< SF_UINT32::type::value_type > getReserveIncrement() const
Get sfReserveIncrement (SoeOptional).
FeeSettings(SLE::const_pointer sle)
Construct a FeeSettings ledger entry wrapper from an existing SLE object.
protocol_autogen::Optional< SF_AMOUNT::type::value_type > getReserveBaseDrops() const
Get sfReserveBaseDrops (SoeOptional).
bool hasPreviousTxnLgrSeq() const
Check if sfPreviousTxnLgrSeq is present.
protocol_autogen::Optional< SF_UINT32::type::value_type > getReferenceFeeUnits() const
Get sfReferenceFeeUnits (SoeOptional).
bool hasReserveIncrement() const
Check if sfReserveIncrement is present.
bool hasReserveBaseDrops() const
Check if sfReserveBaseDrops is present.
protocol_autogen::Optional< SF_AMOUNT::type::value_type > getBaseFeeDrops() const
Get sfBaseFeeDrops (SoeOptional).
protocol_autogen::Optional< SF_UINT64::type::value_type > getBaseFee() const
Get sfBaseFee (SoeOptional).
bool hasBaseFeeDrops() const
Check if sfBaseFeeDrops is present.
bool hasPreviousTxnID() const
Check if sfPreviousTxnID is present.
LedgerEntryBase(SLE::const_pointer sle)
Construct a ledger entry wrapper from an existing SLE object.
SLE::const_pointer sle_
The underlying serialized ledger entry being wrapped.
LedgerEntryBuilderBase()=default
std::conditional_t< std::is_reference_v< ValueType >, std::optional< std::reference_wrapper< std::remove_reference_t< ValueType > > >, std::optional< ValueType > > Optional
LedgerEntryType
Identifiers for on-ledger objects.