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 TransactionProposal");
53 SF_UINT256::type::value_type
56 return this->
sle_->at(sfPreviousTxnID);
64 SF_UINT32::type::value_type
67 return this->
sle_->at(sfPreviousTxnLgrSeq);
75 SF_ACCOUNT::type::value_type
78 return this->
sle_->at(sfOwner);
90 return this->
sle_->getFieldObject(sfProposedTransaction);
98 SF_UINT32::type::value_type
101 return this->
sle_->at(sfExpiration);
109 SF_UINT64::type::value_type
112 return this->
sle_->at(sfOwnerNode);
153 if (sle->at(sfLedgerEntryType) != ltTRANSACTION_PROPOSAL)
171 object_[sfPreviousTxnID] = value;
182 object_[sfPreviousTxnLgrSeq] = value;
204 object_.setFieldObject(sfProposedTransaction, 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 TransactionProposal ledger entries.
TransactionProposal build(UInt256 const &index)
Build and return the completed TransactionProposal wrapper.
TransactionProposalBuilder & setProposedTransaction(STObject const &value)
Set sfProposedTransaction (SoeRequired).
TransactionProposalBuilder & setPreviousTxnID(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Ledger entry-specific field setters.
TransactionProposalBuilder & setPreviousTxnLgrSeq(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfPreviousTxnLgrSeq (SoeRequired).
TransactionProposalBuilder(SLE::const_pointer sle)
Construct a TransactionProposalBuilder from an existing SLE object.
TransactionProposalBuilder & setExpiration(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfExpiration (SoeRequired).
TransactionProposalBuilder(std::decay_t< typename SF_UINT256::type::value_type > const &previousTxnID, std::decay_t< typename SF_UINT32::type::value_type > const &previousTxnLgrSeq, std::decay_t< typename SF_ACCOUNT::type::value_type > const &owner, STObject const &proposedTransaction, std::decay_t< typename SF_UINT32::type::value_type > const &expiration, std::decay_t< typename SF_UINT64::type::value_type > const &ownerNode)
Construct a new TransactionProposalBuilder with required fields.
TransactionProposalBuilder & setOwner(std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
Set sfOwner (SoeRequired).
TransactionProposalBuilder & setOwnerNode(std::decay_t< typename SF_UINT64::type::value_type > const &value)
Set sfOwnerNode (SoeRequired).
Ledger Entry: TransactionProposal.
STObject getProposedTransaction() const
Get sfProposedTransaction (SoeRequired).
SF_ACCOUNT::type::value_type getOwner() const
Get sfOwner (SoeRequired).
SF_UINT256::type::value_type getPreviousTxnID() const
Get sfPreviousTxnID (SoeRequired).
SF_UINT32::type::value_type getPreviousTxnLgrSeq() const
Get sfPreviousTxnLgrSeq (SoeRequired).
TransactionProposal(SLE::const_pointer sle)
Construct a TransactionProposal ledger entry wrapper from an existing SLE object.
SF_UINT32::type::value_type getExpiration() const
Get sfExpiration (SoeRequired).
SF_UINT64::type::value_type getOwnerNode() const
Get sfOwnerNode (SoeRequired).
static constexpr LedgerEntryType entryType
LedgerEntryType
Identifiers for on-ledger objects.