1#ifndef XRPL_LEDGER_READVIEW_H_INCLUDED 
    2#define XRPL_LEDGER_READVIEW_H_INCLUDED 
    4#include <xrpl/basics/chrono.h> 
    5#include <xrpl/beast/hash/uhash.h> 
    6#include <xrpl/ledger/detail/ReadViewFwdRange.h> 
    7#include <xrpl/protocol/Fees.h> 
    8#include <xrpl/protocol/IOUAmount.h> 
    9#include <xrpl/protocol/Indexes.h> 
   10#include <xrpl/protocol/LedgerHeader.h> 
   11#include <xrpl/protocol/Protocol.h> 
   12#include <xrpl/protocol/Rules.h> 
   13#include <xrpl/protocol/STAmount.h> 
   14#include <xrpl/protocol/STLedgerEntry.h> 
   15#include <xrpl/protocol/STTx.h> 
  263#include <xrpl/ledger/detail/ReadViewFwdRange.ipp> 
ReadView that associates keys with digests.
 
DigestAwareReadView()=default
 
virtual std::optional< digest_type > digest(key_type const &key) const =0
Return the digest associated with the key.
 
DigestAwareReadView(DigestAwareReadView const &)=default
 
virtual std::shared_ptr< SLE const > read(Keylet const &k) const =0
Return the state item associated with a key.
 
ReadView(ReadView &&other)
 
NetClock::time_point parentCloseTime() const
Returns the close time of the previous ledger.
 
virtual std::optional< key_type > succ(key_type const &key, std::optional< key_type > const &last=std::nullopt) const =0
Return the key of the next state item.
 
virtual std::unique_ptr< sles_type::iter_base > slesUpperBound(key_type const &key) const =0
 
virtual std::unique_ptr< txs_type::iter_base > txsBegin() const =0
 
ReadView & operator=(ReadView &&other)=delete
 
virtual ~ReadView()=default
 
virtual std::unique_ptr< sles_type::iter_base > slesEnd() const =0
 
ReadView & operator=(ReadView const &other)=delete
 
virtual std::uint32_t ownerCountHook(AccountID const &account, std::uint32_t count) const
 
virtual STAmount balanceHook(AccountID const &account, AccountID const &issuer, STAmount const &amount) const
 
virtual bool open() const =0
Returns true if this reflects an open ledger.
 
virtual Fees const & fees() const =0
Returns the fees for the base ledger.
 
virtual bool exists(Keylet const &k) const =0
Determine if a state item exists.
 
LedgerIndex seq() const
Returns the sequence number of the base ledger.
 
virtual LedgerInfo const & info() const =0
Returns information about the ledger.
 
virtual Rules const & rules() const =0
Returns the tx processing rules.
 
virtual std::unique_ptr< txs_type::iter_base > txsEnd() const =0
 
virtual std::unique_ptr< sles_type::iter_base > slesBegin() const =0
 
ReadView(ReadView const &other)
 
virtual tx_type txRead(key_type const &key) const =0
Read a transaction from the tx map.
 
virtual bool txExists(key_type const &key) const =0
Returns true if a tx exists in the tx map.
 
sles_type sles
Iterable range of ledger state items.
 
Rules controlling protocol behavior.
 
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
 
@ current
This was a new validation and was added.
 
Rules makeRulesGivenLedger(DigestAwareReadView const &ledger, Rules const ¤t)
 
Reflects the fee settings for a particular ledger.
 
A pair of SHAMap key and LedgerEntryType.
 
iterator upper_bound(key_type const &key) const