diff --git a/README.md b/README.md index 0ab4a8b..08ba31e 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Salvium Zero v0.7.2 +# Salvium Zero v0.8.0-rc1 Copyright (c) 2023-2024, Salvium Portions Copyright (c) 2014-2023, The Monero Project @@ -172,7 +172,7 @@ invokes cmake commands as needed. ```bash cd salvium - git checkout v0.7.0 + git checkout v0.8.0 make ``` @@ -251,7 +251,7 @@ Tested on a Raspberry Pi Zero with a clean install of minimal Raspbian Stretch ( ```bash git clone https://github.com/salvium/salvium cd salvium - git checkout v0.7.0 + git checkout v0.8.0 ``` * Build: @@ -370,10 +370,10 @@ application. cd salvium ``` -* If you would like a specific [version/tag](https://github.com/salvium/salvium/tags), do a git checkout for that version. eg. 'v0.7.0'. If you don't care about the version and just want binaries from master, skip this step: +* If you would like a specific [version/tag](https://github.com/salvium/salvium/tags), do a git checkout for that version. eg. 'v0.8.0'. If you don't care about the version and just want binaries from master, skip this step: ```bash - git checkout v0.7.0 + git checkout v0.8.0 ``` * If you are on a 64-bit system, run: diff --git a/src/cryptonote_config.h b/src/cryptonote_config.h index e6744d4..d18fd54 100644 --- a/src/cryptonote_config.h +++ b/src/cryptonote_config.h @@ -222,6 +222,8 @@ #define HF_VERSION_ENFORCE_FULL_PROOFS 4 +#define HF_VERSION_SHUTDOWN_USER_TXS 6 + #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/blockchain.cpp b/src/cryptonote_core/blockchain.cpp index a9d3be1..964644d 100644 --- a/src/cryptonote_core/blockchain.cpp +++ b/src/cryptonote_core/blockchain.cpp @@ -3656,6 +3656,15 @@ bool Blockchain::check_tx_type_and_version(const transaction& tx, tx_verificatio const uint8_t hf_version = m_hardfork->get_current_version(); + // Reject ALL TXs except miner + protocol for v5 + if (hf_version == HF_VERSION_SHUTDOWN_USER_TXS) { + if (tx.type != cryptonote::transaction_type::MINER && tx.type != cryptonote::transaction_type::PROTOCOL) { + MERROR_VER("User TXs are not permitted for v" + std::to_string(HF_VERSION_SHUTDOWN_USER_TXS)); + tvc.m_version_mismatch = true; + return false; + } + } + // Prior to v2, only allow TX v2 if (hf_version < HF_VERSION_ENABLE_N_OUTS) { @@ -4774,6 +4783,17 @@ leave: } TIME_MEASURE_FINISH(t2); + TIME_MEASURE_START(t2point5); + + // make sure that block is allowed TXs (prevented during pre-audit period) + if (hf_version == HF_VERSION_SHUTDOWN_USER_TXS && bl.tx_hashes.size()) + { + MERROR_VER("Block with id: " << id << std::endl << "contains " << bl.tx_hashes.size() << " illicit user transactions"); + bvc.m_verifivation_failed = true; + goto leave; + } + + TIME_MEASURE_FINISH(t2point5); //check proof of work TIME_MEASURE_START(target_calculating_time); diff --git a/src/hardforks/hardforks.cpp b/src/hardforks/hardforks.cpp index bddf7bf..041e9dd 100644 --- a/src/hardforks/hardforks.cpp +++ b/src/hardforks/hardforks.cpp @@ -43,6 +43,9 @@ const hardfork_t mainnet_hard_forks[] = { // 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 }, + + // version 5 starts from block 135500, which is on or around the 8th of January, 2025. Fork time finalised on 2025-01-07. No fork voting occurs for the v5 fork. + //{ 5, 135500, 0, 1736265945 }, }; 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); @@ -56,6 +59,12 @@ const hardfork_t testnet_hard_forks[] = { // version 3 starts from block 500 { 3, 500, 0, 1729518000 }, + + // version 4 starts from block 600 + { 4, 600, 0, 173626500 }, + + // version 5 starts from block 700 + { 5, 700, 0, 1736265945 }, }; const size_t num_testnet_hard_forks = sizeof(testnet_hard_forks) / sizeof(testnet_hard_forks[0]); const uint64_t testnet_hard_fork_version_1_till = ((uint64_t)-1); diff --git a/src/version.cpp.in b/src/version.cpp.in index 168c8a2..1f90737 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.2" +#define DEF_SALVIUM_VERSION "0.8.0-rc1" #define DEF_MONERO_VERSION_TAG "release" #define DEF_MONERO_VERSION "0.18.3.3" #define DEF_MONERO_RELEASE_NAME "Zero"