xrpld
Loading...
Searching...
No Matches
xrpl::ledger_entries::VaultBuilder Class Reference

Builder for Vault ledger entries. More...

#include <Vault.h>

Inheritance diagram for xrpl::ledger_entries::VaultBuilder:
Collaboration diagram for xrpl::ledger_entries::VaultBuilder:

Public Member Functions

 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 (SLE::const_pointer sle)
 Construct a VaultBuilder from an existing SLE object.
VaultBuildersetPreviousTxnID (std::decay_t< typename SF_UINT256::type::value_type > const &value)
 Ledger entry-specific field setters.
VaultBuildersetPreviousTxnLgrSeq (std::decay_t< typename SF_UINT32::type::value_type > const &value)
 Set sfPreviousTxnLgrSeq (SoeRequired).
VaultBuildersetSequence (std::decay_t< typename SF_UINT32::type::value_type > const &value)
 Set sfSequence (SoeRequired).
VaultBuildersetOwnerNode (std::decay_t< typename SF_UINT64::type::value_type > const &value)
 Set sfOwnerNode (SoeRequired).
VaultBuildersetOwner (std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
 Set sfOwner (SoeRequired).
VaultBuildersetAccount (std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
 Set sfAccount (SoeRequired).
VaultBuildersetData (std::decay_t< typename SF_VL::type::value_type > const &value)
 Set sfData (SoeOptional).
VaultBuildersetAsset (std::decay_t< typename SF_ISSUE::type::value_type > const &value)
 Set sfAsset (SoeRequired).
VaultBuildersetAssetsTotal (std::decay_t< typename SF_NUMBER::type::value_type > const &value)
 Set sfAssetsTotal (SoeDefault).
VaultBuildersetAssetsAvailable (std::decay_t< typename SF_NUMBER::type::value_type > const &value)
 Set sfAssetsAvailable (SoeDefault).
VaultBuildersetAssetsMaximum (std::decay_t< typename SF_NUMBER::type::value_type > const &value)
 Set sfAssetsMaximum (SoeDefault).
VaultBuildersetLossUnrealized (std::decay_t< typename SF_NUMBER::type::value_type > const &value)
 Set sfLossUnrealized (SoeDefault).
VaultBuildersetShareMPTID (std::decay_t< typename SF_UINT192::type::value_type > const &value)
 Set sfShareMPTID (SoeRequired).
VaultBuildersetWithdrawalPolicy (std::decay_t< typename SF_UINT8::type::value_type > const &value)
 Set sfWithdrawalPolicy (SoeRequired).
VaultBuildersetScale (std::decay_t< typename SF_UINT8::type::value_type > const &value)
 Set sfScale (SoeDefault).
VaultBuildersetLEVersion (std::decay_t< typename SF_UINT8::type::value_type > const &value)
 Set sfLEVersion (SoeDefault).
VaultBuildersetVaultKind (std::decay_t< typename SF_UINT8::type::value_type > const &value)
 Set sfVaultKind (SoeDefault).
VaultBuildersetSubscriptionDate (std::decay_t< typename SF_UINT32::type::value_type > const &value)
 Set sfSubscriptionDate (SoeOptional).
VaultBuildersetRedemptionDate (std::decay_t< typename SF_UINT32::type::value_type > const &value)
 Set sfRedemptionDate (SoeOptional).
Vault build (uint256 const &index)
 Build and return the completed Vault wrapper.
bool validate () const
 Validate the ledger entry.
VaultBuildersetLedgerIndex (uint256 const &value)
 Set the ledger index.
VaultBuildersetFlags (uint32_t value)
 Set the flags.

Protected Attributes

STObject object_

Detailed Description

Builder for Vault ledger entries.

Provides a fluent interface for constructing ledger entries with method chaining. Uses STObject internally for flexible ledger entry construction. Inherits common field setters from LedgerEntryBuilderBase.

Definition at line 395 of file Vault.h.

Constructor & Destructor Documentation

◆ VaultBuilder() [1/2]

xrpl::ledger_entries::VaultBuilder::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.

Parameters
previousTxnIDThe sfPreviousTxnID field value.
previousTxnLgrSeqThe sfPreviousTxnLgrSeq field value.
sequenceThe sfSequence field value.
ownerNodeThe sfOwnerNode field value.
ownerThe sfOwner field value.
accountThe sfAccount field value.
assetThe sfAsset field value.
shareMPTIDThe sfShareMPTID field value.
withdrawalPolicyThe sfWithdrawalPolicy field value.

Definition at line 410 of file Vault.h.

◆ VaultBuilder() [2/2]

xrpl::ledger_entries::VaultBuilder::VaultBuilder ( SLE::const_pointer sle)

Construct a VaultBuilder from an existing SLE object.

Parameters
sleThe existing ledger entry to copy from.
Exceptions
std::runtime_errorif the ledger entry type doesn't match.

Definition at line 429 of file Vault.h.

Member Function Documentation

◆ setPreviousTxnID()

VaultBuilder & xrpl::ledger_entries::VaultBuilder::setPreviousTxnID ( std::decay_t< typename SF_UINT256::type::value_type > const & value)

Ledger entry-specific field setters.

Set sfPreviousTxnID (SoeRequired)

Returns
Reference to this builder for method chaining.

Definition at line 447 of file Vault.h.

◆ setPreviousTxnLgrSeq()

VaultBuilder & xrpl::ledger_entries::VaultBuilder::setPreviousTxnLgrSeq ( std::decay_t< typename SF_UINT32::type::value_type > const & value)

Set sfPreviousTxnLgrSeq (SoeRequired).

Returns
Reference to this builder for method chaining.

Definition at line 458 of file Vault.h.

◆ setSequence()

VaultBuilder & xrpl::ledger_entries::VaultBuilder::setSequence ( std::decay_t< typename SF_UINT32::type::value_type > const & value)

Set sfSequence (SoeRequired).

Returns
Reference to this builder for method chaining.

Definition at line 469 of file Vault.h.

◆ setOwnerNode()

VaultBuilder & xrpl::ledger_entries::VaultBuilder::setOwnerNode ( std::decay_t< typename SF_UINT64::type::value_type > const & value)

Set sfOwnerNode (SoeRequired).

Returns
Reference to this builder for method chaining.

Definition at line 480 of file Vault.h.

◆ setOwner()

VaultBuilder & xrpl::ledger_entries::VaultBuilder::setOwner ( std::decay_t< typename SF_ACCOUNT::type::value_type > const & value)

Set sfOwner (SoeRequired).

Returns
Reference to this builder for method chaining.

Definition at line 491 of file Vault.h.

◆ setAccount()

VaultBuilder & xrpl::ledger_entries::VaultBuilder::setAccount ( std::decay_t< typename SF_ACCOUNT::type::value_type > const & value)

Set sfAccount (SoeRequired).

Returns
Reference to this builder for method chaining.

Definition at line 502 of file Vault.h.

◆ setData()

VaultBuilder & xrpl::ledger_entries::VaultBuilder::setData ( std::decay_t< typename SF_VL::type::value_type > const & value)

Set sfData (SoeOptional).

Returns
Reference to this builder for method chaining.

Definition at line 513 of file Vault.h.

◆ setAsset()

VaultBuilder & xrpl::ledger_entries::VaultBuilder::setAsset ( std::decay_t< typename SF_ISSUE::type::value_type > const & value)

Set sfAsset (SoeRequired).

Returns
Reference to this builder for method chaining.

Definition at line 524 of file Vault.h.

◆ setAssetsTotal()

VaultBuilder & xrpl::ledger_entries::VaultBuilder::setAssetsTotal ( std::decay_t< typename SF_NUMBER::type::value_type > const & value)

Set sfAssetsTotal (SoeDefault).

Returns
Reference to this builder for method chaining.

Definition at line 535 of file Vault.h.

◆ setAssetsAvailable()

VaultBuilder & xrpl::ledger_entries::VaultBuilder::setAssetsAvailable ( std::decay_t< typename SF_NUMBER::type::value_type > const & value)

Set sfAssetsAvailable (SoeDefault).

Returns
Reference to this builder for method chaining.

Definition at line 546 of file Vault.h.

◆ setAssetsMaximum()

VaultBuilder & xrpl::ledger_entries::VaultBuilder::setAssetsMaximum ( std::decay_t< typename SF_NUMBER::type::value_type > const & value)

Set sfAssetsMaximum (SoeDefault).

Returns
Reference to this builder for method chaining.

Definition at line 557 of file Vault.h.

◆ setLossUnrealized()

VaultBuilder & xrpl::ledger_entries::VaultBuilder::setLossUnrealized ( std::decay_t< typename SF_NUMBER::type::value_type > const & value)

Set sfLossUnrealized (SoeDefault).

Returns
Reference to this builder for method chaining.

Definition at line 568 of file Vault.h.

◆ setShareMPTID()

VaultBuilder & xrpl::ledger_entries::VaultBuilder::setShareMPTID ( std::decay_t< typename SF_UINT192::type::value_type > const & value)

Set sfShareMPTID (SoeRequired).

Returns
Reference to this builder for method chaining.

Definition at line 579 of file Vault.h.

◆ setWithdrawalPolicy()

VaultBuilder & xrpl::ledger_entries::VaultBuilder::setWithdrawalPolicy ( std::decay_t< typename SF_UINT8::type::value_type > const & value)

Set sfWithdrawalPolicy (SoeRequired).

Returns
Reference to this builder for method chaining.

Definition at line 590 of file Vault.h.

◆ setScale()

VaultBuilder & xrpl::ledger_entries::VaultBuilder::setScale ( std::decay_t< typename SF_UINT8::type::value_type > const & value)

Set sfScale (SoeDefault).

Returns
Reference to this builder for method chaining.

Definition at line 601 of file Vault.h.

◆ setLEVersion()

VaultBuilder & xrpl::ledger_entries::VaultBuilder::setLEVersion ( std::decay_t< typename SF_UINT8::type::value_type > const & value)

Set sfLEVersion (SoeDefault).

Returns
Reference to this builder for method chaining.

Definition at line 612 of file Vault.h.

◆ setVaultKind()

VaultBuilder & xrpl::ledger_entries::VaultBuilder::setVaultKind ( std::decay_t< typename SF_UINT8::type::value_type > const & value)

Set sfVaultKind (SoeDefault).

Returns
Reference to this builder for method chaining.

Definition at line 623 of file Vault.h.

◆ setSubscriptionDate()

VaultBuilder & xrpl::ledger_entries::VaultBuilder::setSubscriptionDate ( std::decay_t< typename SF_UINT32::type::value_type > const & value)

Set sfSubscriptionDate (SoeOptional).

Returns
Reference to this builder for method chaining.

Definition at line 634 of file Vault.h.

◆ setRedemptionDate()

VaultBuilder & xrpl::ledger_entries::VaultBuilder::setRedemptionDate ( std::decay_t< typename SF_UINT32::type::value_type > const & value)

Set sfRedemptionDate (SoeOptional).

Returns
Reference to this builder for method chaining.

Definition at line 645 of file Vault.h.

◆ build()

Vault xrpl::ledger_entries::VaultBuilder::build ( uint256 const & index)

Build and return the completed Vault wrapper.

Parameters
indexThe ledger entry index.
Returns
The constructed ledger entry wrapper.

Definition at line 657 of file Vault.h.

◆ validate()

bool xrpl::ledger_entries::LedgerEntryBuilderBase< VaultBuilder >::validate ( ) const
nodiscardinherited

Validate the ledger entry.

Returns
true if validation passes, false otherwise

Definition at line 45 of file LedgerEntryBuilderBase.h.

◆ setLedgerIndex()

VaultBuilder & xrpl::ledger_entries::LedgerEntryBuilderBase< VaultBuilder >::setLedgerIndex ( uint256 const & value)
inherited

Set the ledger index.

Parameters
valueLedger index
Returns
Reference to the derived builder for method chaining.

Definition at line 62 of file LedgerEntryBuilderBase.h.

◆ setFlags()

VaultBuilder & xrpl::ledger_entries::LedgerEntryBuilderBase< VaultBuilder >::setFlags ( uint32_t value)
inherited

Set the flags.

Parameters
valueFlags value
Returns
Reference to the derived builder for method chaining.

Definition at line 74 of file LedgerEntryBuilderBase.h.

Member Data Documentation

◆ object_

Definition at line 81 of file LedgerEntryBuilderBase.h.