diff options
Diffstat (limited to 'src/kernel')
-rw-r--r-- | src/kernel/checks.cpp | 15 | ||||
-rw-r--r-- | src/kernel/checks.h | 10 |
2 files changed, 15 insertions, 10 deletions
diff --git a/src/kernel/checks.cpp b/src/kernel/checks.cpp index a25617bea5..2a1dd3bfa2 100644 --- a/src/kernel/checks.cpp +++ b/src/kernel/checks.cpp @@ -5,29 +5,26 @@ #include <kernel/checks.h> #include <key.h> -#include <node/ui_interface.h> #include <random.h> #include <util/time.h> -#include <util/translation.h> - -#include <memory> namespace kernel { -bool SanityChecks(const Context&) { +std::optional<SanityCheckError> SanityChecks(const Context&) +{ if (!ECC_InitSanityCheck()) { - return InitError(Untranslated("Elliptic curve cryptography sanity check failure. Aborting.")); + return SanityCheckError::ERROR_ECC; } if (!Random_SanityCheck()) { - return InitError(Untranslated("OS cryptographic RNG sanity check failure. Aborting.")); + return SanityCheckError::ERROR_RANDOM; } if (!ChronoSanityCheck()) { - return InitError(Untranslated("Clock epoch mismatch. Aborting.")); + return SanityCheckError::ERROR_CHRONO; } - return true; + return std::nullopt; } } diff --git a/src/kernel/checks.h b/src/kernel/checks.h index 786281fa2c..80b207f607 100644 --- a/src/kernel/checks.h +++ b/src/kernel/checks.h @@ -5,14 +5,22 @@ #ifndef BITCOIN_KERNEL_CHECKS_H #define BITCOIN_KERNEL_CHECKS_H +#include <optional> + namespace kernel { struct Context; +enum class SanityCheckError { + ERROR_ECC, + ERROR_RANDOM, + ERROR_CHRONO, +}; + /** * Ensure a usable environment with all necessary library support. */ -bool SanityChecks(const Context&); +std::optional<SanityCheckError> SanityChecks(const Context&); } |