From 7bd66b01bfb62ecaf8ff02b20d14db3a77322abc Mon Sep 17 00:00:00 2001 From: stoffu Date: Fri, 15 May 2020 10:56:23 +0900 Subject: daemon: guard against rare 'difficulty drift' bug with checkpoints and recalculation On startup, it checks against the difficulty checkpoints, and if any mismatch is found, recalculates all the blocks with wrong difficulties. Additionally, once a week it recalculates difficulties of blocks after the last difficulty checkpoint. --- src/blockchain_db/testdb.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/blockchain_db/testdb.h') diff --git a/src/blockchain_db/testdb.h b/src/blockchain_db/testdb.h index 638dd3b37..da8ce943f 100644 --- a/src/blockchain_db/testdb.h +++ b/src/blockchain_db/testdb.h @@ -82,6 +82,7 @@ public: virtual std::vector get_block_weights(uint64_t start_height, size_t count) const override { return {}; } virtual cryptonote::difficulty_type get_block_cumulative_difficulty(const uint64_t& height) const override { return 10; } virtual cryptonote::difficulty_type get_block_difficulty(const uint64_t& height) const override { return 0; } + virtual void correct_block_cumulative_difficulties(const uint64_t& start_height, const std::vector& new_cumulative_difficulties) override {} virtual uint64_t get_block_already_generated_coins(const uint64_t& height) const override { return 10000000000; } virtual uint64_t get_block_long_term_weight(const uint64_t& height) const override { return 128; } virtual std::vector get_long_term_block_weights(uint64_t start_height, size_t count) const override { return {}; } -- cgit v1.2.3