Commit Graph
7277 Commits
Author SHA1 Message Date
Sean Bowe 394f41853b Integrate low memory prover. 2017-11-01 02:11:49 +13:00
Sean Bowe c8a7f74753 Add streaming prover. 2017-11-01 02:11:49 +13:00
Sean Bowe abf4af12df Refactor proof generation function. 2017-11-01 02:11:46 +13:00
Sean Bowe 1a9543d064 Remove crusty old "loadVerifyingKey"/"loadProvingKey" APIs and associated invariants. 2017-10-21 15:42:41 +03:00
Homu 4ca8f506d7 Auto merge of #2652 - str4d:820-libsnark-subtree, r=str4d
Move libsnark in-repo as a git subtree

This PR pulls in the libsnark subtree at the exact commit that we currently fetch via the depends system. To verify:

```
$ ./contrib/devtools/git-subtree-check.sh src/snark
src/snark in HEAD was last updated to upstream commit 9ada3f84ab484c57b2247c2f41091fd6a0916573 (tree c10a38c759)
src/snark in HEAD currently refers to tree 34e916d3f6
:100644 100644 427f4f4ce9 13e54da68b M	Makefile
:040000 040000 42f29e42d1 dd73536163 M	src
FAIL: subtree directory tree doesn't match subtree commit tree
```

This shows that there are changes relative to what we currently use, due to the later commits in the PR. If we exclude them, we see that the code is identical:

```
$ git checkout 26a8f68ea8
$ ./contrib/devtools/git-subtree-check.sh src/snark
src/snark in HEAD was last updated to upstream commit 9ada3f84ab484c57b2247c2f41091fd6a0916573 (tree c10a38c759)
src/snark in HEAD currently refers to tree c10a38c759
GOOD
```

Closes #820.
2017-10-17 20:41:11 -07:00
Jack Grigg d43b32bbfe Remove OpenSSL libraries from libsnark LDLIBS
Unnecessary in the Zcash libsnark fork.
2017-10-17 20:33:28 -07:00
Jack Grigg 99ca5e1a22 Ensure that libsnark is built first, so its headers are available 2017-10-17 19:04:38 -07:00
Jack Grigg e2283742db Add libsnark to "make clean" 2017-10-17 19:03:41 -07:00
Homu af549fe6ed Auto merge of #2650 - str4d:2645-listunspent-benchmark, r=str4d
Add benchmark for listunspent

Closes #2645.
2017-10-12 15:24:53 -07:00
Jack Grigg 8598c20d40 Changes to get test_r1cs_ppzksnark passing 2017-10-11 21:15:49 +01:00
Jack Grigg 82e839e4ff Add "make libsnark-tests" that runs libsnark's "make check" 2017-10-11 15:22:24 +01:00
Jack Grigg 19f6668c27 Add "make check" to libsnark that runs the Google Tests 2017-10-11 15:21:44 +01:00
Jack Grigg 638e742f3f Update libsnark LDLIBS
-lsodium is necessary as we altered libsnark to use libsodium's RNG.
2017-10-11 15:19:33 +01:00
Jack Grigg 4699d0eb36 Add alt_bn128 to QAP and Merkle tree gadget tests 2017-10-11 15:18:01 +01:00
Jack Grigg df3083fe4e Remove test code corresponding to removed code 2017-10-11 14:59:51 +01:00
Jack Grigg 054ae60645 Migrate libsnark test code to Google Test 2017-10-11 14:54:42 +01:00
Jason Davies b30900a54b Replace "bitcoin" with "Zcash". 2017-10-05 18:10:15 +01:00
Simon 6de850120f Replace 'bitcoin address' with 'zcash address'. 2017-10-04 17:07:07 -07:00
Jay Graber c16528495c s/zcash/Zcash 2017-10-04 17:06:51 -07:00
Bruno Arueira d2c1e4a807 Removes out bitcoin mention in favor for zcash
Bitcoin Core => Zcash
bitcoin address => Zcash address
bitcoinaddress => zcashaddress

Closes #1756
2017-10-04 17:05:30 -07:00
Jack Grigg 99dd50c30c Add benchmark for listunspent
Closes #2645.
2017-10-04 12:48:50 +01:00
Jack Grigg 0f49863acb make-release.py: Versioning changes for 1.0.12. 2017-09-28 01:17:05 +01:00
Simon 5023af7bd5 Closes #2637. Make z_shieldcoinbase an experimental feature where it
can be enabled with: zcashd -experimentalfeatures -zshieldcoinbase.
2017-09-27 10:43:54 -07:00
Simon b85008e786 Update which lock to synchronize on when calling GetBestAnchor(). 2017-09-26 10:16:33 -07:00
Jack Grigg 39cb7df909 make-release.py: Versioning changes for 1.0.12-rc1. 2017-09-23 10:42:23 +01:00
Homu f34c60de37 Auto merge of #2615 - bitcartel:2448_shield_coinbase, r=bitcartel
Add RPC command shield_coinbase #2448.

Shield transparent coinbase funds by sending to a shielded z address. Closes #2448.
2017-09-22 12:04:31 -07:00
Simon 06c19063bb Implement RPC shield_coinbase #2448. 2017-09-21 15:04:12 -07:00
Homu 8f16b27304 Auto merge of #2616 - nathan-at-least:importprivkey-shows-address.4, r=str4d
Importprivkey shows address

Scratching an itch: make `importprivkey` output the corresponding address.

Without this PR, `importprivkey` shows no output. Because we're moving towards an "address-based" RPC interface, rather than "account-based", there's a gap when using `importprivkey` because there's no way to assign it to a specific account, but also no easy way to determine the address. This change fixes that wart.
2017-09-21 14:29:03 -07:00
Homu 60b4a79000 Auto merge of #2620 - bitcartel:2583_watch_only_fspendable, r=str4d
Closes #2583. Exclude watch-only utxos from coin selection.
2017-09-20 04:49:48 -07:00
Simon b17e1b4080 Closes #2583. Exclude watch-only utxos from z_sendmany coin selection. 2017-09-19 19:42:48 -07:00
Homu 6e9964ff70 Auto merge of #2613 - arielgabizon:load-wallet-benchmark, r=str4d
Add load-wallet benchmark

Closes #2518.
2017-09-19 01:52:22 -07:00
Ariel Gabizon 2e8aefdce1 add load-wallet benchmark 2017-09-18 21:54:53 +02:00
Homu 61d9c6745a Auto merge of #2545 - bhjortsberg:fixes-for-gcc-7, r=str4d
Fixes for gcc 7

This fixes a few issues when using a newer compiler (in my case gcc 7.1.1) available in for example Arch Linux.
Solves for example this issue: https://github.com/zcash/zcash/issues/2304

The first thing is an error when checking for boost_system and is solved by disabling that warning (wich is treated as an error and, hence, stops the build):

```
configure:22242: checking for exit in -lboost_system-mt
configure:22267: g++ -m64 -o conftest -std=c++11 -pipe -fPIC -O1 -fwrapv -fno-strict-aliasing -Werror -g  -Wformat -Wformat-security -Wstack-protector -fstack-protector-all -fPIE ..<snip>... /x86_64-unknown-linux-gnu/share/../lib conftest.cpp -lboost_system-mt  -lanl  >&5
conftest.cpp:70:6: error: declaration of 'char exit()' conflicts with built-in declaration 'void exit(int)' [-Werror=builtin-declaration-mismatch]
 char exit ();
      ^~~~
cc1plus: all warnings being treated as errors

```

The second thing was to clean some code that is deprecated in C++11 which also lead to a warning treated as error. It could also be fixed with `-Wno-deprecated` but better to fix the issue in my opinion.
2017-09-18 11:45:24 -07:00
Homu e0bef1de56 Auto merge of #2564 - str4d:2074-currency-units, r=str4d
Rationalize currency unit to "ZEC"

Cherry-picked from the upstream PR bitcoin/bitcoin#6504

Part of #2074
2017-09-18 00:07:52 -07:00
Nathan Wilcox de422c066b [tests pass] Ensure importprivkey outputs the address in case key is already imported. 2017-09-18 15:30:42 +09:00
Nathan Wilcox d187317083 [tests pass] Output address on new key import. 2017-09-18 15:30:42 +09:00
Homu d1bba6f1b6 Auto merge of #2601 - str4d:2156-large-wallet-utxos, r=str4d
Benchmark time to call sendtoaddress with many UTXOs

Part of #2156.
2017-09-13 15:38:57 -07:00
Jack Grigg a76174b76b Benchmark time to call sendtoaddress with many UTXOs 2017-08-31 02:15:06 +01:00
Jason Davies d6252a9473 Fix deprecation policy comment.
Thanks to @daira for spotting this and suggesting the correct policy.
2017-08-15 19:09:12 +01:00
Jack Grigg 2fd43c599f make-release.py: Versioning changes for 1.0.11. 2017-08-15 09:52:36 +01:00
Jack Grigg 6dec2d0355 Rationalize currency unit to "ZEC" 2017-08-03 18:49:04 +01:00
Ross Nicoll 091b2116a0 Rationalize currency unit to "BTC"
Previously various user-facing strings have used inconsistent currency units "BTC",
"btc" and "bitcoins". This adds a single constant and uses it for each reference to
the currency unit.

Also adds a description of the unit for --maxtxfee, and adds the missing "amount"
field description to the (deprecated) move RPC command.
2017-08-03 16:32:41 +01:00
Jack Grigg 24d98cece0 Add libsnark compile flag to not copy DEPINST to PREFIX
This is useful for Zcash, where DEPINST is its depends folder, not libsnark's
internal dependency folder.
2017-08-02 15:53:51 +01:00
Sean Bowe 26a8f68ea8 Remove libsnark from depends system and integrate it into build system. 2017-08-02 15:49:30 +01:00
Jack Grigg a06446408c Merge commit '51e448641d6cbcd582afa22cd8475f8c3086dad7' as 'src/snark' 2017-08-02 11:17:32 +01:00
Jack Grigg 51e448641d Squashed 'src/snark/' content from commit 9ada3f8
git-subtree-dir: src/snark
git-subtree-split: 9ada3f84ab484c57b2247c2f41091fd6a0916573
2017-08-02 11:17:25 +01:00
Ariel Gabizon fcf824e9f1 make-release.py: Versioning changes for 1.0.11-rc1. 2017-08-01 17:11:57 +02:00
Homu 10acd8a1fb Auto merge of #2484 - str4d:block-download-completion, r=daira
Add block download progress to metrics UI
2017-07-28 21:57:19 -07:00
Jack Grigg 92bfde0edf Improve network height estimation 2017-07-28 10:50:07 +00:00
Jack Grigg 4a651837be Correct and extend EstimateNetHeightInner tests
Corrections are to the median block times, which were generated by subtracting
CBlockIndex::nMedianTimeSpan / 2 from the block height and then multiplying by
the target spacing. GetMedianTimePast() takes an array sorted by std::sort() and
returns element CBlockIndex::nMedianTimeSpan / 2, meaning that if
CBlockIndex::nMedianTimeSpan is odd (which it is), there is an out-by-one error
in the subtraction.
2017-07-28 10:45:44 +00:00