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 VaultCreateBuilder;
56 SF_ISSUE::type::value_type
59 return this->
tx_->at(sfAsset);
72 return this->
tx_->at(sfAssetsMaximum);
85 return this->
tx_->isFieldPresent(sfAssetsMaximum);
98 return this->
tx_->at(sfMPTokenMetadata);
111 return this->
tx_->isFieldPresent(sfMPTokenMetadata);
124 return this->
tx_->at(sfDomainID);
137 return this->
tx_->isFieldPresent(sfDomainID);
150 return this->
tx_->at(sfWithdrawalPolicy);
163 return this->
tx_->isFieldPresent(sfWithdrawalPolicy);
176 return this->
tx_->at(sfData);
189 return this->
tx_->isFieldPresent(sfData);
202 return this->
tx_->at(sfScale);
215 return this->
tx_->isFieldPresent(sfScale);
252 if (tx->getTxnType() != ttVAULT_CREATE)
280 object_[sfAssetsMaximum] = value;
291 object_[sfMPTokenMetadata] = value;
313 object_[sfWithdrawalPolicy] = value;
348 sign(publicKey, secretKey);
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.
VaultCreateBuilder & sign(PublicKey const &publicKey, SecretKey const &secretKey)
Sign the transaction with the given keys.
Builder for VaultCreate transactions.
VaultCreateBuilder(SF_ACCOUNT::type::value_type account, std::decay_t< typename SF_ISSUE::type::value_type > const &asset, std::optional< SF_UINT32::type::value_type > sequence=std::nullopt, std::optional< SF_AMOUNT::type::value_type > fee=std::nullopt)
Construct a new VaultCreateBuilder with required fields.
VaultCreateBuilder & setWithdrawalPolicy(std::decay_t< typename SF_UINT8::type::value_type > const &value)
Set sfWithdrawalPolicy (soeOPTIONAL)
VaultCreateBuilder & setDomainID(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Set sfDomainID (soeOPTIONAL)
VaultCreateBuilder & setMPTokenMetadata(std::decay_t< typename SF_VL::type::value_type > const &value)
Set sfMPTokenMetadata (soeOPTIONAL)
VaultCreateBuilder(std::shared_ptr< STTx const > tx)
Construct a VaultCreateBuilder from an existing STTx object.
VaultCreateBuilder & setData(std::decay_t< typename SF_VL::type::value_type > const &value)
Set sfData (soeOPTIONAL)
VaultCreate build(PublicKey const &publicKey, SecretKey const &secretKey)
Build and return the VaultCreate wrapper.
VaultCreateBuilder & setScale(std::decay_t< typename SF_UINT8::type::value_type > const &value)
Set sfScale (soeOPTIONAL)
VaultCreateBuilder & setAssetsMaximum(std::decay_t< typename SF_NUMBER::type::value_type > const &value)
Set sfAssetsMaximum (soeOPTIONAL)
VaultCreateBuilder & setAsset(std::decay_t< typename SF_ISSUE::type::value_type > const &value)
Transaction-specific field setters.
Transaction: VaultCreate.
bool hasAssetsMaximum() const
Check if sfAssetsMaximum is present.
protocol_autogen::Optional< SF_UINT256::type::value_type > getDomainID() const
Get sfDomainID (soeOPTIONAL)
bool hasMPTokenMetadata() const
Check if sfMPTokenMetadata is present.
bool hasData() const
Check if sfData is present.
bool hasScale() const
Check if sfScale is present.
protocol_autogen::Optional< SF_VL::type::value_type > getMPTokenMetadata() const
Get sfMPTokenMetadata (soeOPTIONAL)
bool hasDomainID() const
Check if sfDomainID is present.
protocol_autogen::Optional< SF_VL::type::value_type > getData() const
Get sfData (soeOPTIONAL)
protocol_autogen::Optional< SF_UINT8::type::value_type > getWithdrawalPolicy() const
Get sfWithdrawalPolicy (soeOPTIONAL)
SF_ISSUE::type::value_type getAsset() const
Get sfAsset (soeREQUIRED)
bool hasWithdrawalPolicy() const
Check if sfWithdrawalPolicy is present.
protocol_autogen::Optional< SF_UINT8::type::value_type > getScale() const
Get sfScale (soeOPTIONAL)
static constexpr xrpl::TxType txType
VaultCreate(std::shared_ptr< STTx const > tx)
Construct a VaultCreate transaction wrapper from an existing STTx object.
protocol_autogen::Optional< SF_NUMBER::type::value_type > getAssetsMaximum() const
Get sfAssetsMaximum (soeOPTIONAL)
TxType
Transaction type identifiers.