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 NFTokenOffer");
53 SF_ACCOUNT::type::value_type
56 return this->
sle_->at(sfOwner);
64 SF_UINT256::type::value_type
67 return this->
sle_->at(sfNFTokenID);
75 SF_AMOUNT::type::value_type
78 return this->
sle_->at(sfAmount);
86 SF_UINT64::type::value_type
89 return this->
sle_->at(sfOwnerNode);
97 SF_UINT64::type::value_type
100 return this->
sle_->at(sfNFTokenOfferNode);
112 return this->
sle_->at(sfDestination);
124 return this->
sle_->isFieldPresent(sfDestination);
136 return this->
sle_->at(sfExpiration);
148 return this->
sle_->isFieldPresent(sfExpiration);
156 SF_UINT256::type::value_type
159 return this->
sle_->at(sfPreviousTxnID);
167 SF_UINT32::type::value_type
170 return this->
sle_->at(sfPreviousTxnLgrSeq);
213 if (sle->at(sfLedgerEntryType) != ltNFTOKEN_OFFER)
273 object_[sfNFTokenOfferNode] = value;
284 object_[sfDestination] = value;
306 object_[sfPreviousTxnID] = value;
317 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 NFTokenOffer ledger entries.
NFTokenOfferBuilder & setExpiration(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfExpiration (SoeOptional).
NFTokenOfferBuilder & setOwner(std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
Ledger entry-specific field setters.
NFTokenOfferBuilder & setPreviousTxnID(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Set sfPreviousTxnID (SoeRequired).
NFTokenOfferBuilder & setDestination(std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
Set sfDestination (SoeOptional).
NFTokenOfferBuilder & setAmount(std::decay_t< typename SF_AMOUNT::type::value_type > const &value)
Set sfAmount (SoeRequired).
NFTokenOfferBuilder & setNFTokenOfferNode(std::decay_t< typename SF_UINT64::type::value_type > const &value)
Set sfNFTokenOfferNode (SoeRequired).
NFTokenOfferBuilder(SLE::const_pointer sle)
Construct a NFTokenOfferBuilder from an existing SLE object.
NFTokenOfferBuilder & setOwnerNode(std::decay_t< typename SF_UINT64::type::value_type > const &value)
Set sfOwnerNode (SoeRequired).
NFTokenOfferBuilder & setPreviousTxnLgrSeq(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfPreviousTxnLgrSeq (SoeRequired).
NFTokenOffer build(uint256 const &index)
Build and return the completed NFTokenOffer wrapper.
NFTokenOfferBuilder & setNFTokenID(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Set sfNFTokenID (SoeRequired).
NFTokenOfferBuilder(std::decay_t< typename SF_ACCOUNT::type::value_type > const &owner, std::decay_t< typename SF_UINT256::type::value_type > const &nFTokenID, std::decay_t< typename SF_AMOUNT::type::value_type > const &amount, std::decay_t< typename SF_UINT64::type::value_type > const &ownerNode, std::decay_t< typename SF_UINT64::type::value_type > const &nFTokenOfferNode, 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 NFTokenOfferBuilder with required fields.
Ledger Entry: NFTokenOffer.
protocol_autogen::Optional< SF_UINT32::type::value_type > getExpiration() const
Get sfExpiration (SoeOptional).
static constexpr LedgerEntryType entryType
protocol_autogen::Optional< SF_ACCOUNT::type::value_type > getDestination() const
Get sfDestination (SoeOptional).
NFTokenOffer(SLE::const_pointer sle)
Construct a NFTokenOffer ledger entry wrapper from an existing SLE object.
SF_AMOUNT::type::value_type getAmount() const
Get sfAmount (SoeRequired).
SF_UINT64::type::value_type getOwnerNode() const
Get sfOwnerNode (SoeRequired).
bool hasDestination() const
Check if sfDestination is present.
SF_UINT32::type::value_type getPreviousTxnLgrSeq() const
Get sfPreviousTxnLgrSeq (SoeRequired).
SF_UINT256::type::value_type getNFTokenID() const
Get sfNFTokenID (SoeRequired).
SF_ACCOUNT::type::value_type getOwner() const
Get sfOwner (SoeRequired).
bool hasExpiration() const
Check if sfExpiration is present.
SF_UINT256::type::value_type getPreviousTxnID() const
Get sfPreviousTxnID (SoeRequired).
SF_UINT64::type::value_type getNFTokenOfferNode() const
Get sfNFTokenOfferNode (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.