xrpld
Loading...
Searching...
No Matches
RCLCxLedger.h
1#pragma once
2
3#include <xrpld/app/ledger/LedgerToJson.h>
4
5#include <xrpl/ledger/Ledger.h>
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 [[nodiscard]] Seq const&
41 seq() const
42 {
43 return ledger->header().seq;
44 }
45
47 [[nodiscard]] ID const&
48 id() const
49 {
50 return ledger->header().hash;
51 }
52
54 [[nodiscard]] ID const&
55 parentID() const
56 {
57 return ledger->header().parentHash;
58 }
59
61 [[nodiscard]] NetClock::duration
63 {
64 return ledger->header().closeTimeResolution;
65 }
66
68 [[nodiscard]] bool
69 closeAgree() const
70 {
71 return xrpl::getCloseAgree(ledger->header());
72 }
73
75 [[nodiscard]] NetClock::time_point
76 closeTime() const
77 {
78 return ledger->header().closeTime;
79 }
80
82 [[nodiscard]] NetClock::time_point
84 {
85 return ledger->header().parentCloseTime;
86 }
87
89 [[nodiscard]] json::Value
90 getJson() const
91 {
92 return xrpl::getJson({*ledger, {}});
93 }
94
101};
102} // namespace xrpl
Represents a JSON value.
Definition json_value.h:130
std::chrono::time_point< NetClock > time_point
Definition chrono.h:46
std::chrono::duration< rep, period > duration
Definition chrono.h:45
LedgerHash ID
Unique identifier of a ledger.
Definition RCLCxLedger.h:19
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(std::shared_ptr< Ledger const > l)
Constructor.
Definition RCLCxLedger.h:35
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
std::shared_ptr< Ledger const > ledger
The ledger instance.
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
json::Value getJson() const
JSON representation of this ledger.
Definition RCLCxLedger.h:90
STL namespace.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:5
std::uint32_t LedgerIndex
A ledger index.
Definition Protocol.h:259
bool getCloseAgree(LedgerHeader const &info)
uint256 LedgerHash
json::Value getJson(LedgerFill const &fill)
Return a new json::Value representing the ledger with given options.