xrpld
Toggle main menu visibility
Loading...
Searching...
No Matches
xrpld
app
consensus
RCLCxLedger.h
1
#pragma once
2
3
#include <xrpld/app/ledger/LedgerToJson.h>
4
5
#include <xrpl/basics/chrono.h>
6
#include <xrpl/json/json_value.h>
7
#include <xrpl/ledger/Ledger.h>
8
#include <xrpl/protocol/LedgerHeader.h>
9
#include <xrpl/protocol/Protocol.h>
10
#include <xrpl/protocol/RippleLedgerHash.h>
11
12
#include <
memory
>
13
#include <
utility
>
14
15
namespace
xrpl
{
16
22
class
RCLCxLedger
23
{
24
public
:
28
using
ID
=
LedgerHash
;
32
using
Seq
=
LedgerIndex
;
33
41
RCLCxLedger
() =
default
;
42
48
RCLCxLedger
(
std::shared_ptr<Ledger const>
l) :
ledger
{
std
::move(l)}
49
{
50
}
51
55
[[nodiscard]]
Seq
const
&
56
seq
()
const
57
{
58
return
ledger
->header().seq;
59
}
60
64
[[nodiscard]]
ID
const
&
65
id
()
const
66
{
67
return
ledger
->header().hash;
68
}
69
73
[[nodiscard]]
ID
const
&
74
parentID
()
const
75
{
76
return
ledger
->header().parentHash;
77
}
78
82
[[nodiscard]]
NetClock::duration
83
closeTimeResolution
()
const
84
{
85
return
ledger
->header().closeTimeResolution;
86
}
87
91
[[nodiscard]]
bool
92
closeAgree
()
const
93
{
94
return
xrpl::getCloseAgree
(
ledger
->header());
95
}
96
100
[[nodiscard]]
NetClock::time_point
101
closeTime
()
const
102
{
103
return
ledger
->header().closeTime;
104
}
105
109
[[nodiscard]]
NetClock::time_point
110
parentCloseTime
()
const
111
{
112
return
ledger
->header().parentCloseTime;
113
}
114
118
[[nodiscard]]
json::Value
119
getJson
()
const
120
{
121
return
xrpl::getJson
({*
ledger
, {}});
122
}
123
130
std::shared_ptr<Ledger const>
ledger
;
131
};
132
}
// namespace xrpl
json::Value
Represents a JSON value.
Definition
json_value.h:117
xrpl::NetClock::time_point
std::chrono::time_point< NetClock > time_point
Definition
chrono.h:48
xrpl::NetClock::duration
std::chrono::duration< rep, period > duration
Definition
chrono.h:47
xrpl::RCLCxLedger::ID
LedgerHash ID
Unique identifier of a ledger.
Definition
RCLCxLedger.h:28
xrpl::RCLCxLedger::closeTimeResolution
NetClock::duration closeTimeResolution() const
Resolution used when calculating this ledger's close time.
Definition
RCLCxLedger.h:83
xrpl::RCLCxLedger::closeAgree
bool closeAgree() const
Whether consensus process agreed on close time of the ledger.
Definition
RCLCxLedger.h:92
xrpl::RCLCxLedger::RCLCxLedger
RCLCxLedger(std::shared_ptr< Ledger const > l)
Constructor.
Definition
RCLCxLedger.h:48
xrpl::RCLCxLedger::RCLCxLedger
RCLCxLedger()=default
Default constructor.
xrpl::RCLCxLedger::parentCloseTime
NetClock::time_point parentCloseTime() const
The close time of this ledger's parent.
Definition
RCLCxLedger.h:110
xrpl::RCLCxLedger::Seq
LedgerIndex Seq
Sequence number of a ledger.
Definition
RCLCxLedger.h:32
xrpl::RCLCxLedger::seq
Seq const & seq() const
Sequence number of the ledger.
Definition
RCLCxLedger.h:56
xrpl::RCLCxLedger::parentID
ID const & parentID() const
Unique identifier (hash) of this ledger's parent.
Definition
RCLCxLedger.h:74
xrpl::RCLCxLedger::ledger
std::shared_ptr< Ledger const > ledger
The ledger instance.
Definition
RCLCxLedger.h:130
xrpl::RCLCxLedger::id
ID const & id() const
Unique identifier (hash) of this ledger.
Definition
RCLCxLedger.h:65
xrpl::RCLCxLedger::closeTime
NetClock::time_point closeTime() const
The close time of this ledger.
Definition
RCLCxLedger.h:101
xrpl::RCLCxLedger::getJson
json::Value getJson() const
JSON representation of this ledger.
Definition
RCLCxLedger.h:119
memory
std
STL namespace.
xrpl
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition
algorithm.h:5
xrpl::LedgerIndex
std::uint32_t LedgerIndex
A ledger index.
Definition
Protocol.h:382
xrpl::LedgerHash
UInt256 LedgerHash
Definition
RippleLedgerHash.h:7
xrpl::getCloseAgree
bool getCloseAgree(LedgerHeader const &info)
Definition
LedgerHeader.h:64
xrpl::getJson
json::Value getJson(LedgerFill const &fill)
Return a new json::Value representing the ledger with given options.
Definition
LedgerToJson.cpp:369
std::shared_ptr
utility
Generated by
1.17.0