Fourth phase of the code-hygiene remediation, addressing the ~1,082 stray
fprintf(stderr)/printf debug calls so consensus and hot paths stop spewing
to stderr/stdout. Done per-file (18 files) with conservative rules; the tree
builds clean, self-mines, and `verifychain` re-validates the whole chain
(pow/txdb/coins/miner paths) with -debug=1 enabling every converted line —
zero tinyformat/format-arg exceptions.
Net across 18 files: 174 commented-out debug lines deleted, 173 unconditional
live prints converted to LogPrint("<cat>",...)/LogPrintf (net/mining/pow/nspv/
zrpc categories, format strings + args preserved exactly), 40 pure-noise or
sensitive prints deleted, and 194 calls DELIBERATELY LEFT (already behind
fDebug/fZdebug guards, or genuine startup/fatal-error output that must reach
the console before logging init).
Notable:
- Deleted sensitive success-path dumps (nSPV SIG_TXHASH + full tx input/
output/change amounts; kvupdate privkey/pubkey hex) that were writing key
and amount material straight to stderr/stdout.
- Removed the raw 32-byte target hex dumps in the zawy adaptive-PoW helpers
and the legacy one-shot `if(height==340000)` HUSH artifact in pow.cpp.
- Converted per-tx relay + ban/banlist (net), per-setgenerate MININGTHREADS
(rpc/mining), signrawtransaction TXPOW, and per-message nSPV traces.
- Left format/arg-mismatched lines untouched (flagged) to avoid introducing
tinyformat runtime throws.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
These NU's are always active for Hush Arrakis Chains so this code only serves
to slow down all operations by constantly being checked. So we disable them
which will speed up syncing, mining and creating transactions.
Any projects which want to use Hush code from now on will need to be licensed as
GPLv3 or we will send the lawyers: https://www.softwarefreedom.org/
Notably, Komodo (KMD) is licensed as GPLv2 and is no longer compatible to receive
code changes, without causing legal issues. MIT projects, such as Zcash, also cannot pull
in changes from the Hush Full Node without permission from The Hush Developers,
which may in some circumstances grant an MIT license on a case-by-case basis.
- Remove adding txfee inputs for gateways claim
- FULLNODE and SUPERLITE macros
- Filter SetCCtxids with txid from oprert
- Fix for nServices of fullnode
- Use SetCCtxids_nSPV for some more CCs
- Fix addnormalinputs and add checking if utxo spent in mempool
- allowing create OP_RETURN vouts (field "data" in "outputs" json)
- allowing using script (hex), in "outputs" (for example, you can use any P2PK, P2PKH or P2SH script as destination)
- advanced duplicates checking (users can't use same destination in various forms, for example, you can't make one vout as address and second vout, same address, but coded with P2PK script)
- allowing to bypass duplicates check for notaries (for example, to manually create splitfunds txes, using daemon RPC only), for common users it's forbidden
Useful usage:
Don't forget that you can create raw transaction with empty vins, like
createrawtransaction "[]" "{\"RKZWgNw9rvMJCHeD6mFgFNrJGxCoT2bft1\":0.777}"
and then fund it (with vins) using fundrawtransaction.
Duplicates testing vectors (passed):
createrawtransaction "[]" "{\"RKZWgNw9rvMJCHeD6mFgFNrJGxCoT2bft1\":0.777,\"2102c42516ab9b0958f349783222c8b665314ce0f12ae513af1c15e10e8045b87544ac\":0.01}"
createrawtransaction "[]" "{\"76a91470c770cd22061696c01011a020892d136caba70588ac\":0.777,\"2102c42516ab9b0958f349783222c8b665314ce0f12ae513af1c15e10e8045b87544ac\":0.01}"
createrawtransaction "[]" "{\"2102c42516ab9b0958f349783222c8b665314ce0f12ae513af1c15e10e8045b87544ac\":0.777,\"76a91470c770cd22061696c01011a020892d136caba70588ac\":0.01}"
createrawtransaction "[]" "{\"data\":\"010203\",\"76a91470c770cd22061696c01011a020892d136caba70588ac\":0.01}"
createrawtransaction "[]" "{\"RKZWgNw9rvMJCHeD6mFgFNrJGxCoT2bft1\":0.777,\"76a91470c770cd22061696c01011a020892d136caba70588ac\":0.01}"
createrawtransaction "[]" "{\"76a91470c770cd22061696c01011a020892d136caba70588ac\":0.777,\"RKZWgNw9rvMJCHeD6mFgFNrJGxCoT2bft1\":0.01}"
createrawtransaction "[]" "{\"76a91470c770cd22061696c01011a020892d136caba70588ac\":0.777,\"a914fe6ac2ca169440909ab86e2e015db0938b92634787\":0.01}"
createrawtransaction "[]" "{\"76a91470c770cd22061696c01011a020892d136caba70588ac\":0.777,\"a914fe6ac2ca169440909ab86e2e015db0938b92634787\":0.01,\"a914fe6ac2ca169440909ab86e2e015db0938b92634787\":0.02}"
createrawtransaction "[]" "{\"76a91470c770cd22061696c01011a020892d136caba70588ac\":0.777,\"a914fe6ac2ca169440909ab86e2e015db0938b92634787\":0.01,\"data\":\"00010203\"}"