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>
53 SF_UINT256::type::value_type
56 return this->
sle_->at(sfPreviousTxnID);
64 SF_UINT32::type::value_type
67 return this->
sle_->at(sfPreviousTxnLgrSeq);
75 SF_UINT32::type::value_type
78 return this->
sle_->at(sfSequence);
86 SF_UINT64::type::value_type
89 return this->
sle_->at(sfOwnerNode);
97 SF_ACCOUNT::type::value_type
100 return this->
sle_->at(sfOwner);
108 SF_ACCOUNT::type::value_type
111 return this->
sle_->at(sfAccount);
123 return this->
sle_->at(sfData);
135 return this->
sle_->isFieldPresent(sfData);
143 SF_ISSUE::type::value_type
146 return this->
sle_->at(sfAsset);
158 return this->
sle_->at(sfAssetsTotal);
170 return this->
sle_->isFieldPresent(sfAssetsTotal);
182 return this->
sle_->at(sfAssetsAvailable);
194 return this->
sle_->isFieldPresent(sfAssetsAvailable);
206 return this->
sle_->at(sfAssetsMaximum);
218 return this->
sle_->isFieldPresent(sfAssetsMaximum);
230 return this->
sle_->at(sfLossUnrealized);
242 return this->
sle_->isFieldPresent(sfLossUnrealized);
250 SF_UINT192::type::value_type
253 return this->
sle_->at(sfShareMPTID);
261 SF_UINT8::type::value_type
264 return this->
sle_->at(sfWithdrawalPolicy);
276 return this->
sle_->at(sfScale);
288 return this->
sle_->isFieldPresent(sfScale);
335 if (sle->at(sfLedgerEntryType) != ltVAULT)
351 object_[sfPreviousTxnID] = value;
362 object_[sfPreviousTxnLgrSeq] = value;
439 object_[sfAssetsTotal] = value;
450 object_[sfAssetsAvailable] = value;
461 object_[sfAssetsMaximum] = value;
472 object_[sfLossUnrealized] = value;
494 object_[sfWithdrawalPolicy] = value;
Base class for type-safe ledger entry wrappers.
std::shared_ptr< SLE const > sle_
The underlying serialized ledger entry being wrapped.
Base class for all ledger entry builders.
Builder for Vault ledger entries.
VaultBuilder & setPreviousTxnLgrSeq(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfPreviousTxnLgrSeq (soeREQUIRED)
VaultBuilder(std::decay_t< typename SF_UINT256::type::value_type > const &previousTxnID, std::decay_t< typename SF_UINT32::type::value_type > const &previousTxnLgrSeq, 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_ACCOUNT::type::value_type > const &owner, std::decay_t< typename SF_ACCOUNT::type::value_type > const &account, std::decay_t< typename SF_ISSUE::type::value_type > const &asset, std::decay_t< typename SF_UINT192::type::value_type > const &shareMPTID, std::decay_t< typename SF_UINT8::type::value_type > const &withdrawalPolicy)
Construct a new VaultBuilder with required fields.
VaultBuilder(std::shared_ptr< SLE const > sle)
Construct a VaultBuilder from an existing SLE object.
VaultBuilder & setOwner(std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
Set sfOwner (soeREQUIRED)
VaultBuilder & setSequence(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfSequence (soeREQUIRED)
VaultBuilder & setAssetsAvailable(std::decay_t< typename SF_NUMBER::type::value_type > const &value)
Set sfAssetsAvailable (soeDEFAULT)
VaultBuilder & setWithdrawalPolicy(std::decay_t< typename SF_UINT8::type::value_type > const &value)
Set sfWithdrawalPolicy (soeREQUIRED)
VaultBuilder & setScale(std::decay_t< typename SF_UINT8::type::value_type > const &value)
Set sfScale (soeDEFAULT)
VaultBuilder & setAssetsTotal(std::decay_t< typename SF_NUMBER::type::value_type > const &value)
Set sfAssetsTotal (soeDEFAULT)
VaultBuilder & setShareMPTID(std::decay_t< typename SF_UINT192::type::value_type > const &value)
Set sfShareMPTID (soeREQUIRED)
VaultBuilder & setOwnerNode(std::decay_t< typename SF_UINT64::type::value_type > const &value)
Set sfOwnerNode (soeREQUIRED)
VaultBuilder & setAsset(std::decay_t< typename SF_ISSUE::type::value_type > const &value)
Set sfAsset (soeREQUIRED)
Vault build(uint256 const &index)
Build and return the completed Vault wrapper.
VaultBuilder & setLossUnrealized(std::decay_t< typename SF_NUMBER::type::value_type > const &value)
Set sfLossUnrealized (soeDEFAULT)
VaultBuilder & setData(std::decay_t< typename SF_VL::type::value_type > const &value)
Set sfData (soeOPTIONAL)
VaultBuilder & setPreviousTxnID(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Ledger entry-specific field setters.
VaultBuilder & setAssetsMaximum(std::decay_t< typename SF_NUMBER::type::value_type > const &value)
Set sfAssetsMaximum (soeDEFAULT)
VaultBuilder & setAccount(std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
Set sfAccount (soeREQUIRED)
bool hasAssetsTotal() const
Check if sfAssetsTotal is present.
protocol_autogen::Optional< SF_NUMBER::type::value_type > getAssetsMaximum() const
Get sfAssetsMaximum (soeDEFAULT)
bool hasAssetsAvailable() const
Check if sfAssetsAvailable is present.
bool hasScale() const
Check if sfScale is present.
SF_ISSUE::type::value_type getAsset() const
Get sfAsset (soeREQUIRED)
protocol_autogen::Optional< SF_VL::type::value_type > getData() const
Get sfData (soeOPTIONAL)
SF_UINT32::type::value_type getPreviousTxnLgrSeq() const
Get sfPreviousTxnLgrSeq (soeREQUIRED)
SF_ACCOUNT::type::value_type getOwner() const
Get sfOwner (soeREQUIRED)
protocol_autogen::Optional< SF_NUMBER::type::value_type > getLossUnrealized() const
Get sfLossUnrealized (soeDEFAULT)
static constexpr LedgerEntryType entryType
protocol_autogen::Optional< SF_NUMBER::type::value_type > getAssetsAvailable() const
Get sfAssetsAvailable (soeDEFAULT)
bool hasData() const
Check if sfData is present.
protocol_autogen::Optional< SF_UINT8::type::value_type > getScale() const
Get sfScale (soeDEFAULT)
SF_UINT192::type::value_type getShareMPTID() const
Get sfShareMPTID (soeREQUIRED)
SF_UINT256::type::value_type getPreviousTxnID() const
Get sfPreviousTxnID (soeREQUIRED)
bool hasAssetsMaximum() const
Check if sfAssetsMaximum is present.
SF_UINT8::type::value_type getWithdrawalPolicy() const
Get sfWithdrawalPolicy (soeREQUIRED)
protocol_autogen::Optional< SF_NUMBER::type::value_type > getAssetsTotal() const
Get sfAssetsTotal (soeDEFAULT)
Vault(std::shared_ptr< SLE const > sle)
Construct a Vault ledger entry wrapper from an existing SLE object.
SF_UINT64::type::value_type getOwnerNode() const
Get sfOwnerNode (soeREQUIRED)
SF_UINT32::type::value_type getSequence() const
Get sfSequence (soeREQUIRED)
bool hasLossUnrealized() const
Check if sfLossUnrealized is present.
SF_ACCOUNT::type::value_type getAccount() const
Get sfAccount (soeREQUIRED)
LedgerEntryType
Identifiers for on-ledger objects.