mirror of
https://git.wownero.com/wownero/wownero.git
synced 2024-08-15 01:03:23 +00:00
Merge upstream to daemonize changes
Preparation for PR
This commit is contained in:
commit
8855a32044
10 changed files with 27 additions and 12 deletions
|
@ -4,8 +4,9 @@ Copyright (c) 2014-2015, The Monero Project
|
|||
|
||||
## Development Resources
|
||||
|
||||
Web: [monero.cc](http://monero.cc)
|
||||
Mail: [dev@monero.cc](mailto:dev@monero.cc)
|
||||
Web: [getmonero.org](https://getmonero.org)
|
||||
Forum: [forum.getmonero.org](https://forum.getmonero.org)
|
||||
Mail: [dev@getmonero.org](mailto:dev@getmonero.org)
|
||||
Github (staging): [https://github.com/monero-project/bitmonero](https://github.com/monero-project/bitmonero)
|
||||
Github (development): [http://github.com/monero-project/bitmonero/tree/development](http://github.com/monero-project/bitmonero/tree/development)
|
||||
IRC: [#monero-dev on Freenode](irc://chat.freenode.net/#monero-dev)
|
||||
|
@ -32,7 +33,7 @@ Anyone is able to contribute to Monero. If you have a fix or code change, feel f
|
|||
|
||||
Monero development can be supported directly through donations.
|
||||
|
||||
Both Monero and Bitcoin donations can be made to donate.monero.cc if using a client that supports the [OpenAlias](https://openalias.org) standard
|
||||
Both Monero and Bitcoin donations can be made to donate.getmonero.org if using a client that supports the [OpenAlias](https://openalias.org) standard
|
||||
|
||||
The Monero donation address is: 46BeWrHpwXmHDpDEUmZBWZfoQpdc6HaERCNmx1pEYL2rAcuwufPN9rXHHtyUA4QVy66qeFQkn6sfK8aHYjA3jk3o1Bv16em (viewkey: e422831985c9205238ef84daf6805526c14d96fd7b059fe68c7ab98e495e5703)
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
||||
|
|
|
@ -1710,7 +1710,14 @@ 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;
|
||||
|
||||
// In the "tail" state when the minimum subsidy (implemented in get_block_reward) is in effect, the number of
|
||||
// coins will eventually exceed MONEY_SUPPLY and overflow a uint64. To prevent overflow, cap already_generated_coins
|
||||
// at MONEY_SUPPLY. already_generated_coins is only used to compute the block subsidy and MONEY_SUPPLY yields a
|
||||
// subsidy of 0 under the base formula and therefore the minimum subsidy >0 in the tail state.
|
||||
|
||||
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;
|
||||
|
||||
|
|
|
@ -76,6 +76,7 @@ bool create_checkpoints(cryptonote::checkpoints& checkpoints)
|
|||
ADD_CHECKPOINT(231350, "b5add137199b820e1ea26640e5c3e121fd85faa86a1e39cf7e6cc097bdeb1131");
|
||||
ADD_CHECKPOINT(232150, "955de8e6b6508af2c24f7334f97beeea651d78e9ade3ab18fec3763be3201aa8");
|
||||
ADD_CHECKPOINT(249380, "654fb0a81ce3e5caf7e3264a70f447d4bd07586c08fa50f6638cc54da0a52b2d");
|
||||
ADD_CHECKPOINT(460000, "75037a7aed3e765db96c75bcf908f59d690a5f3390baebb9edeafd336a1c4831");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -728,7 +728,7 @@ namespace Language
|
|||
"initiate",
|
||||
"injury",
|
||||
"inkling",
|
||||
"incline",
|
||||
"inline",
|
||||
"inmate",
|
||||
"innocent",
|
||||
"inorganic",
|
||||
|
@ -1073,7 +1073,7 @@ namespace Language
|
|||
"ouch",
|
||||
"ought",
|
||||
"ounce",
|
||||
"launchpad",
|
||||
"ourselves",
|
||||
"oust",
|
||||
"outbreak",
|
||||
"oval",
|
||||
|
|
|
@ -431,11 +431,13 @@ namespace tools
|
|||
{
|
||||
transfers_found = true;
|
||||
}
|
||||
auto txBlob = t_serializable_object_to_blob(td.m_tx);
|
||||
wallet_rpc::transfer_details rpc_transfers;
|
||||
rpc_transfers.amount = td.amount();
|
||||
rpc_transfers.spent = td.m_spent;
|
||||
rpc_transfers.global_index = td.m_global_output_index;
|
||||
rpc_transfers.tx_hash = boost::lexical_cast<std::string>(cryptonote::get_transaction_hash(td.m_tx));
|
||||
rpc_transfers.tx_size = txBlob.size();
|
||||
res.transfers.push_back(rpc_transfers);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -228,12 +228,14 @@ namespace wallet_rpc
|
|||
bool spent;
|
||||
uint64_t global_index;
|
||||
std::string tx_hash;
|
||||
uint64_t tx_size;
|
||||
|
||||
BEGIN_KV_SERIALIZE_MAP()
|
||||
KV_SERIALIZE(amount)
|
||||
KV_SERIALIZE(spent)
|
||||
KV_SERIALIZE(global_index)
|
||||
KV_SERIALIZE(tx_hash)
|
||||
KV_SERIALIZE(tx_size)
|
||||
END_KV_SERIALIZE_MAP()
|
||||
};
|
||||
|
||||
|
|
|
@ -86,7 +86,7 @@ TEST(AddressFromURL, Success)
|
|||
|
||||
bool dnssec_result = false;
|
||||
|
||||
std::vector<std::string> addresses = tools::wallet2::addresses_from_url("donate.monero.cc", dnssec_result);
|
||||
std::vector<std::string> addresses = tools::wallet2::addresses_from_url("donate.getmonero.org", dnssec_result);
|
||||
|
||||
EXPECT_EQ(1, addresses.size());
|
||||
if (addresses.size() == 1)
|
||||
|
|
|
@ -108,12 +108,12 @@ TEST(DNSResolver, GetTXTRecord)
|
|||
{
|
||||
bool avail, valid;
|
||||
|
||||
std::vector<std::string> records = tools::DNSResolver::instance().get_txt_record("donate.monero.cc", avail, valid);
|
||||
std::vector<std::string> records = tools::DNSResolver::instance().get_txt_record("donate.getmonero.org", avail, valid);
|
||||
|
||||
EXPECT_NE(0, records.size());
|
||||
|
||||
for (auto& rec : records)
|
||||
{
|
||||
std::cout << "TXT record for donate.monero.cc: " << rec << std::endl;
|
||||
std::cout << "TXT record for donate.getmonero.org: " << rec << std::endl;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue