From 1a13b3d59bfc5c6558bb5c85b9a84f63dad7d2e1 Mon Sep 17 00:00:00 2001 From: wrkzdev <40448869+wrkzdev@users.noreply.github.com> Date: Thu, 6 Jun 2019 10:53:11 +0700 Subject: [PATCH] WRKZ support --- src/common/crypto/Algorithm.cpp | 4 +++- src/common/xmrig.h | 1 + src/crypto/Argon2_constants.h | 13 +++++++++++++ src/workers/CpuThread.cpp | 20 ++++++++++++++++++++ 4 files changed, 37 insertions(+), 1 deletion(-) diff --git a/src/common/crypto/Algorithm.cpp b/src/common/crypto/Algorithm.cpp index 0c2c0c80..6313ee60 100644 --- a/src/common/crypto/Algorithm.cpp +++ b/src/common/crypto/Algorithm.cpp @@ -94,6 +94,7 @@ static AlgoData const algorithms[] = { # ifndef XMRIG_NO_ARGON2 { "chukwa", "trtl-chukwa", xmrig::ARGON2, xmrig::VARIANT_CHUKWA }, + { "chukwa/wrkz", "wrkz-chukwa", xmrig::ARGON2, xmrig::VARIANT_CHUKWA_LITE }, # endif # ifndef XMRIG_NO_CN_GPU @@ -143,7 +144,8 @@ static const char *variants[] = { "rwz", "zls", "double", - "chukwa" + "chukwa", + "wrkz", }; diff --git a/src/common/xmrig.h b/src/common/xmrig.h index 440afe29..32e8f66a 100644 --- a/src/common/xmrig.h +++ b/src/common/xmrig.h @@ -81,6 +81,7 @@ enum Variant { VARIANT_ZLS = 15, // CryptoNight variant 2 with 3/4 iterations (Zelerius) VARIANT_DOUBLE = 16, // CryptoNight variant 2 with double iterations (X-CASH) VARIANT_CHUKWA = 17, // Argon2 Chukwa for TurtleCoin + VARIANT_CHUKWA_LITE = 18, // Argon2 Chukwa Lite for WrkzCoin VARIANT_MAX }; diff --git a/src/crypto/Argon2_constants.h b/src/crypto/Argon2_constants.h index b2d6de4c..d5a29da4 100644 --- a/src/crypto/Argon2_constants.h +++ b/src/crypto/Argon2_constants.h @@ -22,6 +22,11 @@ namespace xmrig constexpr const size_t ARGON2_MEMORY_CHUKWA = 512; constexpr const size_t ARGON2_ITERS_CHUKWA = 3; constexpr const size_t ARGON2_PARALLELISM_CHUKWA = 1; + + constexpr const size_t ARGON2_MEMORY_CHUKWA_LITE = 256; + constexpr const size_t ARGON2_ITERS_CHUKWA_LITE = 4; + constexpr const size_t ARGON2_PARALLELISM_CHUKWA_LITE = 1; + constexpr const int ARGON2_ALGO_CHUKWA = Argon2Algo::ID; inline int argon2_select_algo(Variant variant) @@ -30,6 +35,8 @@ namespace xmrig { case VARIANT_CHUKWA: return ARGON2_ALGO_CHUKWA; + case VARIANT_CHUKWA_LITE: + return ARGON2_ALGO_CHUKWA; } return 0; @@ -41,6 +48,8 @@ namespace xmrig { case VARIANT_CHUKWA: return ARGON2_MEMORY_CHUKWA; + case VARIANT_CHUKWA_LITE: + return ARGON2_MEMORY_CHUKWA_LITE; } return 0; @@ -52,6 +61,8 @@ namespace xmrig { case VARIANT_CHUKWA: return ARGON2_ITERS_CHUKWA; + case VARIANT_CHUKWA_LITE: + return ARGON2_ITERS_CHUKWA_LITE; } return 0; @@ -63,6 +74,8 @@ namespace xmrig { case VARIANT_CHUKWA: return ARGON2_PARALLELISM_CHUKWA; + case VARIANT_CHUKWA_LITE: + return ARGON2_PARALLELISM_CHUKWA_LITE; } return 0; diff --git a/src/workers/CpuThread.cpp b/src/workers/CpuThread.cpp index ad06be63..c4981e93 100644 --- a/src/workers/CpuThread.cpp +++ b/src/workers/CpuThread.cpp @@ -394,6 +394,7 @@ xmrig::CpuThread::cn_hash_fun xmrig::CpuThread::fn(Algo algorithm, AlgoVariant a cryptonight_penta_hash, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_CHUKWA + nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_CHUKWA_LITE # ifndef XMRIG_NO_AEON cryptonight_single_hash, @@ -434,6 +435,7 @@ xmrig::CpuThread::cn_hash_fun xmrig::CpuThread::fn(Algo algorithm, AlgoVariant a nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_ZLS nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_DOUBLE nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_CHUKWA + nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_CHUKWA_LITE # else nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_0 nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_1 @@ -453,6 +455,7 @@ xmrig::CpuThread::cn_hash_fun xmrig::CpuThread::fn(Algo algorithm, AlgoVariant a nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_ZLS nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_DOUBLE nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_CHUKWA + nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_CHUKWA_LITE # endif # ifndef XMRIG_NO_SUMO @@ -506,6 +509,7 @@ xmrig::CpuThread::cn_hash_fun xmrig::CpuThread::fn(Algo algorithm, AlgoVariant a nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_ZLS nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_DOUBLE nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_CHUKWA + nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_CHUKWA_LITE # else nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_0 nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_1 @@ -525,6 +529,7 @@ xmrig::CpuThread::cn_hash_fun xmrig::CpuThread::fn(Algo algorithm, AlgoVariant a nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_ZLS nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_DOUBLE nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_CHUKWA + nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_CHUKWA_LITE # endif # ifndef XMRIG_NO_CN_PICO @@ -557,6 +562,7 @@ xmrig::CpuThread::cn_hash_fun xmrig::CpuThread::fn(Algo algorithm, AlgoVariant a nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_ZLS nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_DOUBLE nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_CHUKWA + nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_CHUKWA_LITE # else nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_0 nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_1 @@ -576,6 +582,7 @@ xmrig::CpuThread::cn_hash_fun xmrig::CpuThread::fn(Algo algorithm, AlgoVariant a nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_ZLS nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_DOUBLE nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_CHUKWA + nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_CHUKWA_LITE # endif # ifndef XMRIG_NO_ARGON2 @@ -607,6 +614,18 @@ xmrig::CpuThread::cn_hash_fun xmrig::CpuThread::fn(Algo algorithm, AlgoVariant a argon2_hash_function, argon2_hash_function, argon2_hash_function, + + argon2_hash_function, + argon2_hash_function, + argon2_hash_function, + argon2_hash_function, + argon2_hash_function, + argon2_hash_function, + argon2_hash_function, + argon2_hash_function, + argon2_hash_function, + argon2_hash_function, + # else nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_0 nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_1 @@ -626,6 +645,7 @@ xmrig::CpuThread::cn_hash_fun xmrig::CpuThread::fn(Algo algorithm, AlgoVariant a nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_ZLS nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_DOUBLE nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_CHUKWA + nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, // VARIANT_CHUKWA_LITE # endif };