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 Amendments");
57 return this->
sle_->at(sfAmendments);
69 return this->
sle_->isFieldPresent(sfAmendments);
81 if (this->
sle_->isFieldPresent(sfMajorities))
82 return this->
sle_->getFieldArray(sfMajorities);
94 return this->
sle_->isFieldPresent(sfMajorities);
106 return this->
sle_->at(sfPreviousTxnID);
118 return this->
sle_->isFieldPresent(sfPreviousTxnID);
130 return this->
sle_->at(sfPreviousTxnLgrSeq);
142 return this->
sle_->isFieldPresent(sfPreviousTxnLgrSeq);
171 if (sle->at(sfLedgerEntryType) != ltAMENDMENTS)
198 object_.setFieldArray(sfMajorities, value);
209 object_[sfPreviousTxnID] = value;
220 object_[sfPreviousTxnLgrSeq] = value;
std::shared_ptr< STLedgerEntry const > const_pointer
Builder for Amendments ledger entries.
AmendmentsBuilder & setPreviousTxnID(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Set sfPreviousTxnID (SoeOptional).
AmendmentsBuilder & setAmendments(std::decay_t< typename SF_VECTOR256::type::value_type > const &value)
Ledger entry-specific field setters.
AmendmentsBuilder()
Construct a new AmendmentsBuilder with required fields.
Amendments build(uint256 const &index)
Build and return the completed Amendments wrapper.
AmendmentsBuilder(SLE::const_pointer sle)
Construct a AmendmentsBuilder from an existing SLE object.
AmendmentsBuilder & setPreviousTxnLgrSeq(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfPreviousTxnLgrSeq (SoeOptional).
AmendmentsBuilder & setMajorities(STArray const &value)
Set sfMajorities (SoeOptional).
Ledger Entry: Amendments.
std::optional< std::reference_wrapper< STArray const > > getMajorities() const
Get sfMajorities (SoeOptional).
protocol_autogen::Optional< SF_VECTOR256::type::value_type > getAmendments() const
Get sfAmendments (SoeOptional).
bool hasPreviousTxnLgrSeq() const
Check if sfPreviousTxnLgrSeq is present.
bool hasPreviousTxnID() const
Check if sfPreviousTxnID is present.
Amendments(SLE::const_pointer sle)
Construct a Amendments ledger entry wrapper from an existing SLE object.
protocol_autogen::Optional< SF_UINT32::type::value_type > getPreviousTxnLgrSeq() const
Get sfPreviousTxnLgrSeq (SoeOptional).
protocol_autogen::Optional< SF_UINT256::type::value_type > getPreviousTxnID() const
Get sfPreviousTxnID (SoeOptional).
bool hasAmendments() const
Check if sfAmendments is present.
static constexpr LedgerEntryType entryType
bool hasMajorities() const
Check if sfMajorities 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.