rippled
Loading...
Searching...
No Matches
Classes | Concepts | Typedefs | Enumerations | Functions | Variables
xrpl::detail Namespace Reference

Classes

class  AccountIdCache
 Caches the base58 representations of AccountIDs. More...
 
class  AccountIDTag
 
class  ApplyStateTable
 
class  ApplyViewBase
 
struct  basic_sha512_half_hasher
 Returns the SHA512-Half digest of a message. More...
 
class  BasicFullBelowCache
 Remembers which tree keys have all descendants resident. More...
 
class  CachedViewImpl
 
struct  case_results
 
class  CurrencyTag
 
struct  DatabasePairValid
 
struct  defaultObject_t
 
class  DeferredCredits
 
class  DirectoryTag
 
class  DirGuard
 Create a directory and remove it when it's done. More...
 
struct  epsilon_multiple
 
struct  ExtendedPaymentComponents
 
class  FileCfgGuard
 Write a xrpld config file and remove when done. More...
 
class  FileDirGuard
 Write a file in a directory and remove when done. More...
 
class  flags_helper
 
class  Generator
 Produces a sequence of secp256k1 key pairs. More...
 
struct  is_contiguous_container
 
struct  is_contiguous_container< Container, std::void_t< decltype(std::declval< Container const >().size()), decltype(std::declval< Container const >().data()), typename Container::value_type > >
 
struct  is_contiguous_container< Slice >
 
struct  LoanStateDeltas
 
struct  LocalValues
 
struct  MessageHeader
 
class  multi_runner_base
 
struct  MultiApiJson
 
class  NodeIDTag
 
struct  NoEdgeData
 
struct  nonPresentObject_t
 
struct  PaymentComponents
 
struct  PeerDataCounts
 
class  RawStateTable
 
class  ReadViewFwdIter
 
class  ReadViewFwdRange
 
struct  results
 
class  save_stream_state
 
class  ServerDefinitions
 
class  STVar
 
struct  suite_results
 
class  test_user_type_free
 
class  test_user_type_member
 
struct  throw_policy
 
class  TokenCodecErrcCategory
 
class  ValidatorsTxtGuard
 Write a validators.txt file and remove when done. More...
 
class  VotableValue
 
class  Work
 
class  WorkBase
 
class  WorkFile
 
class  WorkPlain
 
class  WorkSSL
 

Concepts

concept  ValidConstructSTArgs
 
concept  some_integral_constant
 

Typedefs

using seed_pair = std::pair< std::uint64_t, std::uint64_t >
 
template<class Engine , class Result = typename Engine::result_type>
using is_engine = std::is_invocable_r< Result, Engine >
 
template<class T >
using test_hardened_unordered_set = std::unordered_set< T, hardened_hash<> >
 
template<class T >
using test_hardened_unordered_map = std::unordered_map< T, int, hardened_hash<> >
 
template<class T >
using test_hardened_unordered_multiset = std::unordered_multiset< T, hardened_hash<> >
 
template<class T >
using test_hardened_unordered_multimap = std::unordered_multimap< T, int, hardened_hash<> >
 
using clock_type = std::chrono::steady_clock
 
using response_type = boost::beast::http::response< boost::beast::http::string_body >
 

Enumerations

enum class  PaymentSpecialCase { none , final , extra }
 
enum class  TableType { Ledgers , Transactions , AccountTransactions }
 

Functions

template<bool = true>
seed_pair make_seed_pair () noexcept
 
template<class = void>
boost::thread_specific_ptr< detail::LocalValues > & getLocalValues ()
 
void spin_pause () noexcept
 Inform the processor that we are in a tight spin-wait loop.
 
template<class T , class... Args>
STVar make_stvar (Args &&... args)
 
bool operator== (STVar const &lhs, STVar const &rhs)
 
bool operator!= (STVar const &lhs, STVar const &rhs)
 
std::map< std::string, VoteBehavior > const & supportedAmendments ()
 Amendments that this server supports and the default voting behavior.
 
std::size_t numDownVotedAmendments ()
 Amendments that this server won't vote for by default.
 
std::size_t numUpVotedAmendments ()
 Amendments that this server will vote for by default.
 
constexpr std::uint32_t make_hash_prefix (char a, char b, char c)
 
SlabAllocatorSet< SHAMapItemslabber ({ { 128, megabytes(std::size_t(60)) }, { 192, megabytes(std::size_t(46)) }, { 272, megabytes(std::size_t(60)) }, { 384, megabytes(std::size_t(56)) }, { 564, megabytes(std::size_t(40)) }, { 772, megabytes(std::size_t(46)) }, { 1052, megabytes(std::size_t(60)) }, })
 
template<class V , class N , class = std::enable_if_t< std::is_same_v<std::remove_cv_t<N>, SLE> && std::is_base_of_v<ReadView, V>>>
bool internalDirNext (V &view, uint256 const &root, std::shared_ptr< N > &page, unsigned int &index, uint256 &entry)
 
template<class V , class N , class = std::enable_if_t< std::is_same_v<std::remove_cv_t<N>, SLE> && std::is_base_of_v<ReadView, V>>>
bool internalDirFirst (V &view, uint256 const &root, std::shared_ptr< N > &page, unsigned int &index, uint256 &entry)
 
STAmount as_amount (Rate const &rate)
 
void copy_uint32 (std::uint8_t *out, std::uint32_t v)
 
uint256 deriveDeterministicRootKey (Seed const &seed)
 
constexpr char const * realValidatorContents ()
 
std::string configContents (std::string const &dbPath, std::string const &validatorsFile)
 
std::string valFileContents ()
 
std::uint32_t owned_count_of (ReadView const &view, AccountID const &id, LedgerEntryType type)
 
void owned_count_helper (test::jtx::Env &env, AccountID const &id, LedgerEntryType type, std::uint32_t value)
 
template<class Cond , class... Args>
void require_args (test::jtx::requires_t &vec, Cond const &cond, Args const &... args)
 
template<class Rep , class Period >
std::ostreampretty_time (std::ostream &os, std::chrono::duration< Rep, Period > d)
 
template<class Period , class Rep >
std::string fmtdur (std::chrono::duration< Period, Rep > const &d)
 
std::string fmtdur (typename clock_type::duration const &d)
 
Number reduceOffer (auto const &amount)
 
Number::rounding_mode getLPTokenRounding (IsDeposit isDeposit)
 
Number::rounding_mode getAssetRounding (IsDeposit isDeposit)
 
Number computeRaisedRate (Number const &periodicRate, std::uint32_t paymentsRemaining)
 
Number computePaymentFactor (Number const &periodicRate, std::uint32_t paymentsRemaining)
 
Number loanPeriodicPayment (Number const &principalOutstanding, Number const &periodicRate, std::uint32_t paymentsRemaining)
 
Number loanPeriodicPayment (Number const &principalOutstanding, TenthBips32 interestRate, std::uint32_t paymentInterval, std::uint32_t paymentsRemaining)
 
Number loanPrincipalFromPeriodicPayment (Number const &periodicPayment, Number const &periodicRate, std::uint32_t paymentsRemaining)
 
std::pair< Number, NumbercomputeInterestAndFeeParts (Number const &interest, TenthBips16 managementFeeRate)
 
std::pair< Number, NumbercomputeInterestAndFeeParts (Asset const &asset, Number const &interest, TenthBips16 managementFeeRate, std::int32_t loanScale)
 
Number loanLatePaymentInterest (Number const &principalOutstanding, TenthBips32 lateInterestRate, NetClock::time_point parentCloseTime, std::uint32_t nextPaymentDueDate)
 
Number loanAccruedInterest (Number const &principalOutstanding, Number const &periodicRate, NetClock::time_point parentCloseTime, std::uint32_t startDate, std::uint32_t prevPaymentDate, std::uint32_t paymentInterval)
 
template<class NumberProxy , class UInt32Proxy , class UInt32OptionalProxy >
LoanPaymentParts doPayment (ExtendedPaymentComponents const &payment, NumberProxy &totalValueOutstandingProxy, NumberProxy &principalOutstandingProxy, NumberProxy &managementFeeOutstandingProxy, UInt32Proxy &paymentRemainingProxy, UInt32Proxy &prevPaymentDateProxy, UInt32OptionalProxy &nextDueDateProxy, std::uint32_t paymentInterval)
 
Expected< LoanPaymentParts, TERtryOverpayment (Asset const &asset, std::int32_t loanScale, ExtendedPaymentComponents const &overpaymentComponents, Number &totalValueOutstanding, Number &principalOutstanding, Number &managementFeeOutstanding, Number &periodicPayment, TenthBips32 interestRate, std::uint32_t paymentInterval, Number const &periodicRate, std::uint32_t paymentRemaining, std::uint32_t prevPaymentDate, std::optional< std::uint32_t > nextDueDate, TenthBips16 const managementFeeRate, beast::Journal j)
 
template<class NumberProxy >
Expected< LoanPaymentParts, TERdoOverpayment (Asset const &asset, std::int32_t loanScale, ExtendedPaymentComponents const &overpaymentComponents, NumberProxy &totalValueOutstandingProxy, NumberProxy &principalOutstandingProxy, NumberProxy &managementFeeOutstandingProxy, NumberProxy &periodicPaymentProxy, TenthBips32 const interestRate, std::uint32_t const paymentInterval, Number const &periodicRate, std::uint32_t const paymentRemaining, std::uint32_t const prevPaymentDate, std::optional< std::uint32_t > const nextDueDate, TenthBips16 const managementFeeRate, beast::Journal j)
 
Expected< ExtendedPaymentComponents, TERcomputeLatePayment (Asset const &asset, ApplyView const &view, Number const &principalOutstanding, std::int32_t nextDueDate, ExtendedPaymentComponents const &periodic, TenthBips32 lateInterestRate, std::int32_t loanScale, Number const &latePaymentFee, STAmount const &amount, TenthBips16 managementFeeRate, beast::Journal j)
 
Expected< ExtendedPaymentComponents, TERcomputeFullPayment (Asset const &asset, ApplyView &view, Number const &principalOutstanding, Number const &managementFeeOutstanding, Number const &periodicPayment, std::uint32_t paymentRemaining, std::uint32_t prevPaymentDate, std::uint32_t const startDate, std::uint32_t const paymentInterval, TenthBips32 const closeInterestRate, std::int32_t loanScale, Number const &totalInterestOutstanding, Number const &periodicRate, Number const &closePaymentFee, STAmount const &amount, TenthBips16 managementFeeRate, beast::Journal j)
 
PaymentComponents computePaymentComponents (Asset const &asset, std::int32_t scale, Number const &totalValueOutstanding, Number const &principalOutstanding, Number const &managementFeeOutstanding, Number const &periodicPayment, Number const &periodicRate, std::uint32_t paymentRemaining, TenthBips16 managementFeeRate)
 
ExtendedPaymentComponents computeOverpaymentComponents (Asset const &asset, int32_t const loanScale, Number const &overpayment, TenthBips32 const overpaymentInterestRate, TenthBips32 const overpaymentFeeRate, TenthBips16 const managementFeeRate)
 
static constexpr std::pair< bool, std::uint64_tsumOfFirstSquares (std::size_t xIn)
 
template<class T >
std::vector< T > getTrustLineItems (AccountID const &accountID, ReadView const &view, LineDirection direction=LineDirection::outgoing)
 
static std::string to_string (TableType type)
 to_string Returns the name of a table according to its TableType.
 
DatabasePairValid makeLedgerDBs (Config const &config, DatabaseCon::Setup const &setup, DatabaseCon::CheckpointerSetup const &checkpointerSetup, beast::Journal j)
 makeLedgerDBs Opens ledger and transactions databases.
 
std::optional< LedgerIndexgetMinLedgerSeq (soci::session &session, TableType type)
 getMinLedgerSeq Returns minimum ledger sequence in given table.
 
std::optional< LedgerIndexgetMaxLedgerSeq (soci::session &session, TableType type)
 getMaxLedgerSeq Returns maximum ledger sequence in given table.
 
void deleteByLedgerSeq (soci::session &session, TableType type, LedgerIndex ledgerSeq)
 deleteByLedgerSeq Deletes all entries in given table for the ledger with given sequence.
 
void deleteBeforeLedgerSeq (soci::session &session, TableType type, LedgerIndex ledgerSeq)
 deleteBeforeLedgerSeq Deletes all entries in given table for the ledgers with given sequence and all sequences below it.
 
std::size_t getRows (soci::session &session, TableType type)
 getRows Returns number of rows in given table.
 
RelationalDatabase::CountMinMax getRowsMinMax (soci::session &session, TableType type)
 getRowsMinMax Returns minimum ledger sequence, maximum ledger sequence and total number of rows in given table.
 
bool saveValidatedLedger (DatabaseCon &ldgDB, std::unique_ptr< DatabaseCon > const &txnDB, Application &app, std::shared_ptr< Ledger const > const &ledger, bool current)
 saveValidatedLedger Saves ledger into database.
 
static std::optional< LedgerHeadergetLedgerInfo (soci::session &session, std::string const &sqlSuffix, beast::Journal j)
 getLedgerInfo Returns the info of the ledger retrieved from the database by using the provided SQL query suffix.
 
std::optional< LedgerHeadergetLedgerInfoByIndex (soci::session &session, LedgerIndex ledgerSeq, beast::Journal j)
 getLedgerInfoByIndex Returns ledger by its sequence.
 
std::optional< LedgerHeadergetNewestLedgerInfo (soci::session &session, beast::Journal j)
 getNewestLedgerInfo Returns info of newest saved ledger.
 
std::optional< LedgerHeadergetLimitedOldestLedgerInfo (soci::session &session, LedgerIndex ledgerFirstIndex, beast::Journal j)
 getLimitedOldestLedgerInfo Returns info of oldest ledger from ledgers with sequences greater or equal to given.
 
std::optional< LedgerHeadergetLimitedNewestLedgerInfo (soci::session &session, LedgerIndex ledgerFirstIndex, beast::Journal j)
 getLimitedNewestLedgerInfo Returns info of newest ledger from ledgers with sequences greater or equal to given.
 
std::optional< LedgerHeadergetLedgerInfoByHash (soci::session &session, uint256 const &ledgerHash, beast::Journal j)
 getLedgerInfoByHash Returns info of ledger with given hash.
 
uint256 getHashByIndex (soci::session &session, LedgerIndex ledgerIndex)
 getHashByIndex Returns hash of ledger with given sequence.
 
std::optional< LedgerHashPairgetHashesByIndex (soci::session &session, LedgerIndex ledgerIndex, beast::Journal j)
 getHashesByIndex Returns hash of the ledger and hash of parent ledger for the ledger of given sequence.
 
std::map< LedgerIndex, LedgerHashPairgetHashesByIndex (soci::session &session, LedgerIndex minSeq, LedgerIndex maxSeq, beast::Journal j)
 getHashesByIndex Returns hash of the ledger and hash of parent ledger for all ledgers with sequences from given minimum limit to given maximum limit.
 
std::pair< std::vector< std::shared_ptr< Transaction > >, int > getTxHistory (soci::session &session, Application &app, LedgerIndex startIndex, int quantity)
 getTxHistory Returns given number of most recent transactions starting from given number of entry.
 
static std::string transactionsSQL (Application &app, std::string selection, RelationalDatabase::AccountTxOptions const &options, bool descending, bool binary, bool count, beast::Journal j)
 transactionsSQL Returns a SQL query for selecting the oldest or newest transactions in decoded or binary form for the account that matches the given criteria starting from the provided offset.
 
static std::pair< RelationalDatabase::AccountTxs, int > getAccountTxs (soci::session &session, Application &app, LedgerMaster &ledgerMaster, RelationalDatabase::AccountTxOptions const &options, bool descending, beast::Journal j)
 getAccountTxs Returns the oldest or newest transactions for the account that matches the given criteria starting from the provided offset.
 
std::pair< RelationalDatabase::AccountTxs, int > getOldestAccountTxs (soci::session &session, Application &app, LedgerMaster &ledgerMaster, RelationalDatabase::AccountTxOptions const &options, beast::Journal j)
 getOldestAccountTxs Returns oldest transactions for given account which match given criteria starting from given offset.
 
std::pair< RelationalDatabase::AccountTxs, int > getNewestAccountTxs (soci::session &session, Application &app, LedgerMaster &ledgerMaster, RelationalDatabase::AccountTxOptions const &options, beast::Journal j)
 getNewestAccountTxs Returns newest transactions for given account which match given criteria starting from given offset.
 
static std::pair< std::vector< RelationalDatabase::txnMetaLedgerType >, int > getAccountTxsB (soci::session &session, Application &app, RelationalDatabase::AccountTxOptions const &options, bool descending, beast::Journal j)
 getAccountTxsB Returns the oldest or newest transactions in binary form for the account that matches given criteria starting from the provided offset.
 
std::pair< std::vector< RelationalDatabase::txnMetaLedgerType >, int > getOldestAccountTxsB (soci::session &session, Application &app, RelationalDatabase::AccountTxOptions const &options, beast::Journal j)
 getOldestAccountTxsB Returns oldest transactions in binary form for given account which match given criteria starting from given offset.
 
std::pair< std::vector< RelationalDatabase::txnMetaLedgerType >, int > getNewestAccountTxsB (soci::session &session, Application &app, RelationalDatabase::AccountTxOptions const &options, beast::Journal j)
 getNewestAccountTxsB Returns newest transactions in binary form for given account which match given criteria starting from given offset.
 
static std::pair< std::optional< RelationalDatabase::AccountTxMarker >, int > accountTxPage (soci::session &session, std::function< void(std::uint32_t)> const &onUnsavedLedger, std::function< void(std::uint32_t, std::string const &, Blob &&, Blob &&)> const &onTransaction, RelationalDatabase::AccountTxPageOptions const &options, std::uint32_t page_length, bool forward)
 accountTxPage Searches for the oldest or newest transactions for the account that matches the given criteria starting from the provided marker and invokes the callback parameter for each found transaction.
 
std::pair< std::optional< RelationalDatabase::AccountTxMarker >, int > oldestAccountTxPage (soci::session &session, std::function< void(std::uint32_t)> const &onUnsavedLedger, std::function< void(std::uint32_t, std::string const &, Blob &&, Blob &&)> const &onTransaction, RelationalDatabase::AccountTxPageOptions const &options, std::uint32_t page_length)
 oldestAccountTxPage Searches oldest transactions for given account which match given criteria starting from given marker and calls callback for each found transaction.
 
std::pair< std::optional< RelationalDatabase::AccountTxMarker >, int > newestAccountTxPage (soci::session &session, std::function< void(std::uint32_t)> const &onUnsavedLedger, std::function< void(std::uint32_t, std::string const &, Blob &&, Blob &&)> const &onTransaction, RelationalDatabase::AccountTxPageOptions const &options, std::uint32_t page_length)
 newestAccountTxPage Searches newest transactions for given account which match given criteria starting from given marker and calls callback for each found transaction.
 
std::variant< RelationalDatabase::AccountTx, TxSearchedgetTransaction (soci::session &session, Application &app, uint256 const &id, std::optional< ClosedInterval< uint32_t > > const &range, error_code_i &ec)
 getTransaction Returns transaction with given hash.
 
bool dbHasSpace (soci::session &session, Config const &config, beast::Journal j)
 dbHasSpace Checks if given database has available space.
 
NotTEC preflightCheckSigningKey (STObject const &sigObject, beast::Journal j)
 Checks the validity of the transactor signing key.
 
std::optional< NotTECpreflightCheckSimulateKeys (ApplyFlags flags, STObject const &sigObject, beast::Journal j)
 Checks the special signing key state needed for simulation.
 
std::string getSociSqliteInit (std::string const &name, std::string const &dir, std::string const &ext)
 
std::string getSociInit (BasicConfig const &config, std::string const &dbName)
 
template<typename BufferSequence >
auto buffersBegin (BufferSequence const &bufs)
 
template<typename BufferSequence >
auto buffersEnd (BufferSequence const &bufs)
 
template<class BufferSequence >
std::optional< MessageHeaderparseMessageHeader (boost::system::error_code &ec, BufferSequence const &bufs, std::size_t size)
 Parse a message header.
 
template<class T , class Buffers , class = std::enable_if_t< std::is_base_of<::google::protobuf::Message, T>::value>>
std::shared_ptr< T > parseMessageContent (MessageHeader const &header, Buffers const &buffers)
 
template<class T , class Buffers , class Handler , class = std::enable_if_t< std::is_base_of<::google::protobuf::Message, T>::value>>
bool invoke (MessageHeader const &header, Buffers const &buffers, Handler &handler)
 

Variables

defaultObject_t defaultObject
 
nonPresentObject_t nonPresentObject
 
static constexpr std::size_t numFeatures
 
template<typename T >
constexpr bool is_integral_constant = false
 
constexpr std::string_view isoCharSet
 
constexpr std::size_t isoCodeOffset = 12
 
constexpr std::size_t isoCodeLength = 3
 
auto constexpr default_expires = std::chrono::seconds{3600}
 
auto constexpr default_effective_overlap = std::chrono::seconds{30}
 
constexpr int TableTypeCount = 3
 

Typedef Documentation

◆ seed_pair

Definition at line 16 of file hardened_hash.h.

◆ is_engine

template<class Engine , class Result = typename Engine::result_type>
using xrpl::detail::is_engine = typedef std::is_invocable_r<Result, Engine>

Definition at line 32 of file include/xrpl/basics/random.h.

◆ test_hardened_unordered_set

Definition at line 63 of file hardened_hash_test.cpp.

◆ test_hardened_unordered_map

template<class T >
using xrpl::detail::test_hardened_unordered_map = typedef std::unordered_map<T, int, hardened_hash<> >

Definition at line 66 of file hardened_hash_test.cpp.

◆ test_hardened_unordered_multiset

Definition at line 69 of file hardened_hash_test.cpp.

◆ test_hardened_unordered_multimap

Definition at line 73 of file hardened_hash_test.cpp.

◆ clock_type

Definition at line 27 of file multi_runner.h.

◆ response_type

using xrpl::detail::response_type = typedef boost::beast::http::response<boost::beast::http::string_body>

Definition at line 11 of file Work.h.

Enumeration Type Documentation

◆ PaymentSpecialCase

Enumerator
none 
final 
extra 

Definition at line 257 of file LendingHelpers.h.

◆ TableType

enum class xrpl::detail::TableType
strong
Enumerator
Ledgers 
Transactions 
AccountTransactions 

Definition at line 12 of file Node.h.

Function Documentation

◆ make_seed_pair()

template<bool = true>
seed_pair xrpl::detail::make_seed_pair ( )
noexcept

Definition at line 20 of file hardened_hash.h.

◆ getLocalValues()

template<class = void>
boost::thread_specific_ptr< detail::LocalValues > & xrpl::detail::getLocalValues ( )

Definition at line 56 of file LocalValue.h.

◆ spin_pause()

void xrpl::detail::spin_pause ( )
noexcept

Inform the processor that we are in a tight spin-wait loop.

Spinlocks caught in tight loops can result in the processor's pipeline filling up with comparison operations, resulting in a misprediction at the time the lock is finally acquired, necessitating pipeline flushing which is ridiculously expensive and results in very high latency.

This function instructs the processor to "pause" for some architecture specific amount of time, to prevent this.

Definition at line 30 of file spinlock.h.

◆ make_stvar()

template<class T , class... Args>
STVar xrpl::detail::make_stvar ( Args &&...  args)

Definition at line 145 of file STVar.h.

◆ operator==()

bool xrpl::detail::operator== ( STVar const &  lhs,
STVar const &  rhs 
)

Definition at line 153 of file STVar.h.

◆ operator!=()

bool xrpl::detail::operator!= ( STVar const &  lhs,
STVar const &  rhs 
)

Definition at line 159 of file STVar.h.

◆ supportedAmendments()

std::map< std::string, VoteBehavior > const & xrpl::detail::supportedAmendments ( )

Amendments that this server supports and the default voting behavior.

Amendments that this server supports.

Whether they are enabled depends on the Rules defined in the validated ledger

Definition at line 341 of file Feature.cpp.

◆ numDownVotedAmendments()

std::size_t xrpl::detail::numDownVotedAmendments ( )

Amendments that this server won't vote for by default.

This function is only used in unit tests.

Definition at line 348 of file Feature.cpp.

◆ numUpVotedAmendments()

std::size_t xrpl::detail::numUpVotedAmendments ( )

Amendments that this server will vote for by default.

This function is only used in unit tests.

Definition at line 355 of file Feature.cpp.

◆ make_hash_prefix()

constexpr std::uint32_t xrpl::detail::make_hash_prefix ( char  a,
char  b,
char  c 
)
constexpr

Definition at line 13 of file HashPrefix.h.

◆ slabber()

SlabAllocatorSet< SHAMapItem > xrpl::detail::slabber ( { { 128, megabytes(std::size_t(60)) }, { 192, megabytes(std::size_t(46)) }, { 272, megabytes(std::size_t(60)) }, { 384, megabytes(std::size_t(56)) }, { 564, megabytes(std::size_t(40)) }, { 772, megabytes(std::size_t(46)) }, { 1052, megabytes(std::size_t(60)) }, }  )

◆ internalDirNext()

template<class V , class N , class = std::enable_if_t< std::is_same_v<std::remove_cv_t<N>, SLE> && std::is_base_of_v<ReadView, V>>>
bool xrpl::detail::internalDirNext ( V &  view,
uint256 const &  root,
std::shared_ptr< N > &  page,
unsigned int &  index,
uint256 entry 
)

Definition at line 33 of file View.cpp.

◆ internalDirFirst()

template<class V , class N , class = std::enable_if_t< std::is_same_v<std::remove_cv_t<N>, SLE> && std::is_base_of_v<ReadView, V>>>
bool xrpl::detail::internalDirFirst ( V &  view,
uint256 const &  root,
std::shared_ptr< N > &  page,
unsigned int &  index,
uint256 entry 
)

Definition at line 81 of file View.cpp.

◆ as_amount()

STAmount xrpl::detail::as_amount ( Rate const &  rate)

Definition at line 17 of file Rate2.cpp.

◆ copy_uint32()

void xrpl::detail::copy_uint32 ( std::uint8_t out,
std::uint32_t  v 
)

Definition at line 57 of file SecretKey.cpp.

◆ deriveDeterministicRootKey()

uint256 xrpl::detail::deriveDeterministicRootKey ( Seed const &  seed)

Definition at line 66 of file SecretKey.cpp.

◆ realValidatorContents()

constexpr char const * xrpl::detail::realValidatorContents ( )
constexpr

Definition at line 23 of file ValidatorSite_test.cpp.

◆ configContents()

std::string xrpl::detail::configContents ( std::string const &  dbPath,
std::string const &  validatorsFile 
)

Definition at line 20 of file Config_test.cpp.

◆ valFileContents()

std::string xrpl::detail::valFileContents ( )

Definition at line 193 of file Config_test.cpp.

◆ owned_count_of()

std::uint32_t xrpl::detail::owned_count_of ( ReadView const &  view,
AccountID const &  id,
LedgerEntryType  type 
)

Definition at line 7 of file owners.cpp.

◆ owned_count_helper()

void xrpl::detail::owned_count_helper ( test::jtx::Env env,
AccountID const &  id,
LedgerEntryType  type,
std::uint32_t  value 
)

Definition at line 19 of file owners.cpp.

◆ require_args()

template<class Cond , class... Args>
void xrpl::detail::require_args ( test::jtx::requires_t vec,
Cond const &  cond,
Args const &...  args 
)

Definition at line 15 of file require.h.

◆ pretty_time()

template<class Rep , class Period >
std::ostream & xrpl::detail::pretty_time ( std::ostream os,
std::chrono::duration< Rep, Period >  d 
)

Definition at line 75 of file import_test.cpp.

◆ fmtdur() [1/2]

template<class Period , class Rep >
std::string xrpl::detail::fmtdur ( std::chrono::duration< Period, Rep > const &  d)

Definition at line 164 of file import_test.cpp.

◆ fmtdur() [2/2]

std::string xrpl::detail::fmtdur ( typename clock_type::duration const &  d)

Definition at line 18 of file multi_runner.cpp.

◆ reduceOffer()

Number xrpl::detail::reduceOffer ( auto const &  amount)

Definition at line 21 of file AMMHelpers.h.

◆ getLPTokenRounding()

Number::rounding_mode xrpl::detail::getLPTokenRounding ( IsDeposit  isDeposit)

Definition at line 635 of file AMMHelpers.h.

◆ getAssetRounding()

Number::rounding_mode xrpl::detail::getAssetRounding ( IsDeposit  isDeposit)

Definition at line 643 of file AMMHelpers.h.

◆ computeRaisedRate()

Number xrpl::detail::computeRaisedRate ( Number const &  periodicRate,
std::uint32_t  paymentsRemaining 
)

Definition at line 88 of file LendingHelpers.cpp.

◆ computePaymentFactor()

Number xrpl::detail::computePaymentFactor ( Number const &  periodicRate,
std::uint32_t  paymentsRemaining 
)

Definition at line 99 of file LendingHelpers.cpp.

◆ loanPeriodicPayment() [1/2]

Number xrpl::detail::loanPeriodicPayment ( Number const &  principalOutstanding,
Number const &  periodicRate,
std::uint32_t  paymentsRemaining 
)

Definition at line 119 of file LendingHelpers.cpp.

◆ loanPeriodicPayment() [2/2]

Number xrpl::detail::loanPeriodicPayment ( Number const &  principalOutstanding,
TenthBips32  interestRate,
std::uint32_t  paymentInterval,
std::uint32_t  paymentsRemaining 
)

Definition at line 141 of file LendingHelpers.cpp.

◆ loanPrincipalFromPeriodicPayment()

Number xrpl::detail::loanPrincipalFromPeriodicPayment ( Number const &  periodicPayment,
Number const &  periodicRate,
std::uint32_t  paymentsRemaining 
)

Definition at line 162 of file LendingHelpers.cpp.

◆ computeInterestAndFeeParts() [1/2]

std::pair< Number, Number > xrpl::detail::computeInterestAndFeeParts ( Number const &  interest,
TenthBips16  managementFeeRate 
)

Definition at line 180 of file LendingHelpers.cpp.

◆ computeInterestAndFeeParts() [2/2]

std::pair< Number, Number > xrpl::detail::computeInterestAndFeeParts ( Asset const &  asset,
Number const &  interest,
TenthBips16  managementFeeRate,
std::int32_t  loanScale 
)

Definition at line 195 of file LendingHelpers.cpp.

◆ loanLatePaymentInterest()

Number xrpl::detail::loanLatePaymentInterest ( Number const &  principalOutstanding,
TenthBips32  lateInterestRate,
NetClock::time_point  parentCloseTime,
std::uint32_t  nextPaymentDueDate 
)

Definition at line 213 of file LendingHelpers.cpp.

◆ loanAccruedInterest()

Number xrpl::detail::loanAccruedInterest ( Number const &  principalOutstanding,
Number const &  periodicRate,
NetClock::time_point  parentCloseTime,
std::uint32_t  startDate,
std::uint32_t  prevPaymentDate,
std::uint32_t  paymentInterval 
)

Definition at line 240 of file LendingHelpers.cpp.

◆ doPayment()

template<class NumberProxy , class UInt32Proxy , class UInt32OptionalProxy >
LoanPaymentParts xrpl::detail::doPayment ( ExtendedPaymentComponents const &  payment,
NumberProxy &  totalValueOutstandingProxy,
NumberProxy &  principalOutstandingProxy,
NumberProxy &  managementFeeOutstandingProxy,
UInt32Proxy &  paymentRemainingProxy,
UInt32Proxy &  prevPaymentDateProxy,
UInt32OptionalProxy &  nextDueDateProxy,
std::uint32_t  paymentInterval 
)

Definition at line 280 of file LendingHelpers.cpp.

◆ tryOverpayment()

Expected< LoanPaymentParts, TER > xrpl::detail::tryOverpayment ( Asset const &  asset,
std::int32_t  loanScale,
ExtendedPaymentComponents const &  overpaymentComponents,
Number totalValueOutstanding,
Number principalOutstanding,
Number managementFeeOutstanding,
Number periodicPayment,
TenthBips32  interestRate,
std::uint32_t  paymentInterval,
Number const &  periodicRate,
std::uint32_t  paymentRemaining,
std::uint32_t  prevPaymentDate,
std::optional< std::uint32_t nextDueDate,
TenthBips16 const  managementFeeRate,
beast::Journal  j 
)

Definition at line 405 of file LendingHelpers.cpp.

◆ doOverpayment()

template<class NumberProxy >
Expected< LoanPaymentParts, TER > xrpl::detail::doOverpayment ( Asset const &  asset,
std::int32_t  loanScale,
ExtendedPaymentComponents const &  overpaymentComponents,
NumberProxy &  totalValueOutstandingProxy,
NumberProxy &  principalOutstandingProxy,
NumberProxy &  managementFeeOutstandingProxy,
NumberProxy &  periodicPaymentProxy,
TenthBips32 const  interestRate,
std::uint32_t const  paymentInterval,
Number const &  periodicRate,
std::uint32_t const  paymentRemaining,
std::uint32_t const  prevPaymentDate,
std::optional< std::uint32_t > const  nextDueDate,
TenthBips16 const  managementFeeRate,
beast::Journal  j 
)

Definition at line 593 of file LendingHelpers.cpp.

◆ computeLatePayment()

Expected< ExtendedPaymentComponents, TER > xrpl::detail::computeLatePayment ( Asset const &  asset,
ApplyView const &  view,
Number const &  principalOutstanding,
std::int32_t  nextDueDate,
ExtendedPaymentComponents const &  periodic,
TenthBips32  lateInterestRate,
std::int32_t  loanScale,
Number const &  latePaymentFee,
STAmount const &  amount,
TenthBips16  managementFeeRate,
beast::Journal  j 
)

Definition at line 744 of file LendingHelpers.cpp.

◆ computeFullPayment()

Expected< ExtendedPaymentComponents, TER > xrpl::detail::computeFullPayment ( Asset const &  asset,
ApplyView view,
Number const &  principalOutstanding,
Number const &  managementFeeOutstanding,
Number const &  periodicPayment,
std::uint32_t  paymentRemaining,
std::uint32_t  prevPaymentDate,
std::uint32_t const  startDate,
std::uint32_t const  paymentInterval,
TenthBips32 const  closeInterestRate,
std::int32_t  loanScale,
Number const &  totalInterestOutstanding,
Number const &  periodicRate,
Number const &  closePaymentFee,
STAmount const &  amount,
TenthBips16  managementFeeRate,
beast::Journal  j 
)

Definition at line 850 of file LendingHelpers.cpp.

◆ computePaymentComponents()

PaymentComponents xrpl::detail::computePaymentComponents ( Asset const &  asset,
std::int32_t  scale,
Number const &  totalValueOutstanding,
Number const &  principalOutstanding,
Number const &  managementFeeOutstanding,
Number const &  periodicPayment,
Number const &  periodicRate,
std::uint32_t  paymentRemaining,
TenthBips16  managementFeeRate 
)

Definition at line 985 of file LendingHelpers.cpp.

◆ computeOverpaymentComponents()

ExtendedPaymentComponents xrpl::detail::computeOverpaymentComponents ( Asset const &  asset,
int32_t const  loanScale,
Number const &  overpayment,
TenthBips32 const  overpaymentInterestRate,
TenthBips32 const  overpaymentFeeRate,
TenthBips16 const  managementFeeRate 
)

Definition at line 1209 of file LendingHelpers.cpp.

◆ sumOfFirstSquares()

static constexpr std::pair< bool, std::uint64_t > xrpl::detail::sumOfFirstSquares ( std::size_t  xIn)
staticconstexpr

Definition at line 179 of file TxQ.cpp.

◆ getTrustLineItems()

template<class T >
std::vector< T > xrpl::detail::getTrustLineItems ( AccountID const &  accountID,
ReadView const &  view,
LineDirection  direction = LineDirection::outgoing 
)

Definition at line 45 of file TrustLine.cpp.

◆ to_string()

static std::string xrpl::detail::to_string ( TableType  type)
static

to_string Returns the name of a table according to its TableType.

Parameters
typeAn enum denoting the table's type.
Returns
Name of the table.

Definition at line 28 of file Node.cpp.

◆ makeLedgerDBs()

DatabasePairValid xrpl::detail::makeLedgerDBs ( Config const &  config,
DatabaseCon::Setup const &  setup,
DatabaseCon::CheckpointerSetup const &  checkpointerSetup,
beast::Journal  j 
)

makeLedgerDBs Opens ledger and transactions databases.

Parameters
configConfig object.
setupPath to database and opening parameters.
checkpointerSetupDatabase checkpointer setup.
jJournal.
Returns
Struct DatabasePairValid which contain unique pointers to ledger and transaction databases and flag if opening was successful.

Definition at line 51 of file Node.cpp.

◆ getMinLedgerSeq()

std::optional< LedgerIndex > xrpl::detail::getMinLedgerSeq ( soci::session &  session,
TableType  type 
)

getMinLedgerSeq Returns minimum ledger sequence in given table.

Parameters
sessionSession with database.
typeTable ID for which the result is returned.
Returns
Ledger sequence or none if no ledgers exist.

Definition at line 108 of file Node.cpp.

◆ getMaxLedgerSeq()

std::optional< LedgerIndex > xrpl::detail::getMaxLedgerSeq ( soci::session &  session,
TableType  type 
)

getMaxLedgerSeq Returns maximum ledger sequence in given table.

Parameters
sessionSession with database.
typeTable ID for which the result is returned.
Returns
Ledger sequence or none if no ledgers exist.

Definition at line 118 of file Node.cpp.

◆ deleteByLedgerSeq()

void xrpl::detail::deleteByLedgerSeq ( soci::session &  session,
TableType  type,
LedgerIndex  ledgerSeq 
)

deleteByLedgerSeq Deletes all entries in given table for the ledger with given sequence.

Parameters
sessionSession with database.
typeTable ID from which entries will be deleted.
ledgerSeqLedger sequence.

Definition at line 128 of file Node.cpp.

◆ deleteBeforeLedgerSeq()

void xrpl::detail::deleteBeforeLedgerSeq ( soci::session &  session,
TableType  type,
LedgerIndex  ledgerSeq 
)

deleteBeforeLedgerSeq Deletes all entries in given table for the ledgers with given sequence and all sequences below it.

Parameters
sessionSession with database.
typeTable ID from which entries will be deleted.
ledgerSeqLedger sequence.

Definition at line 135 of file Node.cpp.

◆ getRows()

std::size_t xrpl::detail::getRows ( soci::session &  session,
TableType  type 
)

getRows Returns number of rows in given table.

Parameters
sessionSession with database.
typeTable ID for which the result is returned.
Returns
Number of rows.

Definition at line 145 of file Node.cpp.

◆ getRowsMinMax()

RelationalDatabase::CountMinMax xrpl::detail::getRowsMinMax ( soci::session &  session,
TableType  type 
)

getRowsMinMax Returns minimum ledger sequence, maximum ledger sequence and total number of rows in given table.

Parameters
sessionSession with database.
typeTable ID for which the result is returned.
Returns
Struct CountMinMax which contain minimum sequence, maximum sequence and number of rows.

Definition at line 157 of file Node.cpp.

◆ saveValidatedLedger()

bool xrpl::detail::saveValidatedLedger ( DatabaseCon ldgDB,
std::unique_ptr< DatabaseCon > const &  txnDB,
Application app,
std::shared_ptr< Ledger const > const &  ledger,
bool  current 
)

saveValidatedLedger Saves ledger into database.

Parameters
lgrDBLink to ledgers database.
txnDBLink to transactions database.
appApplication object.
ledgerThe ledger.
currentTrue if ledger is current.
Returns
True is saving was successful.

Definition at line 172 of file Node.cpp.

◆ getLedgerInfo()

static std::optional< LedgerHeader > xrpl::detail::getLedgerInfo ( soci::session &  session,
std::string const &  sqlSuffix,
beast::Journal  j 
)
static

getLedgerInfo Returns the info of the ledger retrieved from the database by using the provided SQL query suffix.

Parameters
sessionSession with the database.
sqlSuffixSQL string used to specify the sought ledger.
jJournal.
Returns
Ledger info or no value if the ledger was not found.

Definition at line 391 of file Node.cpp.

◆ getLedgerInfoByIndex()

std::optional< LedgerHeader > xrpl::detail::getLedgerInfoByIndex ( soci::session &  session,
LedgerIndex  ledgerSeq,
beast::Journal  j 
)

getLedgerInfoByIndex Returns ledger by its sequence.

Parameters
sessionSession with database.
ledgerSeqLedger sequence.
jJournal.
Returns
Ledger or none if ledger not found.

Definition at line 461 of file Node.cpp.

◆ getNewestLedgerInfo()

std::optional< LedgerHeader > xrpl::detail::getNewestLedgerInfo ( soci::session &  session,
beast::Journal  j 
)

getNewestLedgerInfo Returns info of newest saved ledger.

Parameters
sessionSession with database.
jJournal.
Returns
Ledger info or none if ledger not found.

Definition at line 472 of file Node.cpp.

◆ getLimitedOldestLedgerInfo()

std::optional< LedgerHeader > xrpl::detail::getLimitedOldestLedgerInfo ( soci::session &  session,
LedgerIndex  ledgerFirstIndex,
beast::Journal  j 
)

getLimitedOldestLedgerInfo Returns info of oldest ledger from ledgers with sequences greater or equal to given.

Parameters
sessionSession with database.
ledgerFirstIndexMinimum ledger sequence.
jJournal.
Returns
Ledger info or none if ledger not found.

Definition at line 480 of file Node.cpp.

◆ getLimitedNewestLedgerInfo()

std::optional< LedgerHeader > xrpl::detail::getLimitedNewestLedgerInfo ( soci::session &  session,
LedgerIndex  ledgerFirstIndex,
beast::Journal  j 
)

getLimitedNewestLedgerInfo Returns info of newest ledger from ledgers with sequences greater or equal to given.

Parameters
sessionSession with database.
ledgerFirstIndexMinimum ledger sequence.
jJournal.
Returns
Ledger info or none if ledger not found.

Definition at line 492 of file Node.cpp.

◆ getLedgerInfoByHash()

std::optional< LedgerHeader > xrpl::detail::getLedgerInfoByHash ( soci::session &  session,
uint256 const &  ledgerHash,
beast::Journal  j 
)

getLedgerInfoByHash Returns info of ledger with given hash.

Parameters
sessionSession with database.
ledgerHashHash of the ledger.
jJournal.
Returns
Ledger or none if ledger not found.

Definition at line 504 of file Node.cpp.

◆ getHashByIndex()

uint256 xrpl::detail::getHashByIndex ( soci::session &  session,
LedgerIndex  ledgerIndex 
)

getHashByIndex Returns hash of ledger with given sequence.

Parameters
sessionSession with database.
ledgerIndexLedger sequence.
Returns
Hash of the ledger.

Definition at line 515 of file Node.cpp.

◆ getHashesByIndex() [1/2]

std::optional< LedgerHashPair > xrpl::detail::getHashesByIndex ( soci::session &  session,
LedgerIndex  ledgerIndex,
beast::Journal  j 
)

getHashesByIndex Returns hash of the ledger and hash of parent ledger for the ledger of given sequence.

Parameters
sessionSession with database.
ledgerIndexLedger sequence.
jJournal.
Returns
Struct LedgerHashPair which contain hashes of the ledger and its parent ledger.

Definition at line 545 of file Node.cpp.

◆ getHashesByIndex() [2/2]

std::map< LedgerIndex, LedgerHashPair > xrpl::detail::getHashesByIndex ( soci::session &  session,
LedgerIndex  minSeq,
LedgerIndex  maxSeq,
beast::Journal  j 
)

getHashesByIndex Returns hash of the ledger and hash of parent ledger for all ledgers with sequences from given minimum limit to given maximum limit.

Parameters
sessionSession with database.
minSeqMinimum ledger sequence.
maxSeqMaximum ledger sequence.
jJournal.
Returns
Map which points sequence number of found ledger to the struct LedgerHashPair which contains ledger hash and its parent hash.

Definition at line 576 of file Node.cpp.

◆ getTxHistory()

std::pair< std::vector< std::shared_ptr< Transaction > >, int > xrpl::detail::getTxHistory ( soci::session &  session,
Application app,
LedgerIndex  startIndex,
int  quantity 
)

getTxHistory Returns given number of most recent transactions starting from given number of entry.

Parameters
sessionSession with database.
appApplication object.
startIndexOffset of first returned entry.
quantityNumber of returned entries.
Returns
Vector of shared pointers to transactions sorted in descending order by ledger sequence. Also number of transactions if count == true.

Definition at line 621 of file Node.cpp.

◆ transactionsSQL()

static std::string xrpl::detail::transactionsSQL ( Application app,
std::string  selection,
RelationalDatabase::AccountTxOptions const &  options,
bool  descending,
bool  binary,
bool  count,
beast::Journal  j 
)
static

transactionsSQL Returns a SQL query for selecting the oldest or newest transactions in decoded or binary form for the account that matches the given criteria starting from the provided offset.

Parameters
appApplication object.
selectionList of table fields to select from the database.
optionsStruct AccountTxOptions which contains the criteria to match: the account, the ledger search range, the offset of the first entry to return, the number of transactions to return, and a flag if this number is unlimited.
descendingTrue for descending order, false for ascending.
binaryTrue for binary form, false for decoded.
countTrue for counting the number of transactions, false for selecting them.
jJournal.
Returns
SQL query string.

Definition at line 688 of file Node.cpp.

◆ getAccountTxs()

static std::pair< RelationalDatabase::AccountTxs, int > xrpl::detail::getAccountTxs ( soci::session &  session,
Application app,
LedgerMaster ledgerMaster,
RelationalDatabase::AccountTxOptions const &  options,
bool  descending,
beast::Journal  j 
)
static

getAccountTxs Returns the oldest or newest transactions for the account that matches the given criteria starting from the provided offset.

Parameters
sessionSession with the database.
appApplication object.
ledgerMasterLedgerMaster object.
optionsStruct AccountTxOptions which contains the criteria to match: the account, the ledger search range, the offset of the first entry to return, the number of transactions to return, and a flag if this number is unlimited.
descendingTrue for descending order, false for ascending.
jJournal.
Returns
Vector of pairs of found transactions and their metadata sorted by account sequence in the specified order along with the number of transactions processed or skipped. If this number is >= 0, then it represents the number of transactions processed, if it is < 0, then -number represents the number of transactions skipped. We need to skip some number of transactions if option offset is > 0 in the options structure.

Definition at line 784 of file Node.cpp.

◆ getOldestAccountTxs()

std::pair< RelationalDatabase::AccountTxs, int > xrpl::detail::getOldestAccountTxs ( soci::session &  session,
Application app,
LedgerMaster ledgerMaster,
RelationalDatabase::AccountTxOptions const &  options,
beast::Journal  j 
)

getOldestAccountTxs Returns oldest transactions for given account which match given criteria starting from given offset.

Parameters
sessionSession with database.
appApplication object.
ledgerMasterLedgerMaster object.
optionsStruct AccountTxOptions which contain criteria to match: the account, minimum and maximum ledger numbers to search, offset of first entry to return, number of transactions to return, flag if this number unlimited.
jJournal.
Returns
Vector of pairs of found transactions and their metadata sorted in ascending order by account sequence. Also number of transactions processed or skipped. If this number is >= 0, then it means number of transactions processed, if it is < 0, then -number means number of transactions skipped. We need to skip some quantity of transactions if option offset is > 0 in the options structure.

Definition at line 864 of file Node.cpp.

◆ getNewestAccountTxs()

std::pair< RelationalDatabase::AccountTxs, int > xrpl::detail::getNewestAccountTxs ( soci::session &  session,
Application app,
LedgerMaster ledgerMaster,
RelationalDatabase::AccountTxOptions const &  options,
beast::Journal  j 
)

getNewestAccountTxs Returns newest transactions for given account which match given criteria starting from given offset.

Parameters
sessionSession with database.
appApplication object.
ledgerMasterLedgerMaster object.
optionsStruct AccountTxOptions which contain criteria to match: the account, minimum and maximum ledger numbers to search, offset of first entry to return, number of transactions to return, flag if this number unlimited.
jJournal.
Returns
Vector of pairs of found transactions and their metadata sorted in descending order by account sequence. Also number of transactions processed or skipped. If this number is >= 0, then it means number of transactions processed, if it is < 0, then -number means number of transactions skipped. We need to skip some quantity of transactions if option offset is > 0 in the options structure.

Definition at line 875 of file Node.cpp.

◆ getAccountTxsB()

static std::pair< std::vector< RelationalDatabase::txnMetaLedgerType >, int > xrpl::detail::getAccountTxsB ( soci::session &  session,
Application app,
RelationalDatabase::AccountTxOptions const &  options,
bool  descending,
beast::Journal  j 
)
static

getAccountTxsB Returns the oldest or newest transactions in binary form for the account that matches given criteria starting from the provided offset.

Parameters
sessionSession with the database.
appApplication object.
optionsStruct AccountTxOptions which contains the criteria to match: the account, the ledger search range, the offset of the first entry to return, the number of transactions to return, and a flag if this number is unlimited.
descendingTrue for descending order, false for ascending.
jJournal.
Returns
Vector of tuples each containing (the found transactions, their metadata, and their account sequences) sorted by account sequence in the specified order along with the number of transactions processed or skipped. If this number is >= 0, then it represents the number of transactions processed, if it is < 0, then -number represents the number of transactions skipped. We need to skip some number of transactions if option offset is > 0 in the options structure.

Definition at line 906 of file Node.cpp.

◆ getOldestAccountTxsB()

std::pair< std::vector< RelationalDatabase::txnMetaLedgerType >, int > xrpl::detail::getOldestAccountTxsB ( soci::session &  session,
Application app,
RelationalDatabase::AccountTxOptions const &  options,
beast::Journal  j 
)

getOldestAccountTxsB Returns oldest transactions in binary form for given account which match given criteria starting from given offset.

Parameters
sessionSession with database.
appApplication object.
optionsStruct AccountTxOptions which contain criteria to match: the account, minimum and maximum ledger numbers to search, offset of first entry to return, number of transactions to return, flag if this number unlimited.
jJournal.
Returns
Vector of tuples of found transactions, their metadata and account sequences sorted in ascending order by account sequence. Also number of transactions processed or skipped. If this number is >= 0, then it means number of transactions processed, if it is < 0, then -number means number of transactions skipped. We need to skip some quantity of transactions if option offset is > 0 in the options structure.

Definition at line 964 of file Node.cpp.

◆ getNewestAccountTxsB()

std::pair< std::vector< RelationalDatabase::txnMetaLedgerType >, int > xrpl::detail::getNewestAccountTxsB ( soci::session &  session,
Application app,
RelationalDatabase::AccountTxOptions const &  options,
beast::Journal  j 
)

getNewestAccountTxsB Returns newest transactions in binary form for given account which match given criteria starting from given offset.

Parameters
sessionSession with database.
appApplication object.
optionsStruct AccountTxOptions which contain criteria to match: the account, minimum and maximum ledger numbers to search, offset of first entry to return, number of transactions to return, flag if this number unlimited.
jJournal.
Returns
Vector of tuples of found transactions, their metadata and account sequences sorted in descending order by account sequence. Also number of transactions processed or skipped. If this number is >= 0, then it means number of transactions processed, if it is < 0, then -number means number of transactions skipped. We need to skip some quantity of transactions if option offset is > 0 in the options structure.

Definition at line 974 of file Node.cpp.

◆ accountTxPage()

static std::pair< std::optional< RelationalDatabase::AccountTxMarker >, int > xrpl::detail::accountTxPage ( soci::session &  session,
std::function< void(std::uint32_t)> const &  onUnsavedLedger,
std::function< void(std::uint32_t, std::string const &, Blob &&, Blob &&)> const &  onTransaction,
RelationalDatabase::AccountTxPageOptions const &  options,
std::uint32_t  page_length,
bool  forward 
)
static

accountTxPage Searches for the oldest or newest transactions for the account that matches the given criteria starting from the provided marker and invokes the callback parameter for each found transaction.

Parameters
sessionSession with the database.
onUnsavedLedgerCallback function to call on each found unsaved ledger within the given range.
onTransactionCallback function to call on each found transaction.
optionsStruct AccountTxPageOptions which contains the criteria to match: the account, the ledger search range, the marker of the first returned entry, the number of transactions to return, and a flag if this number unlimited.
page_lengthTotal number of transactions to return.
forwardTrue for ascending order, false for descending.
Returns
Vector of tuples of found transactions, their metadata and account sequences sorted in the specified order by account sequence, a marker for the next search if the search was not finished and the number of transactions processed during this call.

Definition at line 1003 of file Node.cpp.

◆ oldestAccountTxPage()

std::pair< std::optional< RelationalDatabase::AccountTxMarker >, int > xrpl::detail::oldestAccountTxPage ( soci::session &  session,
std::function< void(std::uint32_t)> const &  onUnsavedLedger,
std::function< void(std::uint32_t, std::string const &, Blob &&, Blob &&)> const &  onTransaction,
RelationalDatabase::AccountTxPageOptions const &  options,
std::uint32_t  page_length 
)

oldestAccountTxPage Searches oldest transactions for given account which match given criteria starting from given marker and calls callback for each found transaction.

Parameters
sessionSession with database.
onUnsavedLedgerCallback function to call on each found unsaved ledger within given range.
onTransactionCallback function to call on each found transaction.
optionsStruct AccountTxPageOptions which contain criteria to match: the account, minimum and maximum ledger numbers to search, marker of first returned entry, number of transactions to return, flag if this number unlimited.
page_lengthTotal number of transactions to return.
Returns
Vector of tuples of found transactions, their metadata and account sequences sorted in ascending order by account sequence and marker for next search if search not finished. Also number of transactions processed during this call.

Definition at line 1157 of file Node.cpp.

◆ newestAccountTxPage()

std::pair< std::optional< RelationalDatabase::AccountTxMarker >, int > xrpl::detail::newestAccountTxPage ( soci::session &  session,
std::function< void(std::uint32_t)> const &  onUnsavedLedger,
std::function< void(std::uint32_t, std::string const &, Blob &&, Blob &&)> const &  onTransaction,
RelationalDatabase::AccountTxPageOptions const &  options,
std::uint32_t  page_length 
)

newestAccountTxPage Searches newest transactions for given account which match given criteria starting from given marker and calls callback for each found transaction.

Parameters
sessionSession with database.
onUnsavedLedgerCallback function to call on each found unsaved ledger within given range.
onTransactionCallback function to call on each found transaction.
optionsStruct AccountTxPageOptions which contain criteria to match: the account, minimum and maximum ledger numbers to search, marker of first returned entry, number of transactions to return, flag if this number unlimited.
page_lengthTotal number of transactions to return.
Returns
Vector of tuples of found transactions, their metadata and account sequences sorted in descending order by account sequence and marker for next search if search not finished. Also number of transactions processed during this call.

Definition at line 1171 of file Node.cpp.

◆ getTransaction()

std::variant< RelationalDatabase::AccountTx, TxSearched > xrpl::detail::getTransaction ( soci::session &  session,
Application app,
uint256 const &  id,
std::optional< ClosedInterval< uint32_t > > const &  range,
error_code_i ec 
)

getTransaction Returns transaction with given hash.

If not found and range given then check if all ledgers from the range are present in the database.

Parameters
sessionSession with database.
appApplication object.
idHash of the transaction.
rangeRange of ledgers to check, if present.
ecDefault value of error code.
Returns
Transaction and its metadata if found, TxSearched::all if range given and all ledgers from range are present in the database, TxSearched::some if range given and not all ledgers are present, TxSearched::unknown if range not given or deserializing error occurred. In the last case error code modified in ec link parameter, in other cases default error code remained.

Definition at line 1185 of file Node.cpp.

◆ dbHasSpace()

bool xrpl::detail::dbHasSpace ( soci::session &  session,
Config const &  config,
beast::Journal  j 
)

dbHasSpace Checks if given database has available space.

Parameters
sessionSession with database.
configConfig object.
jJournal.
Returns
True if space is available.

Definition at line 1266 of file Node.cpp.

◆ preflightCheckSigningKey()

NotTEC xrpl::detail::preflightCheckSigningKey ( STObject const &  sigObject,
beast::Journal  j 
)

Checks the validity of the transactor signing key.

Normally called from preflight1.

Normally called from preflight1 with ctx.tx.

Definition at line 85 of file Transactor.cpp.

◆ preflightCheckSimulateKeys()

std::optional< NotTEC > xrpl::detail::preflightCheckSimulateKeys ( ApplyFlags  flags,
STObject const &  sigObject,
beast::Journal  j 
)

Checks the special signing key state needed for simulation.

Normally called from preflight2 with ctx.tx.

Definition at line 97 of file Transactor.cpp.

◆ getSociSqliteInit()

std::string xrpl::detail::getSociSqliteInit ( std::string const &  name,
std::string const &  dir,
std::string const &  ext 
)

Definition at line 26 of file SociDB.cpp.

◆ getSociInit()

std::string xrpl::detail::getSociInit ( BasicConfig const &  config,
std::string const &  dbName 
)

Definition at line 44 of file SociDB.cpp.

◆ buffersBegin()

template<typename BufferSequence >
auto xrpl::detail::buffersBegin ( BufferSequence const &  bufs)

Definition at line 125 of file ProtocolMessage.h.

◆ buffersEnd()

template<typename BufferSequence >
auto xrpl::detail::buffersEnd ( BufferSequence const &  bufs)

Definition at line 133 of file ProtocolMessage.h.

◆ parseMessageHeader()

template<class BufferSequence >
std::optional< MessageHeader > xrpl::detail::parseMessageHeader ( boost::system::error_code &  ec,
BufferSequence const &  bufs,
std::size_t  size 
)

Parse a message header.

Returns
a seated optional if the message header was successfully parsed. An unseated optional otherwise, in which case
Parameters
eccontains more information:
  • set to errc::success if not enough bytes were present
  • set to errc::no_message if a valid header was not present @bufs - sequence of input buffers, can't be empty @size input data size

Definition at line 150 of file ProtocolMessage.h.

◆ parseMessageContent()

template<class T , class Buffers , class = std::enable_if_t< std::is_base_of<::google::protobuf::Message, T>::value>>
std::shared_ptr< T > xrpl::detail::parseMessageContent ( MessageHeader const &  header,
Buffers const &  buffers 
)

Definition at line 247 of file ProtocolMessage.h.

◆ invoke()

template<class T , class Buffers , class Handler , class = std::enable_if_t< std::is_base_of<::google::protobuf::Message, T>::value>>
bool xrpl::detail::invoke ( MessageHeader const &  header,
Buffers const &  buffers,
Handler &  handler 
)

Definition at line 282 of file ProtocolMessage.h.

Variable Documentation

◆ defaultObject

defaultObject_t xrpl::detail::defaultObject

Definition at line 28 of file STVar.cpp.

◆ nonPresentObject

nonPresentObject_t xrpl::detail::nonPresentObject

Definition at line 29 of file STVar.cpp.

◆ numFeatures

constexpr std::size_t xrpl::detail::numFeatures
staticconstexpr
Initial value:
=
(0 +
)

Definition at line 95 of file Feature.h.

◆ is_integral_constant

template<typename T >
constexpr bool xrpl::detail::is_integral_constant = false
constexpr

Definition at line 19 of file MultiApiJson.h.

◆ isoCharSet

constexpr std::string_view xrpl::detail::isoCharSet
constexpr
Initial value:
=
"abcdefghijklmnopqrstuvwxyz"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"0123456789"
"<>(){}[]|?!@#$%^&*"

Definition at line 20 of file UintTypes.cpp.

◆ isoCodeOffset

constexpr std::size_t xrpl::detail::isoCodeOffset = 12
constexpr

Definition at line 27 of file UintTypes.cpp.

◆ isoCodeLength

constexpr std::size_t xrpl::detail::isoCodeLength = 3
constexpr

Definition at line 30 of file UintTypes.cpp.

◆ default_expires

auto constexpr xrpl::detail::default_expires = std::chrono::seconds{3600}
constexpr

Definition at line 35 of file ValidatorSite_test.cpp.

◆ default_effective_overlap

auto constexpr xrpl::detail::default_effective_overlap = std::chrono::seconds{30}
constexpr

Definition at line 36 of file ValidatorSite_test.cpp.

◆ TableTypeCount

constexpr int xrpl::detail::TableTypeCount = 3
constexpr

Definition at line 13 of file Node.h.