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 SignerList");
57 return this->
sle_->at(sfOwner);
69 return this->
sle_->isFieldPresent(sfOwner);
77 SF_UINT64::type::value_type
80 return this->
sle_->at(sfOwnerNode);
88 SF_UINT32::type::value_type
91 return this->
sle_->at(sfSignerQuorum);
103 return this->
sle_->getFieldArray(sfSignerEntries);
111 SF_UINT32::type::value_type
114 return this->
sle_->at(sfSignerListID);
122 SF_UINT256::type::value_type
125 return this->
sle_->at(sfPreviousTxnID);
133 SF_UINT32::type::value_type
136 return this->
sle_->at(sfPreviousTxnLgrSeq);
177 if (sle->at(sfLedgerEntryType) != ltSIGNER_LIST)
215 object_[sfSignerQuorum] = value;
226 object_.setFieldArray(sfSignerEntries, value);
237 object_[sfSignerListID] = value;
248 object_[sfPreviousTxnID] = value;
259 object_[sfPreviousTxnLgrSeq] = value;
std::shared_ptr< STLedgerEntry const > const_pointer
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
Builder for SignerList ledger entries.
SignerListBuilder & setSignerQuorum(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfSignerQuorum (SoeRequired).
SignerListBuilder & setOwner(std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
Ledger entry-specific field setters.
SignerListBuilder & setOwnerNode(std::decay_t< typename SF_UINT64::type::value_type > const &value)
Set sfOwnerNode (SoeRequired).
SignerListBuilder(std::decay_t< typename SF_UINT64::type::value_type > const &ownerNode, std::decay_t< typename SF_UINT32::type::value_type > const &signerQuorum, STArray const &signerEntries, std::decay_t< typename SF_UINT32::type::value_type > const &signerListID, std::decay_t< typename SF_UINT256::type::value_type > const &previousTxnID, std::decay_t< typename SF_UINT32::type::value_type > const &previousTxnLgrSeq)
Construct a new SignerListBuilder with required fields.
SignerListBuilder & setSignerListID(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfSignerListID (SoeRequired).
SignerListBuilder & setSignerEntries(STArray const &value)
Set sfSignerEntries (SoeRequired).
SignerListBuilder & setPreviousTxnID(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Set sfPreviousTxnID (SoeRequired).
SignerList build(uint256 const &index)
Build and return the completed SignerList wrapper.
SignerListBuilder(SLE::const_pointer sle)
Construct a SignerListBuilder from an existing SLE object.
SignerListBuilder & setPreviousTxnLgrSeq(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfPreviousTxnLgrSeq (SoeRequired).
Ledger Entry: SignerList.
SF_UINT32::type::value_type getPreviousTxnLgrSeq() const
Get sfPreviousTxnLgrSeq (SoeRequired).
SignerList(SLE::const_pointer sle)
Construct a SignerList ledger entry wrapper from an existing SLE object.
bool hasOwner() const
Check if sfOwner is present.
protocol_autogen::Optional< SF_ACCOUNT::type::value_type > getOwner() const
Get sfOwner (SoeOptional).
SF_UINT32::type::value_type getSignerListID() const
Get sfSignerListID (SoeRequired).
STArray const & getSignerEntries() const
Get sfSignerEntries (SoeRequired).
SF_UINT32::type::value_type getSignerQuorum() const
Get sfSignerQuorum (SoeRequired).
SF_UINT256::type::value_type getPreviousTxnID() const
Get sfPreviousTxnID (SoeRequired).
static constexpr LedgerEntryType entryType
SF_UINT64::type::value_type getOwnerNode() const
Get sfOwnerNode (SoeRequired).
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.