From 6368aee05f31fcfa28d34c0ad457ba257eaeb40b Mon Sep 17 00:00:00 2001 From: Some Random Crypto Guy Date: Thu, 19 Dec 2024 11:31:05 +0000 Subject: [PATCH] bumped version for consensus rules hard fork --- README.md | 2 +- src/cryptonote_config.h | 2 ++ src/cryptonote_core/cryptonote_core.cpp | 10 ++++++++++ src/hardforks/hardforks.cpp | 3 +++ src/version.cpp.in | 2 +- 5 files changed, 17 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 21a95ec..a51470d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Salvium Zero v0.7.0 +# Salvium Zero v0.7.1 Copyright (c) 2023-2024, Salvium Portions Copyright (c) 2014-2023, The Monero Project diff --git a/src/cryptonote_config.h b/src/cryptonote_config.h index b9b838e..e6744d4 100644 --- a/src/cryptonote_config.h +++ b/src/cryptonote_config.h @@ -220,6 +220,8 @@ #define HF_VERSION_FULL_PROOFS 3 +#define HF_VERSION_ENFORCE_FULL_PROOFS 4 + #define HF_VERSION_REQUIRE_VIEW_TAGS 255 #define HF_VERSION_ENABLE_CONVERT 255 #define HF_VERSION_ENABLE_ORACLE 255 diff --git a/src/cryptonote_core/cryptonote_core.cpp b/src/cryptonote_core/cryptonote_core.cpp index 20defc2..d10e836 100644 --- a/src/cryptonote_core/cryptonote_core.cpp +++ b/src/cryptonote_core/cryptonote_core.cpp @@ -923,6 +923,16 @@ namespace cryptonote if (tx_info[n].tx->version < 2) continue; const rct::rctSig &rv = tx_info[n].tx->rct_signatures; + const uint8_t hf_version = m_blockchain_storage.get_current_hard_fork_version(); + if (hf_version >= HF_VERSION_ENFORCE_FULL_PROOFS) { + if (rv.type != rct::RCTTypeNull && rv.type != rct::RCTTypeFullProofs) { + MERROR_VER("Invalid RCT type provided"); + set_semantics_failed(tx_info[n].tx_hash); + tx_info[n].tvc.m_verifivation_failed = true; + tx_info[n].result = false; + return false; + } + } switch (rv.type) { case rct::RCTTypeNull: // coinbase should not come here, so we reject for all other types diff --git a/src/hardforks/hardforks.cpp b/src/hardforks/hardforks.cpp index 7bb5f06..bddf7bf 100644 --- a/src/hardforks/hardforks.cpp +++ b/src/hardforks/hardforks.cpp @@ -40,6 +40,9 @@ const hardfork_t mainnet_hard_forks[] = { // version 3 starts from block 121100, which is on or around the 19th of December, 2024. Fork time finalised on 2024-12-18. No fork voting occurs for the v3 fork. { 3, 121100, 0, 1734516900 }, + + // version 4 starts from block 121100, which is on or around the 20th of December, 2024. Fork time finalised on 2024-12-19. No fork voting occurs for the v4 fork. + { 4, 121800, 0, 1734607000 }, }; const size_t num_mainnet_hard_forks = sizeof(mainnet_hard_forks) / sizeof(mainnet_hard_forks[0]); const uint64_t mainnet_hard_fork_version_1_till = ((uint64_t)-1); diff --git a/src/version.cpp.in b/src/version.cpp.in index 03e86de..d551e98 100644 --- a/src/version.cpp.in +++ b/src/version.cpp.in @@ -1,5 +1,5 @@ #define DEF_SALVIUM_VERSION_TAG "@VERSIONTAG@" -#define DEF_SALVIUM_VERSION "0.7.0" +#define DEF_SALVIUM_VERSION "0.7.1" #define DEF_MONERO_VERSION_TAG "release" #define DEF_MONERO_VERSION "0.18.3.3" #define DEF_MONERO_RELEASE_NAME "Zero"