diff --git a/meson.build b/meson.build index 4ba6113..72510a6 100644 --- a/meson.build +++ b/meson.build @@ -1,5 +1,5 @@ project( 'Warthog Miner (Janushash)', ['c','cpp'], - version : '0.2.0', + version : '0.2.1', default_options : ['warning_level=3', 'cpp_std=c++20']) diff --git a/src/miner/stratum/job.cpp b/src/miner/stratum/job.cpp index 2ee426e..05f8619 100644 --- a/src/miner/stratum/job.cpp +++ b/src/miner/stratum/job.cpp @@ -2,12 +2,14 @@ #include "crypto/hasher_sha256.hpp" #include "general/byte_order.hpp" -std::vector StratumJobGenerator::gen_extra2() const { +std::vector StratumJobGenerator::gen_extra2() const +{ assert(data->_extranonce); - uint32_t e { hton32((*data->_extranonce)++) }; + auto& e_ref(*data->_extranonce); + const uint32_t e { hton32(e_ref++) }; size_t s { data->subscription.extranonce2size }; - std::vector extra2(s); - memcpy(extra2.data(), &e + sizeof(e) - s, s); + std::vector extra2(s, 0); + memcpy(extra2.data() + s - sizeof(e), &e, s); return extra2; }; @@ -19,7 +21,8 @@ Hash StratumJobGenerator::gen_merkle_root(std::vector extra2) const << extra2; } -StratumJob StratumJobGenerator::generate_job() const{ +StratumJob StratumJobGenerator::generate_job() const +{ return StratumJob(*this); } diff --git a/src/miner/verusopt/verus_clhash_opt.cpp b/src/miner/verusopt/verus_clhash_opt.cpp index 99605c4..fd899ba 100644 --- a/src/miner/verusopt/verus_clhash_opt.cpp +++ b/src/miner/verusopt/verus_clhash_opt.cpp @@ -1290,17 +1290,17 @@ inline bool JanusMinerOpt::mine_job(MineResult& res, const CandidateBatch& job, if (janushash < job.targetV2) { std::span s((const uint8_t*)&nonce, 4); - spdlog::info("janushash(header): {}< {}", janushash.to_double(), 1 / job.targetV2.difficulty()); - spdlog::info("header: {}", serialize_hex(header)); - spdlog::info("sha256thash: {}", serialize_hex(dummySha256tHash)); + // spdlog::info("janushash(header): {}< {}", janushash.to_double(), 1 / job.targetV2.difficulty()); + // spdlog::info("header: {}", serialize_hex(header)); + // spdlog::info("sha256thash: {}", serialize_hex(dummySha256tHash)); auto hs { hashSHA256(hashSHA256(hashSHA256(header))) }; - spdlog::info("SHA256(header): {}", serialize_hex(hs)); - spdlog::info("SHA256tFloat: {}", sha256tFloat.to_double()); + // spdlog::info("SHA256(header): {}", serialize_hex(hs)); + // spdlog::info("SHA256tFloat: {}", sha256tFloat.to_double()); CustomFloat hsf { hs }; - spdlog::info("SHA256tFloat2: {}", hsf.to_double()); - spdlog::info("verush(header): {}", serialize_hex(verus_hash(header))); - spdlog::info("verusFloat: {}", verusFloat.to_double()); - spdlog::info("j {}, {}", j, span[j].nonce()); + // spdlog::info("SHA256tFloat2: {}", hsf.to_double()); + // spdlog::info("verush(header): {}", serialize_hex(verus_hash(header))); + // spdlog::info("verusFloat: {}", verusFloat.to_double()); + // spdlog::info("j {}, {}", j, span[j].nonce()); assert(curHash == verus_hash(header)); res.success = Verus::Success { curHash, mined.submit(s) }; return true;