Commit Graph
127 Commits
Author SHA1 Message Date
DanSandClaude Opus 4.8 4caf2fc68f Add BIP39 seed phrases (SilentDragonXLite-compatible) and HD transparent keys
Derive transparent (t-addr) keys from the HD seed and add BIP39 mnemonic seed
phrases that are byte-for-byte compatible with SilentDragonXLite, so the same
24 words recover the same shielded and transparent addresses in either wallet.

HD transparent keys:
- Derive t-keys from the seed at m/44'/coin'/0'/0/i (were random CKeys).
- CHDChain gains a version-gated transparent counter; existing wallets load
  unchanged. GenerateNewKey routes through DeriveNewChildKey when enabled
  (-hdtransparent, default on).
- Restore from a seed hex via -hdseed with gap-limit pre-derivation; birthday
  pinned to genesis so the rescan is not clipped.

BIP39 seed phrases:
- Wire the vendored trezor BIP39 lib (src/crypto/bip39) into the build, fix its
  BIP39_WORDS guard, and disable the insecure mnemonic cache.
- Match SDXLite exactly: English wordlist, empty passphrase, PBKDF2 64-byte
  seed, coin type 141, ZIP-32 m/32'/141'/i' and BIP44 m/44'/141'/0'/0/i. Store
  the 32-byte entropy and expand to the 64-byte seed on demand.
- Restore via -mnemonic, create via -usemnemonic, reveal via z_exportmnemonic.

Verified by gtests including a known-answer BIP39 seed vector and z/t address
derivation checks (src/gtest/test_hdtransparent.cpp, test_mnemonic_compat.cpp).
Docs in doc/hd-transparent-keys.md and doc/seed-phrase.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-06 01:57:18 -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
jahway603 4a3c335050 minor QA changes 2024-03-04 08:57:14 -05:00
onryo 58b65f9670 Update copyrights 2024-02-27 23:59:59 +01:00
Duke e033a2e6eb Update copyrights to 2023 2023-02-09 18:06:03 -05:00
zanzibar 512da314a5 BIP155 (addrv2)
Tor v3 + i2p
2023-01-06 15:23:22 +00:00
Jonathan "Duke" Leto 1e40d2711d Add copyright to files missing Hush copyright lines 2022-09-21 08:59:19 -07:00
Jonathan "Duke" Leto 5d2307a709 Update copyrights to 2022 2022-09-19 15:45:30 -07:00
Duke Leto b713f43487 Clean up dead code and cruft 2021-09-01 14:46:53 -04:00
Duke Leto 4a536d62dc Update copyrights 2021-04-17 13:03:22 -04:00
Duke Leto b58c15b9fb update copyrights 2020-12-10 07:45:36 -05:00
Duke Leto 609b223e90 Hush Equihash (N,K) implementation 2020-12-04 20:47:28 -05:00
Duke Leto 8a5130713d Hush them headers 2020-12-04 09:49:56 -05:00
Duke Leto be16f80abc Hush Full Node is now GPLv3
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.
2020-10-21 07:28:10 -04:00
miodragpop 56d9c00749 asmap bucketing ported from Komodo 2020-10-02 11:10:26 +02:00
Duke Leto a7f88a87aa Update copyright URL to be https 2020-09-20 13:17:38 -04:00
Duke Leto 6fec2f8fe0 Merge pull request #131 from MyHush/danger
Update Hush emission schedule code
2020-09-18 14:06:43 -07:00
Duke Leto a45ee31765 Add a static makefile for now 2020-09-11 10:30:56 -04:00
Duke Leto 7ae5a565d5 Add a bunch of things required by bip39 dependencies 2020-09-11 10:30:01 -04:00
Duke Leto 514348c427 Add various bip39 and base32/base58 stuff 2020-09-11 10:29:00 -04:00
Duke Leto 650498ec27 bip39 updates + tweaks 2020-09-11 10:27:14 -04:00
Jonathan "Duke" Leto 820a48bb73 Add trezor bip39 code 2020-09-04 22:50:23 -07:00
Jonathan "Duke" Leto b3ff90ed6f Add constant time AES routines 2020-09-04 22:29:28 -07:00
jahway603 8558fa1c8d Added stdexcept to src/crypto/equihash.h to enable compiling hush3 in Arch Linux with gcc 10 2020-08-11 23:44:28 -04:00
Duke Leto 85b3f1ef50 Update common.h 2019-12-24 06:52:39 -05:00
Duke Leto cb9f9a07df Delete Haraka which was only used by VerusHash 2019-12-23 23:17:26 -05:00
Duke Leto 32258ee7ed Add SHA256 sse4 implementation 2019-11-27 23:40:37 -05:00
Duke Leto 5b269c1922 Port optimized SHA256 SSE4 routines from KMD+BTC upstream 2019-11-27 20:38:36 -05:00
Duke Leto 7965ffc299 I think he does not like it, Mikey 2019-11-04 08:25:13 -05:00
jl777 3070b90746 Merge branch 'FSM' into patch-osx-gcc8-static 2019-05-27 04:18:27 -11:00
DeckerSU 45aecd9c3c osx: switch to gcc-8 static build 2019-05-24 11:36:20 +03:00
blackjok3r 18854e2af7 ac_nk params 2019-04-17 13:42:02 +08:00
DeckerSU a6e7da55e2 fix gcc-8 / g++-8 build 2019-01-26 03:09:54 +03:00
miketout 8a727a26a7 Beginning of N@S solution using CoinbaseGuard CC 2018-10-02 19:49:54 -07:00
miketout 9feb4b9e08 Major updates integration from all upstreams 2018-09-18 14:33:53 -07:00
miketout ffda33998f Add fix to remove KMD coinbase check with pool fee workaround at block 227520 (~Oct 28th) 2018-08-30 19:40:07 -07:00
Michael Toutonghi 17d0160a17 Cleanup nonce changes 2018-07-20 19:57:46 -07:00
Michael Toutonghi 9ec211d18b use portable load_constants 2018-07-06 14:16:25 -07:00
Michael Toutonghi 4dcb64c081 Radical hash rate optimization 2018-06-26 07:39:50 -07:00
Michael Toutonghi 5296a85018 Portable VerusHash and CPU check 2018-06-16 14:51:13 -07:00
Michael Toutonghi c6e2184378 post launch release readiness 2018-05-27 19:59:23 -07:00
David Dawes 52cf66e138 Add conditional compiulation for Windows fix. 2018-05-24 20:28:26 -07:00
Michael Toutonghi 1fae37f6bf Working proof of stake with new algorithm 2018-05-15 00:54:18 -07:00
Michael Toutonghi 1f722359c1 Verus Proof of Stake Compete with Additional ant-fork protection on block 1 2018-05-13 18:59:06 -07:00
Homu 8ef1d333b5 Auto merge of #2894 - per-gron:dont-export-unless-needed, r=str4d
Make some globals static that can be

I wrote this patch as part of making a Bazel build system but it really is independent from that so I'm putting this as a separate PR.

External linkage does not help and just encourages sloppy dependencies (ie using symbols only declared in a cpp file in some other cpp file) and can lead to weird issues when there are name collisions.
2018-05-04 15:05:43 -07:00
miketout a0dd01bc50 Bug fixes in hash algorithm, parameters, and time lock support 2018-04-28 15:05:20 -07:00
miketout 42181656c2 Implementation of VerusHash CPU-friendly hash algorithm, parameters to enable it, miner, and all changes required to support it on new asset chains 2018-04-27 00:34:50 -07:00
Pieter Wuille 0b6594f444 Avoid unaligned access in crypto i/o 2018-04-17 09:15:55 -07:00
jl777 9000990c30 Merge remote-tracking branch 'zcash/master' into rebase2
# Conflicts:
#	.travis.yml
#	Makefile.am
#	README.md
#	configure.ac
#	depends/Makefile
#	depends/builders/darwin.mk
#	depends/funcs.mk
#	depends/hosts/darwin.mk
#	depends/packages/googlemock.mk
#	depends/packages/googletest.mk
#	depends/packages/libsnark.mk
#	depends/packages/libsodium.mk
#	depends/packages/packages.mk
#	depends/packages/rust.mk
#	src/Makefile.am
#	src/Makefile.gtest.include
#	src/chainparams.cpp
#	src/chainparams.h
#	src/checkpoints.h
#	src/clientversion.h
#	src/coins.cpp
#	src/consensus/consensus.h
#	src/gtest/test_mempool.cpp
#	src/httprpc.cpp
#	src/init.cpp
#	src/komodo-tx.cpp
#	src/main.cpp
#	src/miner.cpp
#	src/policy/fees.cpp
#	src/policy/fees.h
#	src/rpcmining.cpp
#	src/rpcrawtransaction.cpp
#	src/rpcserver.cpp
#	src/test/policyestimator_tests.cpp
#	src/test/rpc_wallet_tests.cpp
#	src/test/transaction_tests.cpp
#	src/txdb.cpp
#	src/txmempool.cpp
#	src/wallet/asyncrpcoperation_sendmany.cpp
#	src/wallet/rpcwallet.cpp
#	src/wallet/wallet.cpp
#	src/wallet/wallet.h
#	src/zcash/CreateJoinSplit.cpp
#	zcutil/build.sh
2018-03-25 18:44:38 +03:00
Per Grön 39d2e9e0cb Make some globals static that can be
External linkage does not help and just encourages sloppy dependencies
and can lead to weird issues when there are name collisions.
2018-01-22 18:20:47 +01:00