diff --git a/README.md b/README.md index edea1ad62..401129443 100644 --- a/README.md +++ b/README.md @@ -97,7 +97,7 @@ Dates are provided in the format YYYY-MM-DD. | 253,999 | 2020-10-09 | Illiterate Illuminati | v0.9.0.0 | v0.9.3.3 | Dynamic coinbase unlock (up to 1 mo.), Deterministic unlock times, Enforce maximum coinbase amount, show_qr_code wallet command, CLSAG | 331,170 | 2021-07-04 | Junkie Jeff | v0.10.0.0 | v0.10.2.0 | Bulletproofs+, Miner Block Header Signing, Vote by Block, Change coinbase unlock time to 1 day, Reset difficulty and switch back to Monero's difficulty algorithm | 514,000 | 2023-04-01 | Kunty Karen | v0.11.0.0 | v0.11.0.1 | View tags, fee changes, adjusted dynamic block weight algorithm, multisig security fixes, RPC broadcast node donation sub-address, Limit tx_extra max size to ~1kb, 12-hour difficulty adjustment window -| 528,888 | 2023-05-23 | XXXXX | v0.12.0.0 | v0.12.0.0 | Reset difficulty and switch back to Monero's difficulty algorithm +| 528,888 | 2023-05-23 | XXXXX | v0.12.0.0 | v0.12.0.0 | Reset difficulty and switch back to Monero's difficulty algorithm, Enable pool mining X's indicate that these details have not been determined as of commit date. diff --git a/src/cryptonote_basic/cryptonote_basic.h b/src/cryptonote_basic/cryptonote_basic.h index 215903a0c..024758a63 100644 --- a/src/cryptonote_basic/cryptonote_basic.h +++ b/src/cryptonote_basic/cryptonote_basic.h @@ -470,7 +470,7 @@ namespace cryptonote VARINT_FIELD(timestamp) FIELD(prev_id) FIELD(nonce) - if (major_version >= HF_VERSION_BLOCK_HEADER_MINER_SIG) + if (major_version >= HF_VERSION_BLOCK_HEADER_MINER_SIG && major_version < HF_VERSION_END_BLOCK_HEADER_MINER_SIG) { FIELD(signature) FIELD(vote) diff --git a/src/cryptonote_basic/cryptonote_boost_serialization.h b/src/cryptonote_basic/cryptonote_boost_serialization.h index 6d2b7e55b..a4b20ba4e 100644 --- a/src/cryptonote_basic/cryptonote_boost_serialization.h +++ b/src/cryptonote_basic/cryptonote_boost_serialization.h @@ -196,7 +196,7 @@ namespace boost a & b.timestamp; a & b.prev_id; a & b.nonce; - if (b.major_version >= HF_VERSION_BLOCK_HEADER_MINER_SIG) + if (b.major_version >= HF_VERSION_BLOCK_HEADER_MINER_SIG && b.major_version < HF_VERSION_END_BLOCK_HEADER_MINER_SIG) { a & b.signature; a & b.vote; diff --git a/src/cryptonote_basic/miner.cpp b/src/cryptonote_basic/miner.cpp index 83bea8b5b..13e651456 100644 --- a/src/cryptonote_basic/miner.cpp +++ b/src/cryptonote_basic/miner.cpp @@ -613,7 +613,7 @@ namespace cryptonote b.nonce = nonce; // Miner Block Header Signing - if (b.major_version >= HF_VERSION_BLOCK_HEADER_MINER_SIG) + if (b.major_version >= HF_VERSION_BLOCK_HEADER_MINER_SIG && b.major_version < HF_VERSION_END_BLOCK_HEADER_MINER_SIG) { // tx key derivation crypto::key_derivation derivation; diff --git a/src/cryptonote_config.h b/src/cryptonote_config.h index 937218a2d..9196e14e4 100644 --- a/src/cryptonote_config.h +++ b/src/cryptonote_config.h @@ -199,6 +199,7 @@ #define HF_VERSION_VIEW_TAGS 20 #define HF_VERSION_2021_SCALING 20 #define HF_VERSION_CAP_TX_EXTRA_SIZE 20 +#define HF_VERSION_END_BLOCK_HEADER_MINER_SIG 21 #define PER_KB_FEE_QUANTIZATION_DECIMALS 8 #define CRYPTONOTE_SCALING_2021_FEE_ROUNDING_PLACES 2 diff --git a/src/cryptonote_core/blockchain.cpp b/src/cryptonote_core/blockchain.cpp index a7365662e..2b06869fe 100644 --- a/src/cryptonote_core/blockchain.cpp +++ b/src/cryptonote_core/blockchain.cpp @@ -1415,7 +1415,7 @@ difficulty_type Blockchain::get_next_difficulty_for_alternative_chain(const std: bool Blockchain::prevalidate_miner_transaction(const block& b, uint64_t height, uint8_t hf_version) { // Miner Block Header Signing - if (hf_version >= HF_VERSION_BLOCK_HEADER_MINER_SIG) + if (hf_version >= HF_VERSION_BLOCK_HEADER_MINER_SIG && hf_version < HF_VERSION_END_BLOCK_HEADER_MINER_SIG) { // sanity checks if (b.miner_tx.vout.size() != 1) diff --git a/src/rpc/core_rpc_server.cpp b/src/rpc/core_rpc_server.cpp index 9cee51133..4bac1e817 100644 --- a/src/rpc/core_rpc_server.cpp +++ b/src/rpc/core_rpc_server.cpp @@ -2193,7 +2193,7 @@ namespace cryptonote return false; } b.nonce = req.starting_nonce; - if (b.major_version >= HF_VERSION_BLOCK_HEADER_MINER_SIG) + if (b.major_version >= HF_VERSION_BLOCK_HEADER_MINER_SIG && b.major_version < HF_VERSION_END_BLOCK_HEADER_MINER_SIG) { b.signature = {}; b.vote = 0; diff --git a/src/rpc/daemon_handler.cpp b/src/rpc/daemon_handler.cpp index 2acc66bd6..7c58e87eb 100644 --- a/src/rpc/daemon_handler.cpp +++ b/src/rpc/daemon_handler.cpp @@ -895,7 +895,7 @@ namespace rpc header.minor_version = b.minor_version; header.timestamp = b.timestamp; header.nonce = b.nonce; - if (b.major_version >= HF_VERSION_BLOCK_HEADER_MINER_SIG) + if (b.major_version >= HF_VERSION_BLOCK_HEADER_MINER_SIG && b.major_version < HF_VERSION_END_BLOCK_HEADER_MINER_SIG) { header.signature = b.signature; header.vote = b.vote;