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

Builder for AMM ledger entries. More...

#include <AMM.h>

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

Public Member Functions

 AMMBuilder (std::decay_t< typename SF_ACCOUNT::type::value_type > const &account, std::decay_t< typename SF_AMOUNT::type::value_type > const &lPTokenBalance, std::decay_t< typename SF_ISSUE::type::value_type > const &asset, std::decay_t< typename SF_ISSUE::type::value_type > const &asset2, std::decay_t< typename SF_UINT64::type::value_type > const &ownerNode)
 Construct a new AMMBuilder with required fields.
 
 AMMBuilder (std::shared_ptr< SLE const > sle)
 Construct a AMMBuilder from an existing SLE object.
 
AMMBuildersetAccount (std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
 Ledger entry-specific field setters.
 
AMMBuildersetTradingFee (std::decay_t< typename SF_UINT16::type::value_type > const &value)
 Set sfTradingFee (soeDEFAULT)
 
AMMBuildersetVoteSlots (STArray const &value)
 Set sfVoteSlots (soeOPTIONAL)
 
AMMBuildersetAuctionSlot (STObject const &value)
 Set sfAuctionSlot (soeOPTIONAL)
 
AMMBuildersetLPTokenBalance (std::decay_t< typename SF_AMOUNT::type::value_type > const &value)
 Set sfLPTokenBalance (soeREQUIRED)
 
AMMBuildersetAsset (std::decay_t< typename SF_ISSUE::type::value_type > const &value)
 Set sfAsset (soeREQUIRED)
 
AMMBuildersetAsset2 (std::decay_t< typename SF_ISSUE::type::value_type > const &value)
 Set sfAsset2 (soeREQUIRED)
 
AMMBuildersetOwnerNode (std::decay_t< typename SF_UINT64::type::value_type > const &value)
 Set sfOwnerNode (soeREQUIRED)
 
AMMBuildersetPreviousTxnID (std::decay_t< typename SF_UINT256::type::value_type > const &value)
 Set sfPreviousTxnID (soeOPTIONAL)
 
AMMBuildersetPreviousTxnLgrSeq (std::decay_t< typename SF_UINT32::type::value_type > const &value)
 Set sfPreviousTxnLgrSeq (soeOPTIONAL)
 
AMM build (uint256 const &index)
 Build and return the completed AMM wrapper.
 
bool validate () const
 Validate the ledger entry.
 
AMMBuildersetLedgerIndex (uint256 const &value)
 Set the ledger index.
 
AMMBuildersetFlags (uint32_t value)
 Set the flags.
 

Protected Attributes

STObject object_
 

Detailed Description

Builder for AMM 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 233 of file include/xrpl/protocol_autogen/ledger_entries/AMM.h.

Constructor & Destructor Documentation

◆ AMMBuilder() [1/2]

xrpl::ledger_entries::AMMBuilder::AMMBuilder ( std::decay_t< typename SF_ACCOUNT::type::value_type > const &  account,
std::decay_t< typename SF_AMOUNT::type::value_type > const &  lPTokenBalance,
std::decay_t< typename SF_ISSUE::type::value_type > const &  asset,
std::decay_t< typename SF_ISSUE::type::value_type > const &  asset2,
std::decay_t< typename SF_UINT64::type::value_type > const &  ownerNode 
)

Construct a new AMMBuilder with required fields.

Parameters
accountThe sfAccount field value.
lPTokenBalanceThe sfLPTokenBalance field value.
assetThe sfAsset field value.
asset2The sfAsset2 field value.
ownerNodeThe sfOwnerNode field value.

Definition at line 244 of file include/xrpl/protocol_autogen/ledger_entries/AMM.h.

◆ AMMBuilder() [2/2]

xrpl::ledger_entries::AMMBuilder::AMMBuilder ( std::shared_ptr< SLE const >  sle)

Construct a AMMBuilder 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 259 of file include/xrpl/protocol_autogen/ledger_entries/AMM.h.

Member Function Documentation

◆ setAccount()

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

Ledger entry-specific field setters.

Set sfAccount (soeREQUIRED)

Returns
Reference to this builder for method chaining.

Definition at line 275 of file include/xrpl/protocol_autogen/ledger_entries/AMM.h.

◆ setTradingFee()

AMMBuilder & xrpl::ledger_entries::AMMBuilder::setTradingFee ( std::decay_t< typename SF_UINT16::type::value_type > const &  value)

Set sfTradingFee (soeDEFAULT)

Returns
Reference to this builder for method chaining.

Definition at line 286 of file include/xrpl/protocol_autogen/ledger_entries/AMM.h.

◆ setVoteSlots()

AMMBuilder & xrpl::ledger_entries::AMMBuilder::setVoteSlots ( STArray const &  value)

Set sfVoteSlots (soeOPTIONAL)

Returns
Reference to this builder for method chaining.

Definition at line 297 of file include/xrpl/protocol_autogen/ledger_entries/AMM.h.

◆ setAuctionSlot()

AMMBuilder & xrpl::ledger_entries::AMMBuilder::setAuctionSlot ( STObject const &  value)

Set sfAuctionSlot (soeOPTIONAL)

Returns
Reference to this builder for method chaining.

Definition at line 308 of file include/xrpl/protocol_autogen/ledger_entries/AMM.h.

◆ setLPTokenBalance()

AMMBuilder & xrpl::ledger_entries::AMMBuilder::setLPTokenBalance ( std::decay_t< typename SF_AMOUNT::type::value_type > const &  value)

Set sfLPTokenBalance (soeREQUIRED)

Returns
Reference to this builder for method chaining.

Definition at line 319 of file include/xrpl/protocol_autogen/ledger_entries/AMM.h.

◆ setAsset()

AMMBuilder & xrpl::ledger_entries::AMMBuilder::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 330 of file include/xrpl/protocol_autogen/ledger_entries/AMM.h.

◆ setAsset2()

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

Set sfAsset2 (soeREQUIRED)

Returns
Reference to this builder for method chaining.

Definition at line 341 of file include/xrpl/protocol_autogen/ledger_entries/AMM.h.

◆ setOwnerNode()

AMMBuilder & xrpl::ledger_entries::AMMBuilder::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 352 of file include/xrpl/protocol_autogen/ledger_entries/AMM.h.

◆ setPreviousTxnID()

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

Set sfPreviousTxnID (soeOPTIONAL)

Returns
Reference to this builder for method chaining.

Definition at line 363 of file include/xrpl/protocol_autogen/ledger_entries/AMM.h.

◆ setPreviousTxnLgrSeq()

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

Set sfPreviousTxnLgrSeq (soeOPTIONAL)

Returns
Reference to this builder for method chaining.

Definition at line 374 of file include/xrpl/protocol_autogen/ledger_entries/AMM.h.

◆ build()

AMM xrpl::ledger_entries::AMMBuilder::build ( uint256 const &  index)

Build and return the completed AMM wrapper.

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

Definition at line 386 of file include/xrpl/protocol_autogen/ledger_entries/AMM.h.

◆ validate()

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

Validate the ledger entry.

Returns
true if validation passes, false otherwise

Definition at line 45 of file LedgerEntryBuilderBase.h.

◆ setLedgerIndex()

AMMBuilder & xrpl::ledger_entries::LedgerEntryBuilderBase< AMMBuilder >::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()

AMMBuilder & xrpl::ledger_entries::LedgerEntryBuilderBase< AMMBuilder >::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.