hygiene: Phase 5 — correct stale comments + name safe magic numbers
Fifth phase of the code-hygiene remediation, done per-file (18 files) via an 18-agent Workflow with strict guardrails. No consensus or security VALUES changed (verified: pow/hush_utils/hush_bitcoind/net.h/crypter/stratum have zero non-comment numeric changes); built clean, self-mined, verifychain=true. Totals: 57 stale comments corrected, 46 user-facing branding fixes, 6 behavior-preserving named constants, 4 stratum warnings, 77 items deliberately left (consensus/security values, copyright headers). - Stale comments -> DragonX: corrected HUSH3/HUSH/Komodo/Equihash/Arrakis leftovers that misdescribed the active chain (pow AWT/lwma notes, txdb "Equihash solution" -> RandomX, wallet CLTV/overwinter/Sapling@1 notes, util datadir provenance, crypter's stale mapSproutSpendingKeys invariant). Replaced unprofessional/editorializing comments (profane TODOs, "developers are elite") with neutral technical notes, preserving the real design info. - User-facing branding: dumpwallet header "created by Hush" -> "DragonX"; RPC help text hushd/hush-cli/hushprivkey/hushaddress/Agama -> dragonx*; rebranded provably-dead "HUSH3" symbol-fallback literals to DRAGONX. - Named constants (same values, non-consensus/non-security): addrman peer-selection factors (kChanceFactorGrowth/kChanceScale/deprioritize), sietch MIN_ZOUTS, an init notarization-DB cache size. - Left the security macros (ECC/TFM_TIMING_RESISTANT=420, comment-clarified only), the consensus subsidy/commission literals + 128/129 TRANSITION (comment only), and copyright headers untouched. - Added a prominent WARNING that the stratum server is Equihash-era and NOT updated for DragonX's RandomX PoW (flagged, not rewritten). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
+11
-4
@@ -414,7 +414,10 @@ unsigned int GetNextWorkRequired(const CBlockIndex* pindexLast, const CBlockHead
|
||||
|
||||
// Changing this requires changing many other things and
|
||||
// might change consensus. Have fun -- Duke
|
||||
// NOTE: Ony HUSH3 mainnet should use this function, all HAC's should use params.AveragigWindowTimespan()
|
||||
// NOTE: This hardcoded AWT is legacy from the original HUSH3 mainnet. On DragonX the
|
||||
// CalculateNextWorkRequired strncmp(SMART_CHAIN_SYMBOL,"HUSH3",...) check is never true
|
||||
// (SMART_CHAIN_SYMBOL is "DRAGONX"), so this function is dead here and the params-derived
|
||||
// AveragingWindowTimespan() is used instead. Kept as-is to avoid a consensus change.
|
||||
int64_t AveragingWindowTimespan() {
|
||||
// used in const methods, beware!
|
||||
// This is the correct AWT for 75s blocktime, before block 340k
|
||||
@@ -432,8 +435,11 @@ unsigned int CalculateNextWorkRequired(arith_uint256 bnAvg,
|
||||
int64_t nActualTimespan = nLastBlockTime - nFirstBlockTime;
|
||||
LogPrint("pow", " nActualTimespan = %d before dampening\n", nActualTimespan);
|
||||
|
||||
// Legacy branch: the original HUSH3 mainnet used the hardcoded AveragingWindowTimespan()
|
||||
// above; every other chain uses the params-derived value. On DragonX the symbol is
|
||||
// "DRAGONX", so this comparison is always false and the params value is used. The check is
|
||||
// kept (rather than removed) because it is part of consensus difficulty calculation.
|
||||
bool ishush3 = strncmp(SMART_CHAIN_SYMBOL, "HUSH3",5) == 0 ? true : false;
|
||||
// If this is HUSH3, use AWT function defined above, else use the one in params
|
||||
int64_t AWT = ishush3 ? AveragingWindowTimespan() : params.AveragingWindowTimespan();
|
||||
|
||||
nActualTimespan = AWT + (nActualTimespan - AWT)/4;
|
||||
@@ -481,8 +487,9 @@ unsigned int CalculateNextWorkRequired(arith_uint256 bnAvg,
|
||||
return bnNew.GetCompact();
|
||||
}
|
||||
|
||||
// HUSH does not use these functions but Hush Arrakis Chains can opt-in to using more bleeding edge DAA's
|
||||
// ASIC chains do not need these protections as much -- Duke Leto
|
||||
// These LWMA difficulty functions are inherited from the Hush lineage and are only used when
|
||||
// ASSETCHAINS_ALGO is neither Equihash nor RandomX (see the dispatch in GetNextWorkRequired).
|
||||
// DragonX uses RandomX, so this LWMA path is not on DragonX's active difficulty codepath.
|
||||
unsigned int lwmaGetNextWorkRequired(const CBlockIndex* pindexLast, const CBlockHeader *pblock, const Consensus::Params& params)
|
||||
{
|
||||
return lwmaCalculateNextWorkRequired(pindexLast, params);
|
||||
|
||||
Reference in New Issue
Block a user