aboutsummaryrefslogtreecommitdiff
path: root/src/cryptonote_core/difficulty.cpp
diff options
context:
space:
mode:
authorRiccardo Spagni <ric@spagni.net>2016-03-25 08:22:06 +0200
committerRiccardo Spagni <ric@spagni.net>2016-03-25 09:12:25 +0200
commit0d30b657859d6ebd3188bd16dfaa9c79c3dfcaa7 (patch)
tree0e4c9a35e9bbfcffcca4631d944031d0fbc7efb4 /src/cryptonote_core/difficulty.cpp
parentMerge pull request #761 (diff)
downloadmonero-0d30b657859d6ebd3188bd16dfaa9c79c3dfcaa7.tar.xz
Merge pull request #749
bfd4a28 Update BlockchainDB documentation (Thomas Winget) 797357e Change Doxyfile, Blockchain not blockchain_storage (Thomas Winget) c835215 remove defunct code from cryptonote::core (Thomas Winget) 50dba6d cryptonote::core doxygen documentation (Thomas Winget) 8ac329d doxygen documentation for difficulty functions (Thomas Winget) 540a76c Move checkpoint functions into checkpoints class (Thomas Winget) 1b0c98e doxygen documentation for checkpoints.{h,cpp} (Thomas Winget) 89c24ac Remove unnecessary or defunct code (Thomas Winget) ab0ed14 doxygen include private and static members (Thomas Winget) 3a48449 Updated documentation for blockchain.* (Thomas Winget)
Diffstat (limited to 'src/cryptonote_core/difficulty.cpp')
-rw-r--r--src/cryptonote_core/difficulty.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/cryptonote_core/difficulty.cpp b/src/cryptonote_core/difficulty.cpp
index 236e84481..54da77392 100644
--- a/src/cryptonote_core/difficulty.cpp
+++ b/src/cryptonote_core/difficulty.cpp
@@ -116,8 +116,8 @@ namespace cryptonote {
return !carry;
}
- difficulty_type next_difficulty(vector<uint64_t> timestamps, vector<difficulty_type> cumulative_difficulties, size_t target_seconds) {
- //cutoff DIFFICULTY_LAG
+ difficulty_type next_difficulty(std::vector<std::uint64_t> timestamps, std::vector<difficulty_type> cumulative_difficulties, size_t target_seconds) {
+
if(timestamps.size() > DIFFICULTY_WINDOW)
{
timestamps.resize(DIFFICULTY_WINDOW);
@@ -151,6 +151,8 @@ namespace cryptonote {
assert(total_work > 0);
uint64_t low, high;
mul(total_work, target_seconds, low, high);
+ // blockchain errors "difficulty overhead" if this function returns zero.
+ // TODO: consider throwing an exception instead
if (high != 0 || low + time_span - 1 < low) {
return 0;
}