rippled
Loading...
Searching...
No Matches
RCLCxLedger.h
1#ifndef XRPL_APP_CONSENSUS_RCLCXLEDGER_H_INCLUDED
2#define XRPL_APP_CONSENSUS_RCLCXLEDGER_H_INCLUDED
3
4#include <xrpld/app/ledger/Ledger.h>
5#include <xrpld/app/ledger/LedgerToJson.h>
6
7#include <xrpl/ledger/ReadView.h>
8#include <xrpl/protocol/RippleLedgerHash.h>
9
10namespace ripple {
11
17{
18public:
20 using ID = LedgerHash;
23
30 RCLCxLedger() = default;
31
39
41 Seq const&
42 seq() const
43 {
44 return ledger_->info().seq;
45 }
46
48 ID const&
49 id() const
50 {
51 return ledger_->info().hash;
52 }
53
55 ID const&
56 parentID() const
57 {
58 return ledger_->info().parentHash;
59 }
60
64 {
65 return ledger_->info().closeTimeResolution;
66 }
67
69 bool
70 closeAgree() const
71 {
72 return ripple::getCloseAgree(ledger_->info());
73 }
74
77 closeTime() const
78 {
79 return ledger_->info().closeTime;
80 }
81
85 {
86 return ledger_->info().parentCloseTime;
87 }
88
91 getJson() const
92 {
93 return ripple::getJson({*ledger_, {}});
94 }
95
102};
103} // namespace ripple
104#endif
Represents a JSON value.
Definition json_value.h:130
Represents a ledger in RCLConsensus.
Definition RCLCxLedger.h:17
NetClock::duration closeTimeResolution() const
Resolution used when calculating this ledger's close time.
Definition RCLCxLedger.h:63
Seq const & seq() const
Sequence number of the ledger.
Definition RCLCxLedger.h:42
NetClock::time_point parentCloseTime() const
The close time of this ledger's parent.
Definition RCLCxLedger.h:84
RCLCxLedger(std::shared_ptr< Ledger const > const &l)
Constructor.
Definition RCLCxLedger.h:36
ID const & id() const
Unique identifier (hash) of this ledger.
Definition RCLCxLedger.h:49
std::shared_ptr< Ledger const > ledger_
The ledger instance.
LedgerHash ID
Unique identifier of a ledger.
Definition RCLCxLedger.h:20
RCLCxLedger()=default
Default constructor.
NetClock::time_point closeTime() const
The close time of this ledger.
Definition RCLCxLedger.h:77
LedgerIndex Seq
Sequence number of a ledger.
Definition RCLCxLedger.h:22
Json::Value getJson() const
JSON representation of this ledger.
Definition RCLCxLedger.h:91
ID const & parentID() const
Unique identifier (hash) of this ledger's parent.
Definition RCLCxLedger.h:56
bool closeAgree() const
Whether consensus process agreed on close time of the ledger.
Definition RCLCxLedger.h:70
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:6
bool getCloseAgree(LedgerHeader const &info)
std::uint32_t LedgerIndex
A ledger index.
Definition Protocol.h:120
Json::Value getJson(LedgerFill const &fill)
Return a new Json::Value representing the ledger with given options.
uint256 LedgerHash