aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsmooth <iamjaviersmooth@gmail.com>2015-03-04 23:35:04 -0800
committersmooth <iamjaviersmooth@gmail.com>2015-03-04 23:35:04 -0800
commit754a785ee15915c4d8d81dbd55d7005e07c6407e (patch)
tree9148840a68ff9ca197cc29cd28bcdd9a3562def1 /src
parentfixed English word list issue: 'launchpad' should be 'ourselves' (diff)
downloadmonero-754a785ee15915c4d8d81dbd55d7005e07c6407e.tar.xz
minimum subsidy for mining incentives, remove unused LEGACY_FEE define
Diffstat (limited to 'src')
-rw-r--r--src/cryptonote_config.h4
-rw-r--r--src/cryptonote_core/blockchain_storage.cpp3
-rw-r--r--src/cryptonote_core/cryptonote_basic_impl.cpp4
3 files changed, 7 insertions, 4 deletions
diff --git a/src/cryptonote_config.h b/src/cryptonote_config.h
index e26945086..e5df844e7 100644
--- a/src/cryptonote_config.h
+++ b/src/cryptonote_config.h
@@ -51,6 +51,7 @@
// MONEY_SUPPLY - total number coins to be generated
#define MONEY_SUPPLY ((uint64_t)(-1))
#define EMISSION_SPEED_FACTOR (20)
+#define FINAL_SUBSIDY_PER_MINUTE ((uint64_t)300000000000) // 3 * pow(10, 11)
#define CRYPTONOTE_REWARD_BLOCKS_WINDOW 100
#define CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE 20000 //size of block (bytes) after which reward for block calculated using block size
@@ -61,9 +62,6 @@
#define FEE_PER_KB ((uint64_t)10000000000) // pow(10, 10)
-// temporarily to allow backward compatibility during the switch to per-kb
-//#define MINING_ALLOWED_LEGACY_FEE ((uint64_t)100000000000) // pow(10, 11)
-
#define ORPHANED_BLOCKS_MAX_COUNT 100
diff --git a/src/cryptonote_core/blockchain_storage.cpp b/src/cryptonote_core/blockchain_storage.cpp
index e2b6f2326..1f35e6a5b 100644
--- a/src/cryptonote_core/blockchain_storage.cpp
+++ b/src/cryptonote_core/blockchain_storage.cpp
@@ -1709,7 +1709,8 @@ bool blockchain_storage::handle_block_to_main_chain(const block& bl, const crypt
bei.bl = bl;
bei.block_cumulative_size = cumulative_block_size;
bei.cumulative_difficulty = current_diffic;
- bei.already_generated_coins = already_generated_coins + base_reward;
+ bei.already_generated_coins = base_reward < (MONEY_SUPPLY-already_generated_coins) ? already_generated_coins + base_reward : MONEY_SUPPLY;
+
if(m_blocks.size())
bei.cumulative_difficulty += m_blocks.back().cumulative_difficulty;
diff --git a/src/cryptonote_core/cryptonote_basic_impl.cpp b/src/cryptonote_core/cryptonote_basic_impl.cpp
index a7416a7e4..f2d862e57 100644
--- a/src/cryptonote_core/cryptonote_basic_impl.cpp
+++ b/src/cryptonote_core/cryptonote_basic_impl.cpp
@@ -60,6 +60,10 @@ namespace cryptonote {
//-----------------------------------------------------------------------------------------------
bool get_block_reward(size_t median_size, size_t current_block_size, uint64_t already_generated_coins, uint64_t &reward) {
uint64_t base_reward = (MONEY_SUPPLY - already_generated_coins) >> EMISSION_SPEED_FACTOR;
+ if (base_reward < FINAL_SUBSIDY_PER_MINUTE)
+ {
+ base_reward = FINAL_SUBSIDY_PER_MINUTE;
+ }
//make it soft
if (median_size < CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE) {