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 MPTokenIssuance");
53 SF_ACCOUNT::type::value_type
56 return this->
sle_->at(sfIssuer);
64 SF_UINT32::type::value_type
67 return this->
sle_->at(sfSequence);
79 return this->
sle_->at(sfTransferFee);
91 return this->
sle_->isFieldPresent(sfTransferFee);
99 SF_UINT64::type::value_type
102 return this->
sle_->at(sfOwnerNode);
114 return this->
sle_->at(sfAssetScale);
126 return this->
sle_->isFieldPresent(sfAssetScale);
138 return this->
sle_->at(sfMaximumAmount);
150 return this->
sle_->isFieldPresent(sfMaximumAmount);
158 SF_UINT64::type::value_type
161 return this->
sle_->at(sfOutstandingAmount);
173 return this->
sle_->at(sfLockedAmount);
185 return this->
sle_->isFieldPresent(sfLockedAmount);
197 return this->
sle_->at(sfMPTokenMetadata);
209 return this->
sle_->isFieldPresent(sfMPTokenMetadata);
217 SF_UINT256::type::value_type
220 return this->
sle_->at(sfPreviousTxnID);
228 SF_UINT32::type::value_type
231 return this->
sle_->at(sfPreviousTxnLgrSeq);
243 return this->
sle_->at(sfDomainID);
255 return this->
sle_->isFieldPresent(sfDomainID);
267 return this->
sle_->at(sfMutableFlags);
279 return this->
sle_->isFieldPresent(sfMutableFlags);
291 return this->
sle_->at(sfReferenceHolding);
303 return this->
sle_->isFieldPresent(sfReferenceHolding);
315 return this->
sle_->at(sfIssuerEncryptionKey);
327 return this->
sle_->isFieldPresent(sfIssuerEncryptionKey);
339 return this->
sle_->at(sfAuditorEncryptionKey);
351 return this->
sle_->isFieldPresent(sfAuditorEncryptionKey);
363 return this->
sle_->at(sfConfidentialOutstandingAmount);
375 return this->
sle_->isFieldPresent(sfConfidentialOutstandingAmount);
416 if (sle->at(sfLedgerEntryType) != ltMPTOKEN_ISSUANCE)
454 object_[sfTransferFee] = value;
487 object_[sfMaximumAmount] = value;
498 object_[sfOutstandingAmount] = value;
509 object_[sfLockedAmount] = value;
520 object_[sfMPTokenMetadata] = value;
531 object_[sfPreviousTxnID] = value;
542 object_[sfPreviousTxnLgrSeq] = value;
564 object_[sfMutableFlags] = value;
575 object_[sfReferenceHolding] = value;
586 object_[sfIssuerEncryptionKey] = value;
597 object_[sfAuditorEncryptionKey] = value;
608 object_[sfConfidentialOutstandingAmount] = 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 MPTokenIssuance ledger entries.
MPTokenIssuanceBuilder & setIssuerEncryptionKey(std::decay_t< typename SF_VL::type::value_type > const &value)
Set sfIssuerEncryptionKey (SoeOptional).
MPTokenIssuanceBuilder(std::decay_t< typename SF_ACCOUNT::type::value_type > const &issuer, std::decay_t< typename SF_UINT32::type::value_type > const &sequence, std::decay_t< typename SF_UINT64::type::value_type > const &ownerNode, std::decay_t< typename SF_UINT64::type::value_type > const &outstandingAmount, 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 MPTokenIssuanceBuilder with required fields.
MPTokenIssuanceBuilder & setAuditorEncryptionKey(std::decay_t< typename SF_VL::type::value_type > const &value)
Set sfAuditorEncryptionKey (SoeOptional).
MPTokenIssuanceBuilder & setLockedAmount(std::decay_t< typename SF_UINT64::type::value_type > const &value)
Set sfLockedAmount (SoeOptional).
MPTokenIssuanceBuilder & setMaximumAmount(std::decay_t< typename SF_UINT64::type::value_type > const &value)
Set sfMaximumAmount (SoeOptional).
MPTokenIssuanceBuilder & setPreviousTxnLgrSeq(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfPreviousTxnLgrSeq (SoeRequired).
MPTokenIssuanceBuilder & setDomainID(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Set sfDomainID (SoeOptional).
MPTokenIssuanceBuilder & setOwnerNode(std::decay_t< typename SF_UINT64::type::value_type > const &value)
Set sfOwnerNode (SoeRequired).
MPTokenIssuanceBuilder & setOutstandingAmount(std::decay_t< typename SF_UINT64::type::value_type > const &value)
Set sfOutstandingAmount (SoeRequired).
MPTokenIssuanceBuilder & setTransferFee(std::decay_t< typename SF_UINT16::type::value_type > const &value)
Set sfTransferFee (SoeDefault).
MPTokenIssuanceBuilder & setConfidentialOutstandingAmount(std::decay_t< typename SF_UINT64::type::value_type > const &value)
Set sfConfidentialOutstandingAmount (SoeDefault).
MPTokenIssuanceBuilder & setIssuer(std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
Ledger entry-specific field setters.
MPTokenIssuanceBuilder & setMPTokenMetadata(std::decay_t< typename SF_VL::type::value_type > const &value)
Set sfMPTokenMetadata (SoeOptional).
MPTokenIssuanceBuilder & setAssetScale(std::decay_t< typename SF_UINT8::type::value_type > const &value)
Set sfAssetScale (SoeDefault).
MPTokenIssuanceBuilder & setReferenceHolding(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Set sfReferenceHolding (SoeOptional).
MPTokenIssuanceBuilder(SLE::const_pointer sle)
Construct a MPTokenIssuanceBuilder from an existing SLE object.
MPTokenIssuanceBuilder & setMutableFlags(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfMutableFlags (SoeDefault).
MPTokenIssuanceBuilder & setPreviousTxnID(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Set sfPreviousTxnID (SoeRequired).
MPTokenIssuance build(uint256 const &index)
Build and return the completed MPTokenIssuance wrapper.
MPTokenIssuanceBuilder & setSequence(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfSequence (SoeRequired).
Ledger Entry: MPTokenIssuance.
protocol_autogen::Optional< SF_UINT64::type::value_type > getMaximumAmount() const
Get sfMaximumAmount (SoeOptional).
bool hasConfidentialOutstandingAmount() const
Check if sfConfidentialOutstandingAmount is present.
SF_UINT64::type::value_type getOutstandingAmount() const
Get sfOutstandingAmount (SoeRequired).
protocol_autogen::Optional< SF_UINT8::type::value_type > getAssetScale() const
Get sfAssetScale (SoeDefault).
bool hasDomainID() const
Check if sfDomainID is present.
protocol_autogen::Optional< SF_UINT64::type::value_type > getLockedAmount() const
Get sfLockedAmount (SoeOptional).
protocol_autogen::Optional< SF_UINT256::type::value_type > getDomainID() const
Get sfDomainID (SoeOptional).
bool hasAssetScale() const
Check if sfAssetScale is present.
bool hasTransferFee() const
Check if sfTransferFee is present.
bool hasReferenceHolding() const
Check if sfReferenceHolding is present.
SF_ACCOUNT::type::value_type getIssuer() const
Get sfIssuer (SoeRequired).
protocol_autogen::Optional< SF_VL::type::value_type > getAuditorEncryptionKey() const
Get sfAuditorEncryptionKey (SoeOptional).
SF_UINT32::type::value_type getSequence() const
Get sfSequence (SoeRequired).
protocol_autogen::Optional< SF_UINT256::type::value_type > getReferenceHolding() const
Get sfReferenceHolding (SoeOptional).
SF_UINT256::type::value_type getPreviousTxnID() const
Get sfPreviousTxnID (SoeRequired).
SF_UINT64::type::value_type getOwnerNode() const
Get sfOwnerNode (SoeRequired).
bool hasMPTokenMetadata() const
Check if sfMPTokenMetadata is present.
bool hasMaximumAmount() const
Check if sfMaximumAmount is present.
protocol_autogen::Optional< SF_VL::type::value_type > getIssuerEncryptionKey() const
Get sfIssuerEncryptionKey (SoeOptional).
bool hasLockedAmount() const
Check if sfLockedAmount is present.
protocol_autogen::Optional< SF_UINT64::type::value_type > getConfidentialOutstandingAmount() const
Get sfConfidentialOutstandingAmount (SoeDefault).
MPTokenIssuance(SLE::const_pointer sle)
Construct a MPTokenIssuance ledger entry wrapper from an existing SLE object.
protocol_autogen::Optional< SF_VL::type::value_type > getMPTokenMetadata() const
Get sfMPTokenMetadata (SoeOptional).
protocol_autogen::Optional< SF_UINT32::type::value_type > getMutableFlags() const
Get sfMutableFlags (SoeDefault).
bool hasIssuerEncryptionKey() const
Check if sfIssuerEncryptionKey is present.
bool hasAuditorEncryptionKey() const
Check if sfAuditorEncryptionKey is present.
protocol_autogen::Optional< SF_UINT16::type::value_type > getTransferFee() const
Get sfTransferFee (SoeDefault).
SF_UINT32::type::value_type getPreviousTxnLgrSeq() const
Get sfPreviousTxnLgrSeq (SoeRequired).
bool hasMutableFlags() const
Check if sfMutableFlags is present.
static constexpr LedgerEntryType entryType
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.