4#include <xrpl/protocol/STTx.h>
5#include <xrpl/protocol/STParsedJSON.h>
6#include <xrpl/protocol/jss.h>
7#include <xrpl/protocol_autogen/TransactionBase.h>
8#include <xrpl/protocol_autogen/TransactionBuilderBase.h>
9#include <xrpl/json/json_value.h>
44 throw std::runtime_error(
"Invalid transaction type for MPTokenIssuanceSet");
55 SF_UINT192::type::value_type
58 return this->
tx_->at(sfMPTokenIssuanceID);
71 return this->
tx_->at(sfHolder);
84 return this->
tx_->isFieldPresent(sfHolder);
97 return this->
tx_->at(sfDomainID);
110 return this->
tx_->isFieldPresent(sfDomainID);
123 return this->
tx_->at(sfMPTokenMetadata);
136 return this->
tx_->isFieldPresent(sfMPTokenMetadata);
149 return this->
tx_->at(sfTransferFee);
162 return this->
tx_->isFieldPresent(sfTransferFee);
175 return this->
tx_->at(sfImmutableFlags);
188 return this->
tx_->isFieldPresent(sfImmutableFlags);
201 return this->
tx_->at(sfIssuerEncryptionKey);
214 return this->
tx_->isFieldPresent(sfIssuerEncryptionKey);
227 return this->
tx_->at(sfAuditorEncryptionKey);
240 return this->
tx_->isFieldPresent(sfAuditorEncryptionKey);
277 if (tx->getTxnType() != ttMPTOKEN_ISSUANCE_SET)
295 object_[sfMPTokenIssuanceID] = value;
328 object_[sfMPTokenMetadata] = value;
339 object_[sfTransferFee] = value;
350 object_[sfImmutableFlags] = value;
361 object_[sfIssuerEncryptionKey] = value;
372 object_[sfAuditorEncryptionKey] = value;
385 sign(publicKey, secretKey);
Builder for MPTokenIssuanceSet transactions.
MPTokenIssuanceSetBuilder & setIssuerEncryptionKey(std::decay_t< typename SF_VL::type::value_type > const &value)
Set sfIssuerEncryptionKey (SoeOptional).
MPTokenIssuanceSetBuilder(std::shared_ptr< STTx const > tx)
Construct a MPTokenIssuanceSetBuilder from an existing STTx object.
MPTokenIssuanceSetBuilder & setMPTokenMetadata(std::decay_t< typename SF_VL::type::value_type > const &value)
Set sfMPTokenMetadata (SoeOptional).
MPTokenIssuanceSetBuilder & setAuditorEncryptionKey(std::decay_t< typename SF_VL::type::value_type > const &value)
Set sfAuditorEncryptionKey (SoeOptional).
MPTokenIssuanceSetBuilder & setHolder(std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
Set sfHolder (SoeOptional).
MPTokenIssuanceSet build(PublicKey const &publicKey, SecretKey const &secretKey)
Build and return the MPTokenIssuanceSet wrapper.
MPTokenIssuanceSetBuilder & setImmutableFlags(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfImmutableFlags (SoeOptional).
MPTokenIssuanceSetBuilder & setMPTokenIssuanceID(std::decay_t< typename SF_UINT192::type::value_type > const &value)
Transaction-specific field setters.
MPTokenIssuanceSetBuilder & setTransferFee(std::decay_t< typename SF_UINT16::type::value_type > const &value)
Set sfTransferFee (SoeOptional).
MPTokenIssuanceSetBuilder(SF_ACCOUNT::type::value_type account, std::decay_t< typename SF_UINT192::type::value_type > const &mPTokenIssuanceID, std::optional< SF_UINT32::type::value_type > sequence=std::nullopt, std::optional< SF_AMOUNT::type::value_type > fee=std::nullopt)
Construct a new MPTokenIssuanceSetBuilder with required fields.
MPTokenIssuanceSetBuilder & setDomainID(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Set sfDomainID (SoeOptional).
Transaction: MPTokenIssuanceSet.
bool hasImmutableFlags() const
Check if sfImmutableFlags is present.
static constexpr xrpl::TxType txType
SF_UINT192::type::value_type getMPTokenIssuanceID() const
Get sfMPTokenIssuanceID (SoeRequired).
protocol_autogen::Optional< SF_UINT32::type::value_type > getImmutableFlags() const
Get sfImmutableFlags (SoeOptional).
bool hasAuditorEncryptionKey() const
Check if sfAuditorEncryptionKey is present.
bool hasDomainID() const
Check if sfDomainID is present.
bool hasMPTokenMetadata() const
Check if sfMPTokenMetadata is present.
MPTokenIssuanceSet(std::shared_ptr< STTx const > tx)
Construct a MPTokenIssuanceSet transaction wrapper from an existing STTx object.
protocol_autogen::Optional< SF_ACCOUNT::type::value_type > getHolder() const
Get sfHolder (SoeOptional).
protocol_autogen::Optional< SF_UINT256::type::value_type > getDomainID() const
Get sfDomainID (SoeOptional).
bool hasIssuerEncryptionKey() const
Check if sfIssuerEncryptionKey is present.
protocol_autogen::Optional< SF_VL::type::value_type > getIssuerEncryptionKey() const
Get sfIssuerEncryptionKey (SoeOptional).
protocol_autogen::Optional< SF_VL::type::value_type > getMPTokenMetadata() const
Get sfMPTokenMetadata (SoeOptional).
protocol_autogen::Optional< SF_VL::type::value_type > getAuditorEncryptionKey() const
Get sfAuditorEncryptionKey (SoeOptional).
bool hasHolder() const
Check if sfHolder is present.
bool hasTransferFee() const
Check if sfTransferFee is present.
protocol_autogen::Optional< SF_UINT16::type::value_type > getTransferFee() const
Get sfTransferFee (SoeOptional).
std::shared_ptr< STTx const > tx_
The underlying transaction object being wrapped.
TransactionBase(std::shared_ptr< STTx const > tx)
Construct a transaction wrapper from an existing STTx object.
TransactionBuilderBase()=default
MPTokenIssuanceSetBuilder & sign(PublicKey const &publicKey, SecretKey const &secretKey)
std::conditional_t< std::is_reference_v< ValueType >, std::optional< std::reference_wrapper< std::remove_reference_t< ValueType > > >, std::optional< ValueType > > Optional
TxType
Transaction type identifiers.