Commit Graph

32023 Commits

Author SHA1 Message Date
c05134e77e Compliant rebrand: legal compliance, code audit, and documentation (Phases 0-3)
Phase 0 - Legal Compliance:
- COPYING: Add DragonX copyright, preserve all upstream attributions
- AUTHORS: Add DragonX developers section
- LICENSE: Restore standard FSF GPLv3 text (fix GNU→GENERAL error)
- Add DragonX copyright headers to all 21 modified source files
- contrib/debian/copyright: Add DragonX attribution
- README.md: Add GPLv3 Section 5(a) attribution section

Phase 1 - init.cpp Cleanup:
- PID file: hushd.pid → dragonxd.pid
- Shutdown thread: hush-shutoff → dragonx-shutoff
- Debug message: stopping HUSH → stopping DragonX

Phase 2 - HUSH3/ishush3 Code Audit:
- Rename ishush3 → isdragonx across ~15 source files
- Update "HUSH3" chain-identity checks to "DRAGONX" in consensus,
  difficulty, notarization, devtax, and RPC code
- Intentionally preserve cross-chain "HUSH3" refs (gateway, notary dest)
- Build verified: all three binaries compile cleanly

Phase 3 - Documentation:
- README.md: Full rewrite with DragonX chain params, build instructions
- Man pages: Create dragonxd.1, dragonx-cli.1, dragonx-tx.1 (v1.0.0)
- Doc files: Add beefy-DRAGONX.conf, dragonxd-systemd.md, dragonxd.service
- Init scripts: Create dragonxd.{conf,init,openrc,openrcconf,service}
- Debian packaging: Update control, changelog, install, manpages, examples
- Update doc/init.md and contrib/init/README.md
2026-03-03 19:01:24 -06:00
4cb5a86056 Rebrand hush3 to DragonX: binaries, defaults, and build system
- Rename binaries: hushd/hush-cli/hush-tx → dragonxd/dragonx-cli/dragonx-tx
- Default to DRAGONX chain params without -ac_* flags (randomx, blocktime=36, private=1)
- Update configure.ac: AC_INIT([DragonX],[1.0.0])
- Update client version string and user-agent to /DragonX:1.0.0/
- Add chainparams.cpp with DRAGONX network parameters
- Update build.sh, miner.cpp, pow.cpp for DragonX
- Add bootstrap-dragonx.sh utility script
- Update .gitignore for release directory
2026-03-03 17:29:06 -06:00
d6ba1aed4e Fix RandomX validation exploit: verify nSolution contains valid RandomX hash
- Add CheckRandomXSolution() to validate RandomX PoW in nSolution field
- Add ASSETCHAINS_RANDOMX_VALIDATION activation height per chain
  (DRAGONX: 2838976, TUMIN: 1200, others: height 1)
- Add CRandomXInput serializer for deterministic RandomX hash input
- Fix CheckProofOfWork() to properly reject invalid PoW (was missing
  SMART_CHAIN_SYMBOL check, allowing bypass)
- Call CheckRandomXSolution() in hush_checkPOW and CheckBlockHeader

Without this fix, attackers could submit blocks with invalid RandomX
hashes that passed validation, as CheckProofOfWork returned early
during block loading and the nSolution field was never verified.
2026-03-03 17:28:49 -06:00
Duke
7e1b5701a6 Merge branch 'dev' 2026-03-02 12:10:02 -05:00
Duke
4cbad44688 Update debian changelog 2026-03-02 12:08:19 -05:00
Duke
876c32ed1f Add ac_clearnet to relnotes 2026-03-02 12:00:35 -05:00
Duke
f889ded55e Update release process doc 2026-03-02 11:51:48 -05:00
Duke
07738d75ab Update man pages for 3.10.5 2026-03-02 11:49:27 -05:00
Duke
04916cdf57 update release process doc 2026-03-02 11:43:31 -05:00
Duke
0d139e0bdc Update relnotes and release process doc 2026-03-02 11:41:19 -05:00
Duke
4c86d11b13 Update relnotes 2026-02-28 12:18:38 -05:00
Duke
978d4d739b Ignore configure backups 2026-02-28 12:13:06 -05:00
Duke
f8136f5839 DragonX has left the nest 2026-02-28 12:12:45 -05:00
Duke
8e6cf9759d Revert "Bump protocol version"
This reverts commit bdb197278d.
2026-02-18 09:13:48 -05:00
Duke
bdb197278d Bump protocol version 2026-02-17 20:40:03 -05:00
duke
f26f27656a Set a mainnet donation zaddr for z_shieldcoinbase 2026-02-11 11:11:50 -05:00
fekt
cf9bacf4e7 Update Hush checkpoints to 2493000 2026-02-11 02:13:27 +00:00
fekt
008f80bbd9 Bump version and protocol version 2026-02-11 01:28:06 +00:00
fekt
8e32f2c629 Merge pull request 'Reject proofs of work that do not match claimed amount' (#484) from dev-mining into dev
Reviewed-on: https://git.hush.is/hush/hush3/pulls/484
2026-02-10 20:15:22 -05:00
Duke
3a8ffe4cff Reject proofs of work that do not match claimed amount 2026-02-02 18:52:43 -05:00
jahway603
8d1865d99e Merge pull request 'Updated asmap.dat to use 1764864000_asmap_unfilled.dat from upstream commit 17f2e06cf62df7c4455492692b92cfb685d1d7f7' (#482) from jahway603 into dev
Reviewed-on: https://git.hush.is/hush/hush3/pulls/482
2026-01-06 09:16:03 -05:00
jahway603
e246ad6be5 Updated Debian Package control file to include cmake 2026-01-06 09:13:46 -05:00
jahway603
e740d6fee7 Added web versions of our unix manpages for hushd and hush-cli 2026-01-05 09:13:57 -05:00
jahway603
ece8f3b171 Updated asmap.dat to use 1764864000_asmap_unfilled.dat from upstream commit 17f2e06cf62df7c4455492692b92cfb685d1d7f7 2026-01-02 08:58:01 -05:00
jahway603
61e4d69d05 Merge remote-tracking branch 'origin/dev' into jahway603 2026-01-02 08:19:37 -05:00
Duke
ce1e2312bd Ignore test suite outputs 2026-01-01 15:49:14 -05:00
Duke
82cad1f90b Remove unused code 2026-01-01 15:24:57 -05:00
Duke
1001fa2e5d Remove some sprout-specific tests 2026-01-01 15:24:57 -05:00
Duke
cb1c257b50 Add "test" to run Hush tests
This replaces the hack that was test.sh with a more extensible and less hackish
test script.

To run the tests just run "./test" . By default it shows all RPCs called via
the "--tracerpc" flag. If you want to set custom test flags you can do

TEST_FLAGS="--elite-test-flag --foo" ./test

Currently we are only running lockzins.py and shieldcoinbase_donation.py tests
which are hardcoded. The plan is to allow custom sets of tests to be run with
this script.
2026-01-01 15:24:57 -05:00
Duke
38c1251ab6 Remove unused code 2025-12-30 23:11:12 -05:00
Duke
523444f934 Remove unused code 2025-12-30 22:40:34 -05:00
Duke
ffa1378725 We do not need to check for sprout-related bugs in sodium since we do not use these functions #480 2025-12-30 16:43:13 -05:00
Duke
7a029528b7 Remove unused sprout test code that uses libsodium functions that we no longer use 2025-12-30 16:38:42 -05:00
Duke
2b8c68a7aa Remove unused code 2025-12-30 16:15:24 -05:00
Duke
c35c228358 Make sure CC and CXX have default values when compiling deps 2025-12-30 15:44:48 -05:00
Duke
4be65be9e4 Merge branch 'danger' into dev 2025-12-30 13:48:14 -05:00
Duke
55c3f78dca Remove gmp as a dependency since we don't actually use it
Long ago our code actually used gmp directly but that is no longer the case.
Our dependency secp256k1 has an optional dependency on gmp but the way we
configure and compile secp256k1 does not use it. So there is no reason
to download and compile gmp in our build system. This means we no longer
need to maintain three different forks of GMP (one for Darwin, one for Win and
one for Linux that supports gcc15). This also makes downloading and compiling
Hush faster. Joy to the world.
2025-12-30 13:42:08 -05:00
jahway603
afe5cb361a Merge branch 'dev' into jahway603 2025-12-30 09:32:43 -05:00
Duke
44f096fd79 Merge remote-tracking branch 'origin/danger' into dev
Conflicts:
	util/build.sh
2025-12-30 03:46:08 -05:00
Duke
437a229c97 bdb requires -fPIE to link correctly 2025-12-30 03:41:06 -05:00
Duke
c1c5da11bd CXXFLAGS 2025-12-30 02:59:40 -05:00
Duke
efbaff9d89 Wolfssl uses a typedef called 'byte' which is no longer allowed in gcc15 2025-12-30 02:37:40 -05:00
Duke
79d8e9913a Remove unused variable 2025-12-30 02:02:24 -05:00
Duke
79230c41ab CFLAGS 2025-12-30 01:54:09 -05:00
Duke
50a4107f08 CFLAGS 2025-12-30 01:26:09 -05:00
Duke
017d0eeae5 CFLAGS 2025-12-30 00:37:21 -05:00
Duke
f6364c9ec6 CFLAGS 2025-12-29 23:35:22 -05:00
Duke
aba63b44a1 Set CCFLAGS not CPPFLAGS 2025-12-29 23:30:08 -05:00
Duke
7b14d1a00b Set CCFLAGS not CPPFLAGS 2025-12-29 23:28:30 -05:00
Duke
996f7c6d4a Do not build googletest since we do not currently compile the tests that use this dep 2025-12-29 23:24:00 -05:00