rippled
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
xrpl::ledger_entries::VaultBuilder Class Reference

Builder for Vault ledger entries. More...

#include <Vault.h>

Inheritance diagram for xrpl::ledger_entries::VaultBuilder:
Inheritance graph
[legend]
Collaboration diagram for xrpl::ledger_entries::VaultBuilder:
Collaboration graph
[legend]

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 (std::shared_ptr< SLE const > 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)
 
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 Json::Value internally for flexible ledger entry construction. Inherits common field setters from LedgerEntryBuilderBase.

Definition at line 299 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 314 of file Vault.h.

◆ VaultBuilder() [2/2]

xrpl::ledger_entries::VaultBuilder::VaultBuilder ( std::shared_ptr< SLE const >  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 333 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 349 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 360 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 371 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 382 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 393 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 404 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 415 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 426 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 437 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 448 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 459 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 470 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 481 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 492 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 503 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 515 of file Vault.h.

◆ validate()

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

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.