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>
16class MPTokenIssuanceCreateBuilder;
60 return this->
tx_->at(sfAssetScale);
73 return this->
tx_->isFieldPresent(sfAssetScale);
86 return this->
tx_->at(sfTransferFee);
99 return this->
tx_->isFieldPresent(sfTransferFee);
112 return this->
tx_->at(sfMaximumAmount);
125 return this->
tx_->isFieldPresent(sfMaximumAmount);
138 return this->
tx_->at(sfMPTokenMetadata);
151 return this->
tx_->isFieldPresent(sfMPTokenMetadata);
164 return this->
tx_->at(sfDomainID);
177 return this->
tx_->isFieldPresent(sfDomainID);
190 return this->
tx_->at(sfMutableFlags);
203 return this->
tx_->isFieldPresent(sfMutableFlags);
238 if (tx->getTxnType() != ttMPTOKEN_ISSUANCE_CREATE)
240 throw std::runtime_error(
"Invalid transaction type for MPTokenIssuanceCreateBuilder");
265 object_[sfTransferFee] = value;
276 object_[sfMaximumAmount] = value;
287 object_[sfMPTokenMetadata] = value;
309 object_[sfMutableFlags] = value;
322 sign(publicKey, secretKey);
Builder for MPTokenIssuanceCreate transactions.
MPTokenIssuanceCreateBuilder & setMutableFlags(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfMutableFlags (soeOPTIONAL)
MPTokenIssuanceCreate build(PublicKey const &publicKey, SecretKey const &secretKey)
Build and return the MPTokenIssuanceCreate wrapper.
MPTokenIssuanceCreateBuilder & setAssetScale(std::decay_t< typename SF_UINT8::type::value_type > const &value)
Transaction-specific field setters.
MPTokenIssuanceCreateBuilder(SF_ACCOUNT::type::value_type account, std::optional< SF_UINT32::type::value_type > sequence=std::nullopt, std::optional< SF_AMOUNT::type::value_type > fee=std::nullopt)
Construct a new MPTokenIssuanceCreateBuilder with required fields.
MPTokenIssuanceCreateBuilder(std::shared_ptr< STTx const > tx)
Construct a MPTokenIssuanceCreateBuilder from an existing STTx object.
MPTokenIssuanceCreateBuilder & setMaximumAmount(std::decay_t< typename SF_UINT64::type::value_type > const &value)
Set sfMaximumAmount (soeOPTIONAL)
MPTokenIssuanceCreateBuilder & setMPTokenMetadata(std::decay_t< typename SF_VL::type::value_type > const &value)
Set sfMPTokenMetadata (soeOPTIONAL)
MPTokenIssuanceCreateBuilder & setDomainID(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Set sfDomainID (soeOPTIONAL)
MPTokenIssuanceCreateBuilder & setTransferFee(std::decay_t< typename SF_UINT16::type::value_type > const &value)
Set sfTransferFee (soeOPTIONAL)
Transaction: MPTokenIssuanceCreate.
protocol_autogen::Optional< SF_UINT256::type::value_type > getDomainID() const
Get sfDomainID (soeOPTIONAL)
static constexpr xrpl::TxType txType
MPTokenIssuanceCreate(std::shared_ptr< STTx const > tx)
Construct a MPTokenIssuanceCreate transaction wrapper from an existing STTx object.
protocol_autogen::Optional< SF_VL::type::value_type > getMPTokenMetadata() const
Get sfMPTokenMetadata (soeOPTIONAL)
bool hasMPTokenMetadata() const
Check if sfMPTokenMetadata is present.
bool hasTransferFee() const
Check if sfTransferFee is present.
bool hasAssetScale() const
Check if sfAssetScale is present.
bool hasMaximumAmount() const
Check if sfMaximumAmount is present.
bool hasDomainID() const
Check if sfDomainID is present.
protocol_autogen::Optional< SF_UINT32::type::value_type > getMutableFlags() const
Get sfMutableFlags (soeOPTIONAL)
bool hasMutableFlags() const
Check if sfMutableFlags is present.
protocol_autogen::Optional< SF_UINT8::type::value_type > getAssetScale() const
Get sfAssetScale (soeOPTIONAL)
protocol_autogen::Optional< SF_UINT16::type::value_type > getTransferFee() const
Get sfTransferFee (soeOPTIONAL)
protocol_autogen::Optional< SF_UINT64::type::value_type > getMaximumAmount() const
Get sfMaximumAmount (soeOPTIONAL)
Base class for all transaction wrapper types.
std::shared_ptr< STTx const > tx_
The underlying transaction object being wrapped.
Base class for all transaction builders.
MPTokenIssuanceCreateBuilder & sign(PublicKey const &publicKey, SecretKey const &secretKey)
Sign the transaction with the given keys.
TxType
Transaction type identifiers.