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>
16class DepositPreauthBuilder;
53 SF_ACCOUNT::type::value_type
56 return this->
sle_->at(sfAccount);
68 return this->
sle_->at(sfAuthorize);
80 return this->
sle_->isFieldPresent(sfAuthorize);
88 SF_UINT64::type::value_type
91 return this->
sle_->at(sfOwnerNode);
99 SF_UINT256::type::value_type
102 return this->
sle_->at(sfPreviousTxnID);
110 SF_UINT32::type::value_type
113 return this->
sle_->at(sfPreviousTxnLgrSeq);
125 if (this->
sle_->isFieldPresent(sfAuthorizeCredentials))
126 return this->
sle_->getFieldArray(sfAuthorizeCredentials);
138 return this->
sle_->isFieldPresent(sfAuthorizeCredentials);
175 if (sle->at(sfLedgerEntryType) != ltDEPOSIT_PREAUTH)
224 object_[sfPreviousTxnID] = value;
235 object_[sfPreviousTxnLgrSeq] = value;
void setFieldArray(SField const &field, STArray const &v)
Builder for DepositPreauth ledger entries.
DepositPreauthBuilder & setOwnerNode(std::decay_t< typename SF_UINT64::type::value_type > const &value)
Set sfOwnerNode (soeREQUIRED)
DepositPreauthBuilder & setAuthorizeCredentials(STArray const &value)
Set sfAuthorizeCredentials (soeOPTIONAL)
DepositPreauthBuilder & setPreviousTxnLgrSeq(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfPreviousTxnLgrSeq (soeREQUIRED)
DepositPreauth build(uint256 const &index)
Build and return the completed DepositPreauth wrapper.
DepositPreauthBuilder & setPreviousTxnID(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Set sfPreviousTxnID (soeREQUIRED)
DepositPreauthBuilder & setAccount(std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
Ledger entry-specific field setters.
DepositPreauthBuilder(std::shared_ptr< SLE const > sle)
Construct a DepositPreauthBuilder from an existing SLE object.
DepositPreauthBuilder(std::decay_t< typename SF_ACCOUNT::type::value_type > const &account, std::decay_t< typename SF_UINT64::type::value_type > const &ownerNode, 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 DepositPreauthBuilder with required fields.
DepositPreauthBuilder & setAuthorize(std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
Set sfAuthorize (soeOPTIONAL)
Ledger Entry: DepositPreauth.
static constexpr LedgerEntryType entryType
SF_UINT256::type::value_type getPreviousTxnID() const
Get sfPreviousTxnID (soeREQUIRED)
bool hasAuthorizeCredentials() const
Check if sfAuthorizeCredentials is present.
bool hasAuthorize() const
Check if sfAuthorize is present.
DepositPreauth(std::shared_ptr< SLE const > sle)
Construct a DepositPreauth ledger entry wrapper from an existing SLE object.
SF_ACCOUNT::type::value_type getAccount() const
Get sfAccount (soeREQUIRED)
protocol_autogen::Optional< SF_ACCOUNT::type::value_type > getAuthorize() const
Get sfAuthorize (soeOPTIONAL)
SF_UINT32::type::value_type getPreviousTxnLgrSeq() const
Get sfPreviousTxnLgrSeq (soeREQUIRED)
std::optional< std::reference_wrapper< STArray const > > getAuthorizeCredentials() const
Get sfAuthorizeCredentials (soeOPTIONAL)
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.