Commit Graph

16997 Commits

Author SHA1 Message Date
Kris Nuttycombe cc34f4f9ba
Merge pull request #6207 from sellout/fix-release-script
Check dependency updates on the correct branch
2022-10-20 09:46:53 -06:00
Kris Nuttycombe 5e05f060ef
Merge pull request #6208 from zcash/5.3.0-dependency_updates
Update to released versions of librustzcash crates.
2022-10-20 09:33:24 -06:00
Kris Nuttycombe 16c49a844e Fix clippy lints. 2022-10-20 08:35:29 -06:00
Kris Nuttycombe 06a1c78941 Certify librustzcash crate upgrades. 2022-10-20 08:35:29 -06:00
Kris Nuttycombe 741e6b1108 Update to released versions of librustzcash crates. 2022-10-20 08:35:29 -06:00
Greg Pfeil 65d04eed60 Check dependency updates on the correct branch
Previously make-release.py checked dependency updates before checking out the
commit to be released. This could be annoying if the release branch had
everything up-to-date, but you ran the script from a different branch. Worse,
you could accidentally update the dependencies on your original branch, and have
it pass the release process with outdated dependencies.
2022-10-19 14:50:46 -06:00
Daira Hopwood 66ee214954
Merge pull request #6206 from zcash/5.3.0-dependency_updates
Update and/or postpone dependencies for 5.3.0
2022-10-19 21:00:58 +01:00
Kris Nuttycombe 2f734ce6ea Vet cxxbridge upgrade. 2022-10-19 12:21:37 -06:00
Kris Nuttycombe 05110068d9 Update and/or postpone dependencies for 5.3.0 2022-10-19 10:09:03 -06:00
Daira Hopwood a6141281d4
Merge pull request #6201 from sellout/fix-disable-wallet
Fix building with --disable-wallet
2022-10-19 07:36:23 +01:00
Greg Pfeil a9528ca0a3
Merge pull request #6204 from sellout/fix-zcashd-help
Fix broken `zcashd --help`
2022-10-18 14:53:52 -06:00
Greg Pfeil dd7b8b580f Don’t define wallet-needing code when --disable-wallet
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-10-18 13:52:04 -06:00
Greg Pfeil 669a1b9ba0 Qualify a `string`
This only gets triggered with `./configure --disable-wallet`, but clang
complains about this unqualified identifier.
2022-10-18 13:52:04 -06:00
Greg Pfeil 04d314d067 Apply suggestions from code review
Co-authored-by: Kris Nuttycombe <kris.nuttycombe@gmail.com>
2022-10-18 13:43:14 -06:00
Greg Pfeil fa494a10a1 Fix `zcashd --help`
When I cleaned up the debug log reporting, I included the path to the debug log
in the help message, which unfortunately required the base params to be
loaded. They don’t get loaded before the help message (and they shouldn’t), so
this caused an assertion failure.

The fix is to use “debug log” in the help message, rather than the path to the
actual debug log. This is the right thing to do, because the help message
explains how to set the path to the debug log, so the literal path when run with
`--help` would possibly not be the correct one at runtime.

Fixes #6184.
2022-10-18 13:42:02 -06:00
Greg Pfeil 5c19487991 Add test for `zcashd --help`
Currently failing.
2022-10-18 13:42:02 -06:00
Daira Hopwood 774fa691aa Always use a tuple as right argument of % in new Python code.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-10-18 13:42:02 -06:00
Greg Pfeil 1e480d2b4d Address review feedback and fixed test failures
Some tests were checking error message strings, but the check was still
hardcoded to “bitcoind”.
2022-10-18 13:42:02 -06:00
Greg Pfeil 8cb655c3ff Fix display of binary name in error messages.
Ensures that test failures report the name of the actual binary that was run.
2022-10-18 13:42:02 -06:00
str4d cb8c2eec84
Merge pull request #6198 from zcash/release-v5.3.0-rc1
Release v5.3.0-rc1
2022-10-12 02:54:40 +01:00
Greg Pfeil ebea82c96c
Merge pull request #6165 from sellout/rpc-tests-binary-name
Fix display of binary name in error messages.
2022-10-11 16:25:51 -06:00
Jack Grigg 2b28a56c27 make-release.py: Updated release notes and changelog for 5.3.0-rc1. 2022-10-11 11:30:02 +00:00
Jack Grigg 4f03ebb2a5 make-release.py: Updated manpages for 5.3.0-rc1. 2022-10-11 11:30:01 +00:00
Jack Grigg 78d23a2a96 make-release.py: Versioning changes for 5.3.0-rc1. 2022-10-11 11:17:23 +00:00
Jack Grigg 4871fba26a rust: Update remaining dependencies
The audit exemptions have been regenerated for these dependencies.
2022-10-11 10:13:41 +00:00
Jack Grigg 2477ef9c4b rust: Audit some dependency updates 2022-10-11 05:08:07 +00:00
Daira Hopwood 7788afcf54 Always use a tuple as right argument of % in new Python code.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-10-10 20:50:59 +01:00
Jack Grigg 13657342c8 qa: Recommend cargo-upgrades instead of cargo-outdated
Closes zcash/zcash#6090.
2022-10-10 19:05:51 +00:00
Jack Grigg 9a69c2b01e rust: Update to `cpufeatures 0.2.5`
Closes zcash/zcash#6195.
2022-10-10 19:04:39 +00:00
Jack Grigg f7b59a5ddb qa: Postpone Clang 15.0.2 2022-10-10 18:56:49 +00:00
Jack Grigg 1f836859f3 depends: Update cxx to 1.0.78 2022-10-10 18:56:12 +00:00
Jack Grigg 3b9f7c2a69 rust: Update to `metrics 0.20` 2022-10-10 18:44:33 +00:00
Kris Nuttycombe fe3defdbc6
Merge pull request #6191 from DeckerSU/patch-test-framework
test_framework: fix AttributeError in sapling_spends_compact_digest
2022-10-10 10:05:40 -06:00
Greg Pfeil ad47364f31 Address review feedback and fixed test failures
Some tests were checking error message strings, but the check was still
hardcoded to “bitcoind”.
2022-10-04 10:21:06 -06:00
Greg Pfeil 6a7c86e63b Fix display of binary name in error messages.
Ensures that test failures report the name of the actual binary that was run.
2022-10-04 10:21:06 -06:00
DeckerSU 225c8b8a03
test_framework: fix AttributeError in sapling_spends_compact_digest
Without this fix we will get:
AttributeError: 'SpendDescriptionV5' object has no attribute 'anchor'
On certain V5 transactions rehash / calc_sha256, for example:
ca6abd8ef7d6ef158a4a35ea2c2c0cf122f2f664a88f8fa5b6fd79e48c5bed59
2022-10-04 01:54:34 +02:00
str4d 6c392dbb0b
Merge pull request #6189 from str4d/wallet-sync-remove-cs_main-lock
wallet: Remove lock on cs_main from CWallet::ChainTip
2022-10-01 12:43:56 +01:00
Jack Grigg 444d75fbea wallet: Remove lock on cs_main from CWallet::ChainTip
We must not lock on cs_main during wallet synchronization, to avoid
locking side channels between the wallet and the networking stack.
However, the wallet code that is called on every block to update tree
states etc. was also checking whether it should run Sprout-to-Sapling
migrations, and that was being gated on IBD completion (to avoid stale
transactions being generated). IsInitialBlockDownload locks on cs_main
before IBD completion :)

We now rely on the fact that IBD does not end until the chain tip is
within nMaxTipAge of the current time, so we can check that as a proxy.
We were already applying a similar check to avoid hibernation-related
issues; these are now merged.
2022-09-30 23:22:57 +00:00
str4d d41916d26b
Merge pull request #6182 from str4d/secp256k1-updates
Update the `libsecp256k1` subtree
2022-09-30 22:02:45 +01:00
str4d cfe027bce5
Merge pull request #6186 from superbaud/rust-dist-makefile-fix
Make RUST_DIST in Makefile.am refer to rust-toolchain.toml
2022-09-30 21:30:38 +01:00
sasha 14669b6a42 Make RUST_DIST in Makefile.am refer to rust-toolchain.toml (baf7d9e) 2022-09-29 13:59:58 -07:00
str4d b18c841b85
Merge pull request #6175 from str4d/metrics-wallet-scan-height
metrics: Add gauge for the height to which the wallet is synced
2022-09-28 01:31:48 +01:00
Jack Grigg 69ebc1fe34 build: Disable secp256k1 OpenSSL tests
This is a temporary fix until we can backport the removal of these tests
in bitcoin-core/secp256k1#983.

Closes zcash/zcash#6180.
2022-09-27 22:56:40 +00:00
Jack Grigg 4817fcaa34 Update `libsecp256k1` to match the rev that `secp256k1 0.21` expects
Closes zcash/zcash#5836.
2022-09-27 22:21:51 +00:00
Jack Grigg ed3e5b0f2a Squashed 'src/secp256k1/' changes from efad3506a8..1758a92ffd
1758a92ffd Merge #950: ci: Add ppc64le build
c58c4ea470 ci: Add ppc64le build
7973576f6e Merge #662: Add ecmult_gen, ecmult_const and ecmult to benchmark
8f879c2887 Fix array size in bench_ecmult
2fe1b50df1 Add ecmult_gen, ecmult_const and ecmult to benchmark
593e6bad9c Clean up ecmult_bench to make space for more benchmarks
50f3367712 Merge #947: ci: Run PRs on merge result even for i686
a35fdd3478 ci: Run PRs on merge result even for i686
3dc8c072b6 Merge #846: ci: Run ASan/LSan and reorganize sanitizer and Valgrind jobs
02dcea1ad9 ci: Make test iterations configurable and tweak for sanitizer builds
489ff5c20a tests: Treat empty SECP2561_TEST_ITERS as if it was unset
fcfcb97e74 ci: Simplify to use generic wrapper for QEMU, Valgrind, etc
de4157f13a ci: Run ASan/LSan and reorganize sanitizer and Valgrind jobs
399722a63a Merge #941: Clean up git tree
09b3bb8648 Clean up git tree
bf0ac46066 Merge #930: Add ARM32/ARM64 CI
202a030f7d Merge #850: add `secp256k1_ec_pubkey_cmp` method
1e78c18d5b Merge bitcoin-core/secp256k1#940: contrib: Explain explicit header guards
69394879b6 Merge #926: secp256k1.h: clarify that by default arguments must be != NULL
6eceec6d56 add `secp256k1_xonly_pubkey_cmp` method
0d9561ae87 add `secp256k1_ec_pubkey_cmp` method
22a9ea154a contrib: Explain explicit header guards
6c52ae8724 Merge #937: Have ge_set_gej_var, gej_double_var and ge_set_all_gej_var initialize all fields of their outputs.
185a6af227 Merge #925: changed include statements without prefix 'include/'
14c9739a1f tests: Improve secp256k1_ge_set_all_gej_var for some infinity inputs
4a19668c37 tests: Test secp256k1_ge_set_all_gej_var for all infinity inputs
3c90bdda95 change local lib headers to be relative for those pointing at "include/" dir
45b6468d7e Have secp256k1_ge_set_all_gej_var initialize all fields. Previous behaviour would not initialize r->y values in the case where infinity is passed in. Furthermore, the previous behaviour wouldn't initialize anything in the case where all inputs were infinity.
31c0f6de41 Have secp256k1_gej_double_var initialize all fields. Previous behaviour would not initialize r->x and r->y values in the case where infinity is passed in.
dd6c3de322 Have secp256k1_ge_set_gej_var initialize all fields. Previous behaviour would not initialize r->x and r->y values in the case where infinity is passed in.
d0bd2693e3 Merge bitcoin-core/secp256k1#936: Fix gen_context/ASM build on ARM
8bbad7a18e Add asm build to ARM32 CI
7d65ed5214 Add ARM32/ARM64 CI
c8483520c9 Makefile.am: Don't pass a variable twice
2161f31785 Makefile.am: Honor config when building gen_context
99f47c20ec gen_context: Don't use external ASM because it complicates the build
98e0358d29 Merge #933: Avoids a missing brace warning in schnorrsig/tests_impl.h on old compilers
99e2d5be0d Avoids a missing brace warning in schnorrsig/tests_impl.h on old compilers.
34388af6b6 Merge #922: Add mingw32-w64/wine CI build
7012a188e6 Merge #928: Define SECP256K1_BUILD in secp256k1.c directly.
ed5a199bed tests: fopen /dev/urandom in binary mode
ae9e648526 Define SECP256K1_BUILD in secp256k1.c directly.
4dc37bf81b Add mingw32-w64/wine CI build
0881633dfd secp256k1.h: clarify that by default arguments must be != NULL

git-subtree-dir: src/secp256k1
git-subtree-split: 1758a92ffd896af533b142707e9892ea6e15e5db
2022-09-27 22:21:51 +00:00
Pieter Wuille 2eb90863a2 libsecp256k1 no longer has --with-bignum= configure option
(cherry picked from commit bitcoin/bitcoin@5c7ee1b2da)
2022-09-27 22:18:05 +00:00
Pieter Wuille 7c5dd23e99 Update libsecp256k1 subtree to latest upstream master
(cherry picked from commit bitcoin/bitcoin@a5a447a352)
2022-09-27 22:11:17 +00:00
Jack Grigg 678f3c95df Squashed 'src/secp256k1/' changes from a4abaab793..efad3506a8
efad3506a8 Merge #906: Use modified divsteps with initial delta=1/2 for constant-time
cc2c09e3a7 Merge #918: Clean up configuration in gen_context
07067967ee add ECMULT_GEN_PREC_BITS to basic_config.h
a3aa2628c7 gen_context: Don't include basic-config.h
be0609fd54 Add unit tests for edge cases with delta=1/2 variant of divsteps
cd393ce228 Optimization: only do 59 hddivsteps per iteration instead of 62
277b224b6a Use modified divsteps with initial delta=1/2 for constant-time
376ca366db Fix typo in explanation
1e5d50fa93 Merge #889: fix uninitialized read in tests
c083cc6e52 Merge #903: Make argument of fe_normalizes_to_zero{_var} const
6e898534ff Merge #907: changed import to use brackets <> for openssl
4504472269 changed import to use brackets <> for openssl as they are not local to the project
26de4dfeb1 Merge #831: Safegcd inverses, drop Jacobi symbols, remove libgmp
23c3fb629b Make argument of fe_normalizes_to_zero{_var} const
24ad04fc06 Make scalar_inverse{,_var} benchmark scale with SECP256K1_BENCH_ITERS
ebc1af700f Optimization: track f,g limb count and pass to new variable-time update_fg_var
b306935ac1 Optimization: use formulas instead of lookup tables for cancelling g bits
9164a1b658 Optimization: special-case zero modulus limbs in modinv64
1f233b3fa0 Remove num/gmp support
20448b8d09 Remove unused Jacobi symbol support
5437e7bdfb Remove unused scalar_sqr
aa9cc52180 Improve field/scalar inverse tests
1e0e885c8a Make field/scalar code use the new modinv modules for inverses
436281afdc Move secp256k1_fe_inverse{_var} to per-impl files
aa404d53be Move secp256k1_scalar_{inverse{_var},is_even} to per-impl files
08d54964e5 Improve bounds checks in modinv modules
151aac00d3 Add tests for modinv modules
d8a92fcc4c Add extensive comments on the safegcd algorithm and implementation
8e415acba2 Add safegcd based modular inverse modules
de0a643c3d Add secp256k1_ctz{32,64}_var functions
4c3ba88c3a Merge #901: ci: Switch all Linux builds to Debian and more improvements
9361f360bb ci: Select number of parallel make jobs depending on CI environment
28eccdf806 ci: Split output of logs into multiple sections
c7f754fe4d ci: Run PRs on merge result instead of on the source branch
b994a8be3c ci: Print information about binaries using "file"
f24e122d13 ci: Switch all Linux builds to Debian
ebdba03cb5 Merge #891: build: Add workaround for automake 1.13 and older
3a8b47bc6d Merge #894: ctime_test: move context randomization test to the end
7d3497cdc4 ctime_test: move context randomization test to the end
99a1cfec17 print warnings for conditional-uninitialized
3d2cf6c5bd initialize variable in tests
f329bba244 build: Add workaround for automake 1.13 and older
24d1656c32 Merge #882: Use bit ops instead of int mult for constant-time logic in gej_add_ge
e491d06b98 Use bit ops instead of int mult for constant-time logic in gej_add_ge
f8c0b57e6b Merge #864: Add support for Cirrus CI
cc2a5451dc ci: Refactor Nix shell files
2480e55c8f ci: Remove support for Travis CI
2b359f1c1d ci: Enable simple cache for brewing valgrind on macOS
8c02e465c5 ci: Add support for Cirrus CI
659d0d4798 Merge #880: Add parens around ROUND_TO_ALIGN's parameter.
b6f649889a Add parens around ROUND_TO_ALIGN's parameter. This makes the macro robust against a hypothetical ROUND_TO_ALIGN(foo ? sizeA : size B) invocation.

git-subtree-dir: src/secp256k1
git-subtree-split: efad3506a8937162e8010f5839fdf3771dfcf516
2022-09-27 22:09:40 +00:00
str4d f466eb0484
Merge pull request #6156 from daira/prepare-epks-and-ivks
Switch to a version of librustzcash that prepares ivk and epk when doing trial decryption
2022-09-27 22:59:45 +01:00
Jack Grigg b0d6abc45b wallet: Improve estimation of `rayon` spawned task size
Ported from zcash/librustzcash@035e53990c.
2022-09-26 22:19:33 +00:00