#define CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V2 60000 //size of block (bytes) after which reward for block calculated using block size
#define CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V2 60000 //size of block (bytes) after which reward for block calculated using block size
#define CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V1 20000 //size of block (bytes) after which reward for block calculated using block size - before first fork
#define CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V1 20000 //size of block (bytes) after which reward for block calculated using block size - before first fork
#define CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V5 300000 //size of block (bytes) after which reward for block calculated using block size - second change, from v5
#define CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V5 300000 //size of block (bytes) after which reward for block calculated using block size - second change, from v5
// version 2 starts from block 1009827, which is on or around the 20th of March, 2016. Fork time finalised on 2015-09-20. No fork voting occurs for the v2 fork.
{10,63469,0,1541700352},
{2,1009827,0,1442763710},
// version 3 starts from block 1141317, which is on or around the 24th of September, 2016. Fork time finalised on 2016-03-21.
{3,1141317,0,1458558528},
// version 4 starts from block 1220516, which is on or around the 5th of January, 2017. Fork time finalised on 2016-09-18.
{4,1220516,0,1483574400},
// version 5 starts from block 1288616, which is on or around the 15th of April, 2017. Fork time finalised on 2017-03-14.
{5,1288616,0,1489520158},
// version 6 starts from block 1400000, which is on or around the 16th of September, 2017. Fork time finalised on 2017-08-18.
{6,1400000,0,1503046577},
// version 7 starts from block 1546000, which is on or around the 6th of April, 2018. Fork time finalised on 2018-03-17.
{7,1546000,0,1521303150},
// version 8 starts from block 1685555, which is on or around the 18th of October, 2018. Fork time finalised on 2018-09-02.
{8,1685555,0,1535889547},
// version 9 starts from block 1686275, which is on or around the 19th of October, 2018. Fork time finalised on 2018-09-02.
// version 2 starts from block 624634, which is on or around the 23rd of November, 2015. Fork time finalised on 2015-11-20. No fork voting occurs for the v2 fork.
{11,180,0,1543922445},
{2,624634,0,1445355000},
// versions 3-5 were passed in rapid succession from September 18th, 2016
{3,800500,0,1472415034},
{4,801219,0,1472415035},
{5,802660,0,1472415036+86400*180},// add 5 months on testnet to shut the update warning up since there's a large gap to v6
MERROR_VER("Timestamp of block with id: "<<get_block_hash(b)<<", "<<b.timestamp<<", less than median of last "<<BLOCKCHAIN_TIMESTAMP_CHECK_WINDOW<<" blocks, "<<median_ts);
MERROR_VER("Timestamp of block with id: "<<get_block_hash(b)<<", "<<b.timestamp<<", less than median of last "<<blockchain_timestamp_check_window<<" blocks, "<<median_ts);
constcommand_line::arg_descriptor<bool>arg_non_deterministic={"non-deterministic",sw::tr("Generate non-deterministic view and spend keys"),false};
constcommand_line::arg_descriptor<bool>arg_non_deterministic={"non-deterministic",sw::tr("Generate non-deterministic view and spend keys"),false};
constcommand_line::arg_descriptor<bool>arg_allow_mismatched_daemon_version={"allow-mismatched-daemon-version",sw::tr("Allow communicating with a daemon that uses a different RPC version"),false};
constcommand_line::arg_descriptor<bool>arg_allow_mismatched_daemon_version={"allow-mismatched-daemon-version",sw::tr("Allow communicating with a daemon that uses a different RPC version"),false};
constcommand_line::arg_descriptor<uint64_t>arg_restore_height={"restore-height",sw::tr("Restore from specific blockchain height"),0};
constcommand_line::arg_descriptor<uint64_t>arg_restore_height={"restore-height",sw::tr("Restore from specific blockchain height"),0};
constcommand_line::arg_descriptor<bool>arg_do_not_relay={"do-not-relay",sw::tr("The newly created transaction will not be relayed to the monero network"),false};
constcommand_line::arg_descriptor<bool>arg_do_not_relay={"do-not-relay",sw::tr("The newly created transaction will not be relayed to the wownero network"),false};
constcommand_line::arg_descriptor<bool>arg_create_address_file={"create-address-file",sw::tr("Create an address file for new wallets"),false};
constcommand_line::arg_descriptor<bool>arg_create_address_file={"create-address-file",sw::tr("Create an address file for new wallets"),false};
constcommand_line::arg_descriptor<std::string>arg_subaddress_lookahead={"subaddress-lookahead",tools::wallet2::tr("Set subaddress lookahead sizes to <major>:<minor>"),""};
constcommand_line::arg_descriptor<std::string>arg_subaddress_lookahead={"subaddress-lookahead",tools::wallet2::tr("Set subaddress lookahead sizes to <major>:<minor>"),""};
constcommand_line::arg_descriptor<bool>arg_use_english_language_names={"use-english-language-names",sw::tr("Display English language names"),false};
constcommand_line::arg_descriptor<bool>arg_use_english_language_names={"use-english-language-names",sw::tr("Display English language names"),false};
sw::tr("This is the command line monero wallet. It needs to connect to a monero\ndaemon to work correctly.\nWARNING: Do not reuse your Monero keys on another fork, UNLESS this fork has key reuse mitigations built in. Doing so will harm your privacy."),
sw::tr("This is the command line wownero wallet. It needs to connect to a wownero\ndaemon to work correctly.\nWARNING: Do not reuse your Wownero keys on another fork, UNLESS this fork has key reuse mitigations built in. Doing so will harm your privacy."),
THROW_WALLET_EXCEPTION_IF(!pwd,error::password_needed,tr("Password is needed to compute key image for incoming monero"));
THROW_WALLET_EXCEPTION_IF(!pwd,error::password_needed,tr("Password is needed to compute key image for incoming wownero"));
THROW_WALLET_EXCEPTION_IF(!verify_password(*pwd),error::password_needed,tr("Invalid password: password is needed to compute key image for incoming monero"));
THROW_WALLET_EXCEPTION_IF(!verify_password(*pwd),error::password_needed,tr("Invalid password: password is needed to compute key image for incoming wownero"));
decrypt_keys(*pwd);
decrypt_keys(*pwd);
m_encrypt_keys_after_refresh=*pwd;
m_encrypt_keys_after_refresh=*pwd;
}
}
@ -6231,20 +6231,14 @@ int wallet2::get_fee_algorithm() const