Commit Graph

10907 Commits

Author SHA1 Message Date
Jack Grigg
44e37656bf Add watch-only support to Zcash RPC methods
Balance totals do not include spends linked to viewing key addresses, as
nullifiers cannot be calculated and therefore spends cannot be detected.
2017-12-20 00:46:37 +00:00
Jack Grigg
9a2b8ae57f Update wallet logic to account for viewing keys
The wallet code previously assumed that an unlocked wallet would always
have a spending key associated with a note decryptor. Viewing keys break
this assumption.
2017-12-20 00:46:37 +00:00
Jack Grigg
e85b33a52e Add RPC methods for exporting/importing viewing keys 2017-12-20 00:46:37 +00:00
Jack Grigg
167cd33374 Implement viewing key storage in the wallet 2017-12-20 00:46:37 +00:00
Jack Grigg
49cf707d2c Add Base58 encoding of viewing keys 2017-12-20 00:46:33 +00:00
Jack Grigg
13933e4c13 Factor out common logic from CZCPaymentAddress and CZCSpendingKey 2017-12-04 17:17:18 +00:00
Jack Grigg
aa666c9673 Implement viewing key storage in the keystore 2017-12-04 17:17:18 +00:00
Jack Grigg
642a1caf93 ViewingKey -> ReceivingKey per zcash/zips#117 2017-12-04 17:17:18 +00:00
Homu
89aaa67e9e Auto merge of #2769 - syd0:rename-bitcoin-bash-completion, r=str4d
Rename bitcoin bash completion files so that they refer to zcash and not bitcoin.

This closes #2167
2017-12-04 04:58:19 -08:00
Homu
02c4467cb5 Auto merge of #2697 - str4d:darwin-build, r=str4d
Darwin build fixes

Includes fixes cherry-picked from the following upstream PRs:

- bitcoin/bitcoin#7136
  - Only the third commit (to avoid a merge conflict)
- bitcoin/bitcoin#7302
  - Excluding the first commit, which is unnecessary (we use Boost 1.62)
- bitcoin/bitcoin#7487
- bitcoin/bitcoin#7606
- bitcoin/bitcoin#7711
- bitcoin/bitcoin#7165
- bitcoin/bitcoin#8002
- bitcoin/bitcoin#8210
  - Only the second commit
- bitcoin/bitcoin#9114
2017-11-30 05:49:07 -08:00
Jack Grigg
c6b39fbbd6 Include endian-ness compatibility layer in Equihash implementation 2017-11-29 17:28:44 +00:00
Jack Grigg
d3096198c8 [libsnark] Use POSIX-compliant ar arguments 2017-11-29 17:28:44 +00:00
Jack Grigg
daad2c2736 Check if OpenMP is available before using it 2017-11-29 17:28:44 +00:00
Jack Grigg
9635679cba Replace "install -D" with "mkdir -p && install" 2017-11-29 17:26:47 +00:00
Jack Grigg
c16188cc6d Remove manual -std=c++11 flag
This is handled by autoconf now.
2017-11-29 17:24:59 +00:00
fanquake
e2e7ca3054 [depends] Set OSX_MIN_VERSION to 10.8 2017-11-29 17:24:59 +00:00
Cory Fields
68ce87eddc depends: bump OSX toolchain
clang: 3.7.1
cctools: 877.8
ld64: 253.9
2017-11-29 17:24:59 +00:00
fanquake
377092a152 [depends] Add -stdlib=libc++ to darwin CXX flags 2017-11-29 17:24:59 +00:00
Wladimir J. van der Laan
a65be83041 build: update ax_cxx_compile_stdcxx to serial 4 2017-11-29 17:24:59 +00:00
Cory Fields
038a858d2f depends: use c++11 2017-11-29 17:24:59 +00:00
Wladimir J. van der Laan
4ba172369d build: Enable C++11 build, require C++11 compiler
Implements #6211.
2017-11-29 17:24:59 +00:00
fanquake
b08a1f7836 [build-aux] Update Boost & check macros to latest serials 2017-11-29 17:24:59 +00:00
MarcoFalke
b0a7ddb0b1 [depends] builders: No need to set -L and --location for curl 2017-11-29 17:24:59 +00:00
Luke Dashjr
7ab7005fbc Travis: Use Blue Box VMs for IPv6 loopback support 2017-11-29 17:24:59 +00:00
Luke Dashjr
a8982ac97d Bugfix: depends/Travis: Use --location (follow redirects) and --fail [on HTTP error response] with curl 2017-11-29 17:24:59 +00:00
Luke Dashjr
bdd12c9b3c Travis: Use curl rather than wget for Mac SDK 2017-11-29 17:24:59 +00:00
Luke Dashjr
bd03cfebec depends: Use curl for fetching on Linux
Currently Travis's wget fails fetching qrencode:

Fetching qrencode...
ERROR: no certificate subject alternative name matches
	requested host name `fukuchi.org'.
To connect to fukuchi.org insecurely, use `--no-check-certificate'.
OpenSSL: error:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert internal error
Unable to establish SSL connection.
make: *** [/home/travis/build/luke-jr/bitcoin/depends/sources/download-stamps/.stamp_fetched-qrencode-qrencode-3.4.4.tar.bz2.hash] Error 4
2017-11-29 17:24:59 +00:00
Cory Fields
1f623c64b6 c++11: fix libbdb build against libc++ in c++11 mode
atomic_init clashes with
2017-11-29 17:24:59 +00:00
Cory Fields
4bfe8a744b c++11: CAccountingEntry must be defined before use in a list
c++11ism. This fixes builds against libc++.
2017-11-29 17:24:59 +00:00
Cory Fields
4165af1b73 c++11: don't throw from the reverselock destructor
noexcept is default for destructors as of c++11. By throwing in reverselock's
destructor if it's lock has been tampered with, the likely result is
std::terminate being called. Indeed that happened before this change.

Once reverselock has taken another lock (its ctor didn't throw), it makes no
sense to try to grab or lock the parent lock. That is be broken/undefined
behavior depending on the parent lock's implementation, but it shouldn't cause
the reverselock to fail to re-lock when destroyed.

To avoid those problems, simply swap the parent lock's contents with a dummy
for the duration of the lock. That will ensure that any undefined behavior is
caught at the call-site rather than the reverse lock's destruction.

Barring a failed mutex unlock which would be indicative of a larger problem,
the destructor should now never throw.
2017-11-29 17:24:59 +00:00
MarcoFalke
124e9389af Fix url in .travis.yml 2017-11-29 17:24:59 +00:00
Homu
06f67834ae Auto merge of #2696 - str4d:macos-build-fixes, r=str4d
Cross-platform build.sh

This enables `zcutil/build.sh` to be used on MacOS, and likely other non-Linux platforms.
2017-11-29 08:35:49 -08:00
Jack Grigg
e4cd341260 Replace hard-coded defaults for HOST and BUILD with config.guess 2017-11-29 15:25:14 +00:00
Jack Grigg
7fa05b29b6 Use g-prefixed coreutils commands if they are available
If they are present on the system, it means that the non-prefixed ones are not
necessarily the versions we want, while the prefixed ones are highly likely to
be the ones from GNU Coreutils.
2017-11-29 15:24:21 +00:00
Homu
37ffef4628 Auto merge of #2767 - syd0:cleanup-reserved-include-guards, r=str4d
Get rid of underscore prefixes for include guards.

This is because they may conflict with reserved names. Also took
this opportunity to make the guards in the zcash subdir a bit
more uniform by having them all conform to ZC_<...>_H_

This closes #1272
2017-11-29 06:52:52 -08:00
Homu
099bf3dd8f Auto merge of #2763 - syd0:upgrade-libsodium, r=daira
Update libsodium from 1.0.11 to 1.0.15

Closes #2693.
2017-11-28 13:20:13 -08:00
syd
e619c21944 Rename bash completion files so that they refer to zcash and not bitcoin.
This closes #2167
2017-11-28 15:24:15 -05:00
Homu
213ac8d1fe Auto merge of #2764 - syd0:remove-old-boost-defines, r=str4d
Remove Boost conditional compilation.

Boost is currently at version 106200 in the depends subsystem
so it is safe to remove code the refers to earlier versions.

This closes #2445
2017-11-28 12:19:27 -08:00
syd
4e4aa5b6ec Get rid of underscore prefixes for include guards.
This is because they may conflict with reserved names. Also took
this opportunity to make the guards in the zcash subdir a bit
more uniform by having them all conform to ZC_<...>_H_

This closes #1272
2017-11-28 14:57:58 -05:00
Homu
2ff8ab7dfb Auto merge of #2751 - syd0:upgrade-googletest-1.8.0, r=str4d
Upgrade googletest to 1.8.0

Closes #1432.
2017-11-28 07:37:20 -08:00
Homu
ce72b494b1 Auto merge of #2760 - bitcartel:fix_wallet_test_pipe_error, r=str4d
Fix broken pipe error on some platforms when running QA test wallet.py.

Closes #2759.
2017-11-28 06:33:54 -08:00
syd
d52dcf5d0c InitGoogleMock instead of InitGoogleTest per CR 2017-11-27 11:08:34 -05:00
Homu
9ce4859459 Auto merge of #2766 - syd0:remove-fPowAllowMinDifficultyBlocks, r=str4d
Get rid of consensus.fPowAllowMinDifficultyBlocks.

This closes #1380
2017-11-27 04:06:27 -08:00
Homu
77f4d0505e Auto merge of #2773 - syd0:remove-fp3, r=ebfull
Get rid of fp3 from libsnark, it is not used.

This is for #1544
2017-11-25 17:49:34 -08:00
syd
5163fd9d07 Get rid of fp3 from libsnark, it is not used.
This is for #1544
2017-11-25 15:08:01 -05:00
syd
a10c2f46a5 Add gtests to .gitignore 2017-11-25 11:05:01 -05:00
syd
7c591c6d2f Don't compile libgtest.a when building libsnark.
Previously libsnark would try to build libgtest if /usr/src/gtest
exists on the build machine. This caused issues because the
version of libgtest in /usr/src isn't necessarily the same as
the one that the rest of zcash's gtests were built with.
2017-11-25 10:58:37 -05:00
syd
dffc025d38 Get rid of consensus.fPowAllowMinDifficultyBlocks.
This closes #1380
2017-11-23 12:20:50 -05:00
syd
6df5f51b7c Update to address @daira comments wrt fixing configure.ac
Since we're enforcing Boost >= 1.62, we no longer need HAVE_WORKING_BOOST_SLEEP_FOR.
2017-11-23 11:58:25 -05:00
syd
c72a4732cc Remove Boost conditional compilation.
Boost is currently at version 106200 in the depends subsystem
so it is safe to remove code the refers to earlier versions.

This closes #2445
2017-11-23 00:05:21 -05:00