Commit Graph
7761 Commits
Author SHA1 Message Date
James O'Beirne 0d9524ba6b Minor bugfixes
Was "Handle obfuscation in CLevelDBIterator"

Zcash: Only bugfixes
2018-04-03 20:40:54 +01:00
Pieter Wuille 1ebf50b6da Encapsulate CLevelDB iterators cleanly
Conflicts:
	src/leveldb.cpp
	src/leveldb.h
	src/txdb.cpp
2018-04-03 20:40:54 +01:00
Jack Grigg 3a8e1d0cf4 Refactor Zcash changes to CCoinsViewDB
To match upstream changes.
2018-04-03 20:40:54 +01:00
James O'Beirne 0d81464be7 Refactor leveldbwrapper
Was "Add chainstate obfuscation to avoid spurious antivirus detection"

Zcash: Extracted the refactor, omitting the chainstate obfuscation.
2018-04-03 20:40:54 +01:00
HomuandTomas M 3055fd5508 Auto merge of #3136 - str4d:2937-z_importviewingkey-startheight, r=daira
Fix z_importviewingkey startHeight parameter

Closes #2937.

Co-authored-by: Tomas M <tomas@slax.org>
2018-04-03 09:41:09 -07:00
Homu 395ed619a0 Auto merge of #2899 - str4d:2829-alertnotify-deprecation, r=str4d
Notify users about auto-senescence via -alertnotify

Closes #2829.
2018-04-03 06:07:08 -07:00
Homu 3a47b9bcfd Auto merge of #3132 - str4d:2898-rewind-block-index, r=daira
When rewinding, remove insufficiently-validated blocks

If a block is insufficiently-validated against a particular branch ID, then we
cannot guarantee that even the block header will be valid under the actual
consensus rules the node will want to apply. Instead require that the blocks are
completely re-validated, by removing them from the block index (which is
equivalent to reducing their validity to BLOCK_VALID_UNKNOWN).

Closes #3100.
2018-04-03 04:37:21 -07:00
Jack Grigg 6c44424322 Adjust deprecation message to work in both UI and -alertnotify 2018-04-03 12:17:30 +01:00
Jack Grigg f5007d8912 When rewinding, remove insufficiently-validated blocks
If a block is insufficiently-validated against a particular branch ID, then we
cannot guarantee that even the block header will be valid under the actual
consensus rules the node will want to apply. Instead require that the blocks are
completely re-validated, by removing them from the block index (which is
equivalent to reducing their validity to BLOCK_VALID_UNKNOWN).
2018-04-03 10:58:31 +01:00
Homu ca981fd442 Auto merge of #3080 - leto:jsindex, r=bitcartel
Return JoinSplit and JoinSplitOutput indexes in z_listreceivedbyaddress

This implements a feature request by @nathan-at-least in https://github.com/zcash/zcash/issues/2932 and I wanted to ask for feedback about the exact form of the data returned before updating tests and docs.
2018-04-03 00:30:11 -07:00
Jack Grigg 28915c30ca Fix z_importviewingkey startHeight parameter
Closes #2937.
2018-04-03 02:43:52 +01:00
HomuandEirik Ogilvie-Wigley 347804fe73 Auto merge of #3106 - braddmiller:3046-mergetoaddress-concurrent, r=str4d
Add Note Locking to z_mergetoaddress

Adds note locking to `z_mergetoaddress` allowing it to be invoked multiple times before previous `z_mergetoaddress` operations have finished.

Reference issue [#3046](https://github.com/zcash/zcash/issues/3046)

Co-authored-by: Eirik Ogilvie-Wigley <eirik@z.cash>
2018-03-30 14:29:17 -07:00
Homu 1a9caa6ac1 Auto merge of #3127 - str4d:2688-mandatory-rust, r=ebfull
Make Rust compilation mandatory

The temporary integration check in CheckEquihashSolution() remains, until we
have "real" Rust code to integrate.

Closes #2688.
2018-03-30 12:58:34 -07:00
Homu 72f14060bc Auto merge of #3098 - str4d:2343-overwinter-disable-mempooltxinputlimit, r=str4d
Ignore -mempooltxinputlimit once Overwinter activates

Overwinter changes the SignatureHash function to solve the quadratic hashing problem, so this option will no longer be needed.
2018-03-30 08:33:58 -07:00
Brad MillerandEirik Ogilvie-Wigley 4e6400bc00 Implement note locking for z_mergetoaddress
Co-authored-by: Eirik Ogilvie-Wigley <eirik@z.cash>
2018-03-29 15:48:34 -06:00
Jack Grigg b96f7d692d wallet: Cast size_t to uint64_t before passing to UniValue 2018-03-29 01:05:45 +02:00
Jack Grigg 4ff92bb6d8 rpcwallet.cpp: Cast size_t to uint64_t before passing to UniValue 2018-03-29 01:02:58 +02:00
Jack Grigg 8e95a12b63 Cast ZCIncrementalMerkleTree::size() to uint64_t before passing to UniValue
size_t is ambiguous for serialization, and UniValue doesn't have an API for
handling this internally.
2018-03-28 19:51:48 +02:00
Homu 5bdce01848 Auto merge of #2913 - bitcartel:2910_z_listunspent, r=bitcartel
Closes #2910. Add z_listunspent RPC call.

Have tested on network.  Opening up for review.
2018-03-28 10:40:49 -07:00
Simon d72c19a662 Closes #2910. Add z_listunspent RPC call. 2018-03-28 10:38:57 -07:00
Jack Grigg f0118aaa0b Add base case to CurrentEpoch() 2018-03-28 18:29:20 +02:00
Jack Grigg 792c05d8a9 Set PLATFORM flag when compiling libsnark 2018-03-28 18:29:19 +02:00
Jack Griggandkozyilmaz 381a79a909 libsnark: Don't set -static on Darwin
Co-authored-by: kozyilmaz <kazim@monolytic.com>
2018-03-28 18:29:19 +02:00
Jack Grigg 4fe053e6e8 Move explicit instantiation of IncrementalMerkleTree::emptyroots into header
Fixes a -Wundefined-var-template warning with clang.
2018-03-28 18:29:19 +02:00
Jack Grigg 6c7930f688 Use uint64_t instead of size_t for serialized indices into tx.vjoinsplit
size_t has no guarantee of uniform size, and thus far has been serialized as a
uint64_t on supported platforms.
2018-03-28 18:29:19 +02:00
Jack Grigg d58ed91af0 Optimise serialization of MerklePath, avoiding ambiguity of std::vector<bool>
The serialization enforces a maximum supported Merkle tree depth of 64.

Closes #2831.
2018-03-28 18:26:08 +02:00
Jack Grigg d9cd254e5e Make Rust compilation mandatory
The temporary integration check in CheckEquihashSolution() remains, until we
have "real" Rust code to integrate.

Closes #2688.
2018-03-28 17:55:45 +02:00
Jack Grigg 31afbcc5c9 Ignore -mempooltxinputlimit once Overwinter activates 2018-03-28 14:25:42 +02:00
Homu fb26130787 Auto merge of #3109 - bitcartel:2966_extend_tests, r=str4d
Part of #2966, extending Sprout tests to other epochs.

Tests updated:
- test_Get
- test_simple_joinsplit_invalidity
2018-03-27 13:10:39 -07:00
Homu 99b6f76355 Auto merge of #3111 - bitcartel:3110_high_fee_error_reporting, r=bitcartel
Closes #3110.  Ensure user can see error message about absurdly high fees.
2018-03-27 10:33:52 -07:00
Simon 8b15afd315 Closes #3110. Ensure user can see error message about absurdly high fees. 2018-03-27 10:23:24 -07:00
Homu 9a6809a75b Auto merge of #3113 - bitcartel:update_boost_1.66.0, r=str4d
Update boost to 1.66.0

- Remove no longer required patch `deprecated_auto_ptr.patch`.
- Remove potentially no longer required patch `include_poll.patch`. This might cause a regression for unsupported platform Alpine Linux (see #1559)
2018-03-27 07:31:16 -07:00
Jack Grigg b466c1c90c cleanup: Ensure code is pyflakes-clean for CI 2018-03-27 02:47:57 +02:00
Simon 68cc953012 Part of #2966, extending Sprout tests to other epochs.
Tests updated:
- test_Get
- test_simple_joinsplit_invalidity
2018-03-26 16:22:37 -07:00
Jack Grigg 31e6dde842 snark: Remove -mt suffix from Boost library 2018-03-26 18:28:07 +02:00
Homu 4d6498b900 Auto merge of #3082 - str4d:overwinter-info, r=daira
Add link to Overwinter info page
2018-03-23 07:25:09 -07:00
Homu 8ed0346284 Auto merge of #3077 - str4d:asan-initialization-order-fiasco, r=str4d
Split declaration and definition of SPROUT_BRANCH_ID constant

Fixes an initialization-order-fiasco error detected by ASan:
https://ci.z.cash/#/builders/7/builds/149
2018-03-20 16:16:13 -07:00
Jack Grigg 7346f09026 Only set multicore flags if OpenMP is available 2018-03-19 17:32:21 +01:00
Simon eb13862667 Closes #3084. Log txid when removing expired txs from mempool. 2018-03-16 11:46:39 -07:00
Jack Grigg 7b4d0c7762 Notify users about auto-senescence via -alertnotify
Closes #2829.
2018-03-16 10:25:45 +01:00
HomuandMarshall Gaucher 01c31ec57f Auto merge of #3069 - braddmiller:3034-disable-auto-dep, r=daira
Disable auto-deprecation on regtest and testnet

Prevents auto-senescence based on @str4d's recommendation to early return out of `EnforceNodeDeprecation` if net is not `main`.

Closes #2876.

Co-authored-by: Marshall Gaucher <marshall@z.cash>
2018-03-15 18:45:15 -07:00
Homu bc8221da81 Auto merge of #3089 - kozyilmaz:clang, r=str4d
[macOS] Fix test/gtest bugs caught by latest clang

Tests fail with latest clang on macOS (clang-900.0.39.2)

```
test/rpc_wallet_tests.cpp:1064:26: error: implicit conversion from 'double' to 'CAmount' (aka 'long long') changes value from 123.456 to 123 [-Werror,-Wliteral-conversion]
test/rpc_wallet_tests.cpp:1071:18: error: implicit conversion from 'double' to 'CAmount' (aka 'long long') changes value from 1.111 to 1 [-Werror,-Wliteral-conversion]
gtest/test_deprecation.cpp:28:1: error: control reaches end of non-void function [-Werror,-Wreturn-type]
```

Part of #2246.
2018-03-15 17:21:23 -07:00
Jack Grigg 132a255000 Add link to Overwinter info page 2018-03-13 00:47:10 +00:00
Jonathan "Duke" Leto cb7bcd21ae Return JoinSplit and JoinSplitOutput indexes in z_listreceivedbyaddress 2018-03-12 00:50:56 -07:00
Jack Grigg a6ae8f55ae Split declaration and definition of SPROUT_BRANCH_ID constant
Fixes an initialization-order-fiasco error detected by ASan:
https://ci.z.cash/#/builders/7/builds/149
2018-03-09 09:42:20 +00:00
Homu d88a12262c Auto merge of #3050 - bitcartel:cleanup_define_X, r=daira
Code clean up. Remove use of X macro.

Closes #3049
2018-03-08 03:19:29 -08:00
Brad Miller e882e3c06f Clean up 2018-03-07 09:33:55 -07:00
Homu b3a656cf53 Auto merge of #3048 - str4d:analysis-tools, r=str4d
Add configure flags for enabling ASan/UBSan and TSan

Also adds an environment variable for setting configure flags in `./zcutil/build.sh`.
2018-03-06 11:53:43 -08:00
Simon 7e9d662ef6 Code clean up. Remove use of X macro. 2018-03-05 15:00:33 -08:00
Homu 9a6a81afff Auto merge of #3036 - plutomonkey:typo, r=daira
Fix typo in comment: should link to issue #1359.

Fix typo in comment.
2018-03-02 06:21:20 -08:00