From 91f4c7f45f794fc7bee99356e56853369c98c410 Mon Sep 17 00:00:00 2001 From: moneromooo-monero Date: Thu, 31 Jan 2019 10:44:08 +0000 Subject: Make difficulty 128 bit instead of 64 bit Based on Boolberry work by: jahrsg cr.zoidberg --- src/cryptonote_basic/difficulty.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/cryptonote_basic/difficulty.h') diff --git a/src/cryptonote_basic/difficulty.h b/src/cryptonote_basic/difficulty.h index 8da355b22..f7a9376fb 100644 --- a/src/cryptonote_basic/difficulty.h +++ b/src/cryptonote_basic/difficulty.h @@ -32,12 +32,13 @@ #include #include +#include #include "crypto/hash.h" namespace cryptonote { - typedef std::uint64_t difficulty_type; + typedef boost::multiprecision::uint128_t difficulty_type; /** * @brief checks if a hash fits the given difficulty @@ -51,6 +52,10 @@ namespace cryptonote * * @return true if valid, else false */ + bool check_hash_64(const crypto::hash &hash, uint64_t difficulty); + uint64_t next_difficulty_64(std::vector timestamps, std::vector cumulative_difficulties, size_t target_seconds); + + bool check_hash_128(const crypto::hash &hash, difficulty_type difficulty); bool check_hash(const crypto::hash &hash, difficulty_type difficulty); difficulty_type next_difficulty(std::vector timestamps, std::vector cumulative_difficulties, size_t target_seconds); } -- cgit v1.2.3