xrpld
Toggle main menu visibility
Loading...
Searching...
No Matches
xrpld
app
misc
ValidatorKeys.h
1
#pragma once
2
3
#include <xrpl/beast/utility/Journal.h>
4
#include <xrpl/protocol/PublicKey.h>
5
#include <xrpl/protocol/SecretKey.h>
6
#include <xrpl/protocol/UintTypes.h>
7
8
#include <
cstdint
>
9
#include <
optional
>
10
#include <
string
>
11
12
namespace
xrpl
{
13
14
class
Config
;
15
20
class
ValidatorKeys
21
{
22
public
:
23
// Group all keys in a struct. Either all keys are valid or none are.
24
struct
Keys
25
{
26
PublicKey
masterPublicKey
;
27
PublicKey
publicKey
;
28
SecretKey
secretKey
;
29
30
Keys
() =
delete
;
31
Keys
(
PublicKey
const
& masterPublic,
PublicKey
const
& pub,
SecretKey
const
& secret)
32
:
masterPublicKey
(masterPublic),
publicKey
(pub),
secretKey
(secret)
33
{
34
}
35
};
36
37
// Note: The existence of keys cannot be used as a proxy for checking the
38
// validity of a configuration. It is possible to have a valid
39
// configuration while not setting the keys, as per the constructor of
40
// the ValidatorKeys class.
41
std::optional<Keys>
keys
;
42
NodeID
nodeID
;
43
std::string
manifest
;
44
std::uint32_t
sequence
= 0;
45
46
ValidatorKeys
() =
delete
;
47
ValidatorKeys
(
Config
const
& config,
beast::Journal
j);
48
49
[[nodiscard]]
bool
50
configInvalid
()
const
51
{
52
return
configInvalid_
;
53
}
54
55
private
:
56
bool
configInvalid_
=
false
;
//< Set to true if config was invalid
57
};
58
59
}
// namespace xrpl
std::string
beast::Journal
A generic endpoint for log messages.
Definition
Journal.h:44
xrpl::Config
Definition
src/xrpld/core/Config.h:89
xrpl::PublicKey
A public key.
Definition
PublicKey.h:53
xrpl::SecretKey
A secret key.
Definition
SecretKey.h:24
xrpl::ValidatorKeys::configInvalid
bool configInvalid() const
Definition
ValidatorKeys.h:50
xrpl::ValidatorKeys::configInvalid_
bool configInvalid_
Definition
ValidatorKeys.h:56
xrpl::ValidatorKeys::sequence
std::uint32_t sequence
Definition
ValidatorKeys.h:44
xrpl::ValidatorKeys::manifest
std::string manifest
Definition
ValidatorKeys.h:43
xrpl::ValidatorKeys::ValidatorKeys
ValidatorKeys()=delete
xrpl::ValidatorKeys::nodeID
NodeID nodeID
Definition
ValidatorKeys.h:42
xrpl::ValidatorKeys::keys
std::optional< Keys > keys
Definition
ValidatorKeys.h:41
cstdint
std::uint32_t
xrpl
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition
algorithm.h:5
xrpl::NodeID
BaseUInt< 160, detail::NodeIDTag > NodeID
NodeID is a 160-bit hash representing one node.
Definition
UintTypes.h:47
optional
string
xrpl::ValidatorKeys::Keys::secretKey
SecretKey secretKey
Definition
ValidatorKeys.h:28
xrpl::ValidatorKeys::Keys::publicKey
PublicKey publicKey
Definition
ValidatorKeys.h:27
xrpl::ValidatorKeys::Keys::Keys
Keys(PublicKey const &masterPublic, PublicKey const &pub, SecretKey const &secret)
Definition
ValidatorKeys.h:31
xrpl::ValidatorKeys::Keys::masterPublicKey
PublicKey masterPublicKey
Definition
ValidatorKeys.h:26
xrpl::ValidatorKeys::Keys::Keys
Keys()=delete
Generated by
1.17.0