Commit Graph
100 Commits
Author SHA1 Message Date
Duke bdb197278d Bump protocol version 2026-02-17 20:40:03 -05:00
Duke 3a8ffe4cff Reject proofs of work that do not match claimed amount 2026-02-02 18:52:43 -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
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
Duke 1abff7c619 Compile libsodium with -std=gnu17 2025-12-29 23:14:10 -05:00
Duke 61927fd72c Use -std=gnu17 when compiling depends sources and main source file 2025-12-29 22:49:14 -05:00
Duke 8dc516e82f Use -std=gnu17 to compile wolfssl and use all cores to compile 2025-12-29 22:35:22 -05:00
Duke 3b77ddc16e Use C17 standard when compiling bdb to avoid problems with gcc15 which defaults to C23 2025-12-29 22:06:17 -05:00
Duke 6b05141159 We also need to remove this from the generated ./configure script 2025-12-29 21:47:11 -05:00
Duke be036e7013 Try to support gcc 15 in our GMP dependency 2025-12-29 21:26:55 -05:00
Duke 5fdcf49b26 Merge branch 'dev' into danger 2025-12-29 21:21:45 -05:00
Duke 93c0aa0659 Use custom compiler env vars CC/CXX for linux hosts when building 2025-12-29 20:18:01 -05:00
Duke 09f61c2959 Remove unnecessary code that gcc 15 complains about 2025-12-29 19:47:20 -05:00
Duke c01ba48c97 Use custom CC/CXX variables during configure with reasonable defaults 2025-12-29 19:43:30 -05:00
Duke e9b185f702 Allow custom compiler via environment variable for src/cc
The build system supports using CC to control the C compiler
and CXX to control the c++ compiler used but src/cc was hardcoded
to use the binary "gcc". Now it respects the custom value of
$CC environment variable if it exists.
2025-12-29 19:19:18 -05:00
Duke edd856a51a Show autoconf version in build output 2025-12-29 19:14:57 -05:00
Duke 874e89e4f0 Only validate donation zaddrs if donating 2025-12-25 12:08:06 -05:00
Duke 2fd88b65e3 Be clear that 0 and 10 are included as valid donation percentages 2025-12-25 12:07:59 -05:00
Duke 8d688a49a5 Update relnotes 2025-12-20 07:30:08 -05:00
Duke daf697599a Parallelize randomx compile and print some timings
When using "./build.sh -jX" we now pass the number of jobs to use
to the RandomX compilation which greatly speeds it up.
2025-12-10 23:52:11 -05:00
Duke 867ba4159b Avoid ASMap Health Checks if ac_clearnet=0 #475 2025-10-26 09:13:44 -04:00
Duke 5ecd7629ec Make error message more general for any chain 2025-10-26 09:11:07 -04:00
Duke 9177a51b6d Remove getbalance64 #473 2025-10-16 11:14:01 -04:00
Duke d206f28ae1 Update z_shieldcoinbase rpc docs 2025-10-16 01:10:46 -04:00
Duke 37e35854ab Make tests always pass by ensuring there is only 1 coinbase utxo to shield 2025-10-16 01:10:33 -04:00
Duke 6069a49508 WIP donation tests
These tests sometimes fail because sometimes a different amount is shielded (3 vs 3+fee)
which makes the expected amounts of sendAmount and donationAmount incorrect. The code
to calculate donations seems to work correctly but the tests need a bit more improvement.

When the tests pass:
DEBUG:RPC:<-43- {"remainingUTXOs": 1, "remainingValue": "3.00010000", "shieldingUTXOs": 1, "shieldingValue": "3.00000000", "donation": 5, "opid": "opid-868c81ad-885b-42b4-af85-dafa54e695a2"}

When they fail:
DEBUG:RPC:<-43- {"remainingUTXOs": 1, "remainingValue": "3.00000000", "shieldingUTXOs": 1, "shieldingValue": "3.00010000", "donation": 5, "opid": "opid-143309b6-e25a-45d6-9c0c-311f1f61de78"}
2025-10-15 13:26:50 -04:00
Duke 6435cd51a6 Use static_cast when calculating donation and add some debugging 2025-10-15 13:24:08 -04:00
Duke e73251ad92 WIP donation test 2025-10-14 22:29:10 -04:00
Duke fc7aa68203 Refactor donation test now that we are using just one node 2025-10-14 14:24:37 -04:00
Duke 69dadd1128 Better tests; use current drgx block reward and default fee 2025-10-14 13:19:18 -04:00
Duke 42a676d277 Make the shieldcoinbase donation test pass 2025-10-14 12:20:35 -04:00
Duke ebde772ada WIP donation test 2025-10-14 11:52:05 -04:00
Duke 606b28d6ca Improve rpc errors and docs 2025-10-14 11:00:08 -04:00
Duke caf7178ffd Allow donation=0 2025-10-14 10:57:40 -04:00
Duke 75564c82ac Failing test for shielded donation 2025-10-14 04:16:15 -04:00
Duke c3b9b09144 Make rpc error correct for all chains 2025-10-14 03:58:00 -04:00
Duke 61bae5fb7b WIP donation test 2025-10-14 03:49:06 -04:00
Duke 23ef00cfd7 WIP donation test 2025-10-13 18:21:51 -04:00
Duke 1f50e635a0 WIP donation 2025-10-13 15:27:30 -04:00
Duke c078d1606d Merge remote-tracking branch 'origin/dev' into danger 2025-10-13 15:08:19 -04:00
Duke 02a26751bb WIP donation 2025-10-13 15:06:42 -04:00
Duke 2980108cdc Update relnotes 2025-10-13 14:45:10 -04:00
Duke 2f7082c713 Update relnotes 2025-10-13 14:28:54 -04:00
Duke cb81fc3b95 Less noise unless -debug is used 2025-09-24 09:30:33 -04:00
Duke e421dfc6a5 Improve rpc docs of z_listlockunspent 2025-08-23 06:17:32 -04:00
Duke a555f64ad9 Has the sleeper awakened? 2025-08-22 21:26:05 -04:00
Duke aa69b87505 These are unrelated to ztxs and should be -debug 2025-08-22 21:21:15 -04:00
Duke 04ec2be8c8 Add fullyNotified to getblockchaininfo and use it in tests 2025-08-22 13:17:36 -04:00
Duke 727f4d9a29 Sleep as a hack for lacking fullyNotified in some places 2025-08-22 11:33:13 -04:00
Duke 34829af017 Avoid coredump if witness index does not exist 2025-08-22 07:34:11 -04:00
Duke fb7d669f14 Remove commented out code 2025-08-22 07:09:15 -04:00
Duke 4ef3554307 Update authproxy 2025-08-22 06:47:27 -04:00
Duke 7e3ce02d87 Bring back sorting notes descending by value which was in find_unspent_notes() 2025-08-22 06:16:25 -04:00
Duke ae170e9899 Spendable notes are now locked and 1159 seems to be an irrelevant upstream issue 2025-08-22 05:43:21 -04:00
Duke 90f00ac8a4 cleanup 2025-08-21 17:05:16 -04:00
Duke eb4fc52273 lockzins test finally passes because z_sendmany correctly locks notes now 2025-08-21 16:59:33 -04:00
Duke 8148c4f625 More test logging 2025-08-21 16:26:55 -04:00
Duke fcd939978f More verbose logging in lockzins test 2025-08-21 16:15:11 -04:00
Duke d73c1b86e4 Log amount if negative change happens 2025-08-21 16:14:47 -04:00
Duke 6e029a62ac Remove unused header inclusion 2025-08-21 16:14:23 -04:00
Duke 564ff0cb3a Update test_framework.py from upstream which fixes #476 2025-08-21 16:13:52 -04:00
Duke a719e05be4 Add output index to z_listlockunspent 2025-08-21 02:00:19 -04:00
Duke 7c434ba030 Log calls to GetFilteredNotes and only warn when witness root is actually invalid 2025-08-21 01:59:20 -04:00
Duke b0cbcc6152 Unlock notes+utxos earlier 2025-08-21 01:57:42 -04:00
Duke bf55e6daa5 Avoid useless warnings in tests 2025-08-21 01:56:53 -04:00
Duke 80f48a9338 Run z_listlockunspent in tests so we can see which notes are locked 2025-08-21 01:56:24 -04:00
Duke cae942a5c9 z_listlockunspent 2025-08-20 15:15:36 -04:00
Duke c6892b950b Merge branch 'dev' into lockzins 2025-08-13 01:19:34 -04:00
Duke bd9dc4d190 A test for lockzins branch which currently fails on dev branch 2025-08-13 01:13:10 -04:00
Duke 5d31a77036 Do not throw exception during syncing on regtest 2025-08-12 23:57:27 -04:00
Duke 45f2e6b134 Remove unused code 2025-08-12 23:39:26 -04:00
Duke 0f18946630 Add lockzins test 2025-08-12 23:30:06 -04:00
Duke 465fe58e6a ./test.sh now runs successfully and we can now write RPC tests 2025-08-12 22:17:18 -04:00
Duke c8e1b598bc Update authproxy.py to python3 version from upstream 2025-08-12 17:23:46 -04:00
Duke fb062d2849 Work towards getting RPC tests working again
So much has changed since I originally got the RPC tests working many years ago,
most notably modern Linux distros don't even have a way to install python2 via
packages, you have to install from source. Continuing with python2 does not seem
like a good idea, so we begin migrating thigns to Python 3.

Currently running ./test.sh will successfully spin up a test chain but then
the test suite crashes when attempting to send an RPC request, which looks
to be caused by the test suite internals still expecting python2.
2025-08-12 17:19:04 -04:00
Duke 37fe953ea4 Add more to debian example config 2025-08-12 13:49:27 -04:00
Duke 0cd2bafa3a Remove unused CLI options and update debian example config 2025-08-12 13:37:44 -04:00
Duke bd52fc5ee6 Try harder to avoid selecting locked notes to spend 2025-08-11 09:36:45 -04:00