Bitcoin ABC
0.30.13
P2P Digital Currency
src
kernel
checks.cpp
Go to the documentation of this file.
1
// Copyright (c) 2022 The Bitcoin Core developers
2
// Distributed under the MIT software license, see the accompanying
3
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
5
#include <
kernel/checks.h
>
6
7
#include <
key.h
>
8
#include <
random.h
>
9
#include <
util/time.h
>
10
#include <
util/translation.h
>
11
12
namespace
kernel
{
13
14
util::Result<void>
SanityChecks
(
const
Context
&) {
15
if
(!
ECC_InitSanityCheck
()) {
16
return
util::Error
{
Untranslated
(
17
"Elliptic curve cryptography sanity check failure. Aborting."
)};
18
}
19
20
if
(!
Random_SanityCheck
()) {
21
return
util::Error
{
Untranslated
(
22
"OS cryptographic RNG sanity check failure. Aborting."
)};
23
}
24
25
if
(!
ChronoSanityCheck
()) {
26
return
util::Error
{
Untranslated
(
"Clock epoch mismatch. Aborting."
)};
27
}
28
29
return
{};
30
}
31
32
}
// namespace kernel
checks.h
util::Result< void >
ECC_InitSanityCheck
bool ECC_InitSanityCheck()
Check that required EC support is available at runtime.
Definition:
key.cpp:427
key.h
kernel
Definition:
init.h:28
kernel::SanityChecks
util::Result< void > SanityChecks(const Context &)
Ensure a usable environment with all necessary library support.
Definition:
checks.cpp:14
Random_SanityCheck
bool Random_SanityCheck()
Check that OS randomness is available and returning the requested number of bytes.
Definition:
random.cpp:706
random.h
kernel::Context
Context struct holding the kernel library's logically global state, and passed to external libbitcoin...
Definition:
context.h:20
util::Error
Definition:
result.h:15
ChronoSanityCheck
bool ChronoSanityCheck()
Sanity check epoch match normal Unix epoch.
Definition:
time.cpp:30
time.h
translation.h
Untranslated
bilingual_str Untranslated(std::string original)
Mark a bilingual_str as untranslated.
Definition:
translation.h:36
Generated on Wed Mar 12 2025 21:31:24 for Bitcoin ABC by
1.9.4