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