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

Builder for Oracle ledger entries. More...

#include <Oracle.h>

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

Public Member Functions

 OracleBuilder (std::decay_t< typename SF_ACCOUNT::type::value_type > const &owner, std::decay_t< typename SF_VL::type::value_type > const &provider, STArray const &priceDataSeries, std::decay_t< typename SF_VL::type::value_type > const &assetClass, std::decay_t< typename SF_UINT32::type::value_type > const &lastUpdateTime, std::decay_t< typename SF_UINT64::type::value_type > const &ownerNode, std::decay_t< typename SF_UINT256::type::value_type > const &previousTxnID, std::decay_t< typename SF_UINT32::type::value_type > const &previousTxnLgrSeq)
 Construct a new OracleBuilder with required fields.
 
 OracleBuilder (std::shared_ptr< SLE const > sle)
 Construct a OracleBuilder from an existing SLE object.
 
OracleBuildersetOwner (std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
 Ledger entry-specific field setters.
 
OracleBuildersetOracleDocumentID (std::decay_t< typename SF_UINT32::type::value_type > const &value)
 Set sfOracleDocumentID (soeOPTIONAL)
 
OracleBuildersetProvider (std::decay_t< typename SF_VL::type::value_type > const &value)
 Set sfProvider (soeREQUIRED)
 
OracleBuildersetPriceDataSeries (STArray const &value)
 Set sfPriceDataSeries (soeREQUIRED)
 
OracleBuildersetAssetClass (std::decay_t< typename SF_VL::type::value_type > const &value)
 Set sfAssetClass (soeREQUIRED)
 
OracleBuildersetLastUpdateTime (std::decay_t< typename SF_UINT32::type::value_type > const &value)
 Set sfLastUpdateTime (soeREQUIRED)
 
OracleBuildersetURI (std::decay_t< typename SF_VL::type::value_type > const &value)
 Set sfURI (soeOPTIONAL)
 
OracleBuildersetOwnerNode (std::decay_t< typename SF_UINT64::type::value_type > const &value)
 Set sfOwnerNode (soeREQUIRED)
 
OracleBuildersetPreviousTxnID (std::decay_t< typename SF_UINT256::type::value_type > const &value)
 Set sfPreviousTxnID (soeREQUIRED)
 
OracleBuildersetPreviousTxnLgrSeq (std::decay_t< typename SF_UINT32::type::value_type > const &value)
 Set sfPreviousTxnLgrSeq (soeREQUIRED)
 
Oracle build (uint256 const &index)
 Build and return the completed Oracle wrapper.
 
bool validate () const
 Validate the ledger entry.
 
OracleBuildersetLedgerIndex (uint256 const &value)
 Set the ledger index.
 
OracleBuildersetFlags (uint32_t value)
 Set the flags.
 

Protected Attributes

STObject object_
 

Detailed Description

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

Constructor & Destructor Documentation

◆ OracleBuilder() [1/2]

xrpl::ledger_entries::OracleBuilder::OracleBuilder ( std::decay_t< typename SF_ACCOUNT::type::value_type > const &  owner,
std::decay_t< typename SF_VL::type::value_type > const &  provider,
STArray const &  priceDataSeries,
std::decay_t< typename SF_VL::type::value_type > const &  assetClass,
std::decay_t< typename SF_UINT32::type::value_type > const &  lastUpdateTime,
std::decay_t< typename SF_UINT64::type::value_type > const &  ownerNode,
std::decay_t< typename SF_UINT256::type::value_type > const &  previousTxnID,
std::decay_t< typename SF_UINT32::type::value_type > const &  previousTxnLgrSeq 
)

Construct a new OracleBuilder with required fields.

Parameters
ownerThe sfOwner field value.
providerThe sfProvider field value.
priceDataSeriesThe sfPriceDataSeries field value.
assetClassThe sfAssetClass field value.
lastUpdateTimeThe sfLastUpdateTime field value.
ownerNodeThe sfOwnerNode field value.
previousTxnIDThe sfPreviousTxnID field value.
previousTxnLgrSeqThe sfPreviousTxnLgrSeq field value.

Definition at line 207 of file include/xrpl/protocol_autogen/ledger_entries/Oracle.h.

◆ OracleBuilder() [2/2]

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

Construct a OracleBuilder 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 225 of file include/xrpl/protocol_autogen/ledger_entries/Oracle.h.

Member Function Documentation

◆ setOwner()

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

Ledger entry-specific field setters.

Set sfOwner (soeREQUIRED)

Returns
Reference to this builder for method chaining.

Definition at line 241 of file include/xrpl/protocol_autogen/ledger_entries/Oracle.h.

◆ setOracleDocumentID()

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

Set sfOracleDocumentID (soeOPTIONAL)

Returns
Reference to this builder for method chaining.

Definition at line 252 of file include/xrpl/protocol_autogen/ledger_entries/Oracle.h.

◆ setProvider()

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

Set sfProvider (soeREQUIRED)

Returns
Reference to this builder for method chaining.

Definition at line 263 of file include/xrpl/protocol_autogen/ledger_entries/Oracle.h.

◆ setPriceDataSeries()

OracleBuilder & xrpl::ledger_entries::OracleBuilder::setPriceDataSeries ( STArray const &  value)

Set sfPriceDataSeries (soeREQUIRED)

Returns
Reference to this builder for method chaining.

Definition at line 274 of file include/xrpl/protocol_autogen/ledger_entries/Oracle.h.

◆ setAssetClass()

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

Set sfAssetClass (soeREQUIRED)

Returns
Reference to this builder for method chaining.

Definition at line 285 of file include/xrpl/protocol_autogen/ledger_entries/Oracle.h.

◆ setLastUpdateTime()

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

Set sfLastUpdateTime (soeREQUIRED)

Returns
Reference to this builder for method chaining.

Definition at line 296 of file include/xrpl/protocol_autogen/ledger_entries/Oracle.h.

◆ setURI()

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

Set sfURI (soeOPTIONAL)

Returns
Reference to this builder for method chaining.

Definition at line 307 of file include/xrpl/protocol_autogen/ledger_entries/Oracle.h.

◆ setOwnerNode()

OracleBuilder & xrpl::ledger_entries::OracleBuilder::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 318 of file include/xrpl/protocol_autogen/ledger_entries/Oracle.h.

◆ setPreviousTxnID()

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

Set sfPreviousTxnID (soeREQUIRED)

Returns
Reference to this builder for method chaining.

Definition at line 329 of file include/xrpl/protocol_autogen/ledger_entries/Oracle.h.

◆ setPreviousTxnLgrSeq()

OracleBuilder & xrpl::ledger_entries::OracleBuilder::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 340 of file include/xrpl/protocol_autogen/ledger_entries/Oracle.h.

◆ build()

Oracle xrpl::ledger_entries::OracleBuilder::build ( uint256 const &  index)

Build and return the completed Oracle wrapper.

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

Definition at line 352 of file include/xrpl/protocol_autogen/ledger_entries/Oracle.h.

◆ validate()

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

Validate the ledger entry.

Returns
true if validation passes, false otherwise

Definition at line 45 of file LedgerEntryBuilderBase.h.

◆ setLedgerIndex()

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

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