Commit Graph

14456 Commits

Author SHA1 Message Date
Jack Grigg eec9e2dcac Update libsecp256k1 subtree to latest master 2020-10-22 00:42:47 +01:00
Jack Grigg 52ac87242d Squashed 'src/secp256k1/' changes from 8ab24e8da..c6b6b8f1b
c6b6b8f1b Merge #830: Rip out non-endomorphism code + dependencies
c582abade Consistency improvements to the comments
63c6b7161 Reorder comments/function around scalar_split_lambda
2edc514c9 WNAF of lambda_split output has max size 129
4232e5b7d Rip out non-endomorphism code
ebad8414b Check correctness of lambda split without -DVERIFY
fe7fc1fda Make lambda constant accessible
9d2f2b44d Add tests to exercise lambda split near bounds
9aca2f7f0 Add secp256k1_split_lambda_verify
acab934d2 Detailed comments for secp256k1_scalar_split_lambda
76ed922a5 Increase precision of g1 and g2
6173839c9 Switch to our own memcmp function
63150ab4d Merge #827: Rename testrand functions to have test in name
c5257aed0 Merge #821: travis: Explicitly set --with-valgrind
bb1f54280 Merge #818: Add static assertion that uint32_t is unsigned int or wider
a45c1fa63 Rename testrand functions to have test in name
5006895bd Merge #808: Exhaustive test improvements + exhaustive schnorrsig tests
4eecb4d6e travis: VALGRIND->RUN_VALGRIND to avoid confusion with WITH_VALGRIND
66a765c77 travis: Explicitly set --with-valgrind
d7838ba6a Merge #813: Enable configuring Valgrind support
7ceb0b761 Merge #819: Enable -Wundef warning
8b7dcdd95 Add exhaustive test for extrakeys and schnorrsig
08d7d8929 Make pubkey parsing test whether points are in the correct subgroup
87af00b51 Abstract out challenge computation in schnorrsig
63e1b2aa7 Disable output buffering in tests_exhaustive.c
39f67dd07 Support splitting exhaustive tests across cores
e99b26fcd Give exhaustive_tests count and seed cmdline inputs
49e6630bc refactor: move RNG seeding to testrand
b110c106f Change exhaustive test groups so they have a point with X=1
cec7b18a3 Select exhaustive lambda in function of order
78f6cdfaa Make the curve B constant a secp256k1_fe
d7f39ae4b Delete gej_is_valid_var: unused outside tests
8bcd78cd7 Make secp256k1_scalar_b32 detect overflow in scalar_low
c498366e5 Move exhaustive tests for recovery to module
be3179154 Make group order purely compile-time in exhaustive tests
e73ff3092 Enable -Wundef warning
c0041b5cf Add static assertion that uint32_t is unsigned int or wider
4ad408faf Merge #782: Check if variable=yes instead of if var is set in travis.sh
412bf874d configure: Allow specifying --with[out]-valgrind explicitly
34debf7a6 Modify .travis.yml to explictly pass no in env vars instead of setting to nothing
a0e99fc12 Merge #814: tests: Initialize random group elements fully
5738e8622 tests: Initialize random group elements fully
c9939ba55 Merge #812: travis: run bench_schnorrsig
a51f2af62 travis: run bench_schnorrsig
ef37761fe Change travis.sh to check if variables are equal to yes instead of not-empty. Before this, setting `VALGRIND=wat` was considered as true, and to make it evaluate as false you had to unset the variable `VALGRIND=` but not it checks if `VALGRIND=yes` and if it's not `yes` then it's evaluated to false

git-subtree-dir: src/secp256k1
git-subtree-split: c6b6b8f1bb044d7d1aa065ebb674adde98a36a8e
2020-10-22 00:41:56 +01:00
Homu afe85096cb Auto merge of #4803 - therealyingtong:postpone-ccache, r=therealyingtong
Postpone native_ccache 4.0
2020-10-21 23:12:45 +00:00
Homu cafc622a22 Auto merge of #4757 - str4d:update-secp256k1, r=str4d
Update secp256k1

This migrates us to the same dependency version that upstream Bitcoin
Core migrated to in bitcoin/bitcoin#19944.

Also enables the endomorphism optimization now that the patents have
expired.
2020-10-21 16:55:47 +00:00
therealyingtong d8f20860de Postpone native_ccache 4.0 2020-10-21 23:15:19 +08:00
Homu 43ab084854 Auto merge of #4611 - str4d:c++17, r=str4d
Require and build with C++17

Closes zcash/zcash#4607.
2020-10-20 14:28:42 +00:00
Jack Grigg d0cb0b74aa Switch from std::random_shuffle to std::shuffle
std::random_shuffle is removed in C++17; it is replaced by std::shuffle,
which was introduced in C++11. The new ZcashRandomEngine class provides
the Uniform Random Number Generator interface, as inferred from
std::random_device.
2020-10-20 13:58:23 +01:00
Daira Hopwood c656ae1303 Add new copyright entries for build-aux/m4/ax_cxx_compile_stdcxx.m4
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-10-20 13:55:14 +01:00
Jack Grigg 9052751c21 depends: Build C++ dependencies with C++ 17 2020-10-20 13:55:14 +01:00
Jack Grigg 9d1a11a0e4 build: Require and build with C++ 17 2020-10-20 13:55:14 +01:00
Jack Grigg 40a5bdfc76 build: Update AX_CXX_COMPILE_STDCXX macro 2020-10-20 13:55:14 +01:00
Homu de5c28b4b7 Auto merge of #4613 - str4d:claaaaaang, r=daira
Pin Clang for all compilation

fixes #2513, fixes #4697, fixes #4698, fixes #4699. refs #4607, #4292
2020-10-20 11:15:47 +00:00
Homu 8fa19fd50d Auto merge of #4794 - LarryRuane:allow-getaddressutxos, r=daira
allow getaddressutxos if -lightwalletd

The wallets need to be able to retrieve, via lightwalletd, the UTXO set for a given address, see https://github.com/zcash/lightwalletd/issues/312. The `getaddressutxos` rpc that was added for Insight Explorer is perfect for this, but this rpc is disabled when only `-lightwalletd` is enabled (that is, it requires `-insightexplorer`, which is a superset of `-lightwalletd`). However, the `DB_ADDRESSUNSPENTINDEX` index that supports this rpc is present when only `-lightwalletd` is enabled. This was probably a (fortuitous, as it turns out) oversight. So all that's required is to allow this rpc when `-lightwalletd` is enabled.
2020-10-20 09:31:39 +00:00
Homu 0dc05a7722 Auto merge of #4790 - therealyingtong:add-addresses-getblocksubsidy, r=daira
Add funding stream addresses to getblocksubsidy RPC output

Closes #4728.
2020-10-20 08:18:01 +00:00
str4d eaed8d5797
depends: Add untested note to FreeBSD host
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2020-10-19 20:19:00 +01:00
Homu 162de8b260 Auto merge of #4800 - daira:contextualchecktx-cleanups, r=str4d
Comment and error message cleanups for transaction checks

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-10-19 19:14:03 +00:00
Larry Ruane 083a05b04f allow getaddressutxos if -lightwalletd 2020-10-19 11:26:16 -06:00
therealyingtong 0940bc0c23 Remove void declaration of ScriptPubKeyToJSON() 2020-10-19 23:41:13 +08:00
Homu 2d2dc2c888 Auto merge of #4799 - daira:fix-gtests-displayduration, r=str4d
Fix integer types in DisplayDuration

After this, `src/zcash-gtest --gtest_filter='Metrics*'` passes on a native macOS build.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-10-19 15:27:40 +00:00
Daira Hopwood 72a0107708 Comment and error message cleanups for transaction checks.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-10-19 14:56:59 +01:00
Daira Hopwood f2d7fd6323 contrib/devtools/symbol-check.py: add info about Fedora-based distributions.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-10-19 14:47:29 +01:00
Daira Hopwood d54d4d083e Update contrib/devtools/symbol-check.py
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-10-19 14:47:29 +01:00
Daira Hopwood e0b3913356 Rename `time` to `duration` in `DisplayDuration`.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-10-19 12:05:47 +01:00
Daira Hopwood a6822edfd8 Fix integer types in DisplayDuration.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-10-19 11:51:55 +01:00
therealyingtong 6f3c29e9b7 Only return address instead of CScript 2020-10-19 10:04:19 +08:00
Homu 921e886748 Auto merge of #4797 - daira:log2-cleanup, r=str4d
log(x)/log(2.0) can be written as log2(x)

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-10-18 14:20:36 +00:00
Daira Hopwood 7a1ed861c2 log(x)/log(2.0) can be written as log2(x).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-10-18 15:03:30 +01:00
ying tong e60c2bf17c
Apply suggestions from code review
Co-authored-by: Larry Ruane <larry@z.cash>
2020-10-17 13:27:38 +08:00
Homu 1c91003a51 Auto merge of #4787 - benzcash:ci-builders-libtinfo5, r=str4d
Added libtinfo5 to ci builder containers

- Updated apt list for Debian and Ubuntu images.
- made the image creation script executable
- Fixed `bbworker-buildbot.tac` in Centos Dockerfile

This is to support Clang 8  https://github.com/zcash/zcash/pull/4613

You can test it with the images on Docker Hub now something like:
```
docker run --rm -ti --entrypoint bash electriccoinco/zcashd-bbworker-debian9
git clone https://github.com/str4d/zcash.git
cd zcash/
git checkout claaaaaang
./zcutil/build.sh -j4
```
```
docker run --rm -ti --entrypoint bash electriccoinco/zcashd-bbworker-debian10
git clone https://github.com/str4d/zcash.git
cd zcash/
git checkout claaaaaang
./zcutil/build.sh -j4
```
```
docker run --rm -ti --entrypoint bash electriccoinco/zcashd-bbworker-ubuntu18.04
git clone https://github.com/str4d/zcash.git
cd zcash/
git checkout claaaaaang
./zcutil/build.sh -j4
```
```
docker run --rm -ti --entrypoint bash electriccoinco/zcashd-bbworker-ubuntu20.04
git clone https://github.com/str4d/zcash.git
cd zcash/
git checkout claaaaaang
./zcutil/build.sh -j4
```
```
docker run --rm -ti --entrypoint bash electriccoinco/zcashd-bbworker-centos8
git clone https://github.com/str4d/zcash.git
cd zcash/
git checkout claaaaaang
./zcutil/build.sh -j4
```
```
docker run --rm -ti --entrypoint bash electriccoinco/zcashd-bbworker-arch
git clone https://github.com/str4d/zcash.git
cd zcash/
git checkout claaaaaang
./zcutil/build.sh -j4
```
2020-10-16 23:49:44 +00:00
therealyingtong 4e50b700e9 Minor cleanups 2020-10-17 03:13:19 +08:00
therealyingtong 719c117f1c Handle shielded address case 2020-10-17 03:08:37 +08:00
therealyingtong 6c41d1da05 Fix CScript encoding 2020-10-17 02:35:39 +08:00
Homu ceb642550b Auto merge of #4789 - daira:4785-macos-tests, r=str4d
Test suite portability fixes for macOS

Fixes zcash/zcash#4785
2020-10-16 17:06:40 +00:00
therealyingtong cec67e90c5 Add funding stream addresses to getblocksubsidy RPC output 2020-10-16 23:57:04 +08:00
Homu 98daea8153 Auto merge of #4791 - str4d:pyflakes-fixes, r=str4d
test: Fix various pyflakes warnings

These started being detected after updates to the CI workers.
2020-10-16 15:50:30 +00:00
Jack Grigg 11baa4d49d doc: Add Clang and libc++ migration to release notes 2020-10-16 16:48:56 +01:00
Jack Grigg ee079a683b test: Fix various pyflakes warnings 2020-10-16 16:00:02 +01:00
Jack Grigg ea7d57aa47 QA: Add native_clang and libcxx to updatecheck.py 2020-10-16 15:43:50 +01:00
Daira Hopwood c06cc5854e qa/zcash/full_test_suite.py: print immediately if a test fails.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-10-16 03:58:31 +01:00
Daira Hopwood f85ed2741c qa/zcash/full_test_suite.py: changes needed for macOS. fixes #4785
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-10-16 03:57:57 +01:00
Ben Wilson 172b26991e Build python for debian9 and ubuntu16.04 2020-10-15 19:50:29 -04:00
Ben Wilson c6f9215c04 Fixed Centos and Arch python requirements 2020-10-15 17:24:21 -04:00
Ben Wilson 1271afa354 Added Arch and Centos to script, added libtinfo5 for arch 2020-10-15 12:19:28 -04:00
Jack Grigg bf450b2607 qa: Disable FORTIFY_SOURCE checks
FORTIFY_SOURCE does mostly nothing for Clang before 10, which we don't
pin yet (and won't before we next upgrade Rust).
2020-10-14 21:52:32 +01:00
Homu 03e68a3ed8 Auto merge of #4782 - oxarbitrage:issue4769, r=str4d
simplify `TestBlockValidity()`

Closes https://github.com/zcash/zcash/issues/4769
2020-10-14 15:33:42 +00:00
Ben Wilson b598691668 Added libtinfo5 to ci builder containers 2020-10-14 10:55:08 -04:00
Alfredo Garcia 52270f60ee
update function comment
Co-authored-by: str4d <thestr4d@gmail.com>
2020-10-14 11:08:21 -03:00
Homu 5bd2df92a5 Auto merge of #4784 - LarryRuane:auto-GetConsensus, r=str4d
performance: auto params = CChainParams::GetConsensus()

Closes #4676
For consistency, this PR fixes all occurrences (most are in test code).
2020-10-14 12:11:51 +00:00
Alfredo Garcia ea4c665daf simplify TestBlockValidity 2020-10-14 08:14:18 -03:00
Homu fb24911c55 Auto merge of #4570 - oxarbitrage:issue2783, r=daira
Add timestamp to warnings

Closes https://github.com/zcash/zcash/issues/2783 by adding timestamp to warnings.
2020-10-14 09:16:45 +00:00