Commit Graph

8949 Commits

Author SHA1 Message Date
Taylor Hornby d578de8e27 Add ability to run things under valgrind. 2016-05-25 16:42:36 -06:00
Sean Bowe fd7c139e37 Pass `-fopenmp` at compile-time to enable MULTICORE. 2016-05-25 15:59:59 -06:00
Sean Bowe e6c2d66c93 Enable MULTICORE proving behavior with omp. 2016-05-25 11:19:13 -06:00
zkbot 8ff7c0752e Auto merge of #954 - ebfull:fix-cpourtx-structure, r=ebfull
CPourTx structural changes

* Enable binary serialization of proofs and the proving key (closes #799) and make the proofs fixed-size.
* Reorder fields of CPourTx to match the spec (closes #927)
2016-05-25 16:33:31 +00:00
zkbot 1f07deb5db Auto merge of #956 - ebfull:uint252, r=ebfull
Enforce first four bits are zero for all spending keys and phi.

This introduces a `uint252` to ensure these fields are 252-bits for the PRFs.

Closes #899
2016-05-25 14:59:00 +00:00
Simon 0dd2bf94dd Declare constants for the maximum number of retries, when to sleep
between retries and how long for.
2016-05-24 23:56:31 -07:00
Philip Kaufmann 0116e20ea1 remove using namespace std from addrman.cpp
Signed-off-by: Simon <simon@bitcartel.com>
2016-05-24 22:53:17 -07:00
Patrick Strateman 7bfb552f63 CAddrMan::Deserialize handle corrupt serializations better.
Signed-off-by: Simon <simon@bitcartel.com>
2016-05-24 22:47:00 -07:00
Ethan Heilman 1bf2cb1a06 Increase test coverage for addrman and addrinfo
Adds several unittests for CAddrMan and CAddrInfo.
Increases the accuracy of addrman tests.
Removes non-determinism in tests by overriding the random number generator.
Extracts testing code from addrman class to test class.

Signed-off-by: Simon <simon@bitcartel.com>
2016-05-24 12:55:33 -07:00
EthanHeilman 8375e1a3e7 Creates unittests for addrman, makes addrman testable.
Adds several unittests for addrman to verify it works as expected.
Makes small modifications to addrman to allow deterministic and targeted tests.

Signed-off-by: Simon <simon@bitcartel.com>
2016-05-24 11:10:54 -07:00
Sean Bowe 6b5d608899 Update proving key and tests that depend on transaction structure changes 2016-05-24 11:09:17 -06:00
Sean Bowe 3ebca007f3 Reorder fields of CPourTx to reflect the spec. 2016-05-24 11:08:31 -06:00
Sean Bowe 9285bba885 Enable binary serializations of proofs and r1cs keys, and make the `CPourTx` proof field fixed-size. 2016-05-24 11:08:31 -06:00
Sean Bowe defe37a6d4 Enforce first four bits are zero for all spending keys and phi. 2016-05-24 11:07:09 -06:00
Jack Grigg b5c6a3af12 Use optimised Equihash solver for miner and benchmarks
The basic solver is still used for regtest-only purposes.
2016-05-24 23:16:53 +12:00
Jack Grigg d4d76536a5 Use fixed-width array for storing hash and indices 2016-05-24 23:16:53 +12:00
Jack Grigg 29d9986c83 Store full indices in the same char* as the hash 2016-05-24 23:16:52 +12:00
Jack Grigg 639c40047f Use comparator object for sorting StepRows 2016-05-24 23:16:52 +12:00
Jack Grigg a683cc85d9 Merge *StepRow XOR and trimming operations 2016-05-24 23:16:52 +12:00
Jack Grigg e95747288a Use template parameters to statically initialise Equihash 2016-05-24 23:16:50 +12:00
zkbot 9cf13a3e85 Auto merge of #955 - loxal:zc.v0.11.2.latest, r=ebfull
#776 add sha256sum support for Mac OS X
2016-05-24 03:47:03 +00:00
zkbot 4ac1841614 Auto merge of #958 - ebfull:prf-refactor, r=ebfull
Refactor PRF_gadget to hand responsibility to PRF_addr_a_pk_gadget for creating the '0' argument to the PRF

Closes #930
2016-05-24 01:11:44 +00:00
Jack Grigg 39f5cb35f9 Store truncated indices in the same char* as the hash (H/T tromp for the idea!) 2016-05-24 12:02:46 +12:00
Jack Grigg c92c1f6050 Implement index-truncation Equihash optimisation 2016-05-24 12:02:46 +12:00
Jack Grigg 6afef0dd6d Cleanups 2016-05-24 12:02:46 +12:00
Jack Grigg a3361e778b Refactor StepRow to make optimisation easier 2016-05-24 12:02:08 +12:00
zkbot 0395055549 Auto merge of #961 - alfiedotwtf:zc.v0.11.2.latest, r=ebfull
Rename libzerocash to libzcash

Rename libzerocash to libzcash in Makefiles and source (C++ namespace) #960
2016-05-23 22:49:59 +00:00
Alfie John 1785bdb98a Rename libzerocash to libzcash 2016-05-24 08:36:48 +10:00
Alex 7e540a0b6f add sha256sum support for Mac OS X 2016-05-23 23:54:29 +02:00
zkbot a09517f313 Auto merge of #948 - nathan-at-least:t946.fix-cov-zcash, r=nathan-at-least
Fix a test name bug so that ``make cov-zcash`` correctly runs the ``zcash-gtest`` binary. Fixes #946.
2016-05-23 21:44:20 +00:00
Sean Bowe 1bcdec40a4 Refactor PRF_gadget to hand responsibility to PRF_addr_a_pk_gadget for creating the '0' argument to the PRF. 2016-05-23 10:43:25 -06:00
zkbot 671b9562f1 Auto merge of #943 - str4d:938-clientversion, r=ebfull
Update version and help strings for Zcash

Closes #938.
2016-05-21 00:30:13 +00:00
Jack Grigg b3e712a4d2 Minor error message tweak 2016-05-21 11:48:52 +12:00
Jack Grigg c5d080bb83 Add Zcash Developers to CLI copyright notice 2016-05-20 11:56:19 +12:00
Jack Grigg a1de76c7a0 Bitcoin -> Zcash in version and help text 2016-05-20 11:56:11 +12:00
Nathan Wilcox 7fde87cd4e Fix a test name bug so that ``make cov-zcash`` correctly runs the ``zcash-gtest`` binary. Fixes #946. 2016-05-19 10:52:28 -07:00
Taylor Hornby be1bae14e8 Hide new Boost warnings on GCC 6. 2016-05-18 12:20:16 -06:00
Taylor Hornby e334392fab Patch libsnark to build with my compiler. Upstream PR #35. 2016-05-18 11:22:29 -06:00
Taylor Hornby 6dc53bdc33 Turn on -Werror for the Zcash build. 2016-05-18 11:22:29 -06:00
Taylor Hornby 7c1ccd9006 Remove unused code in libzerocash util.cpp 2016-05-18 11:22:29 -06:00
Taylor Hornby ec3bd70b6d Ignore deprecated declaration warnings. 2016-05-18 11:22:29 -06:00
Taylor Hornby 675e17022f Use left shift instead of floating-point pow() in equihash. 2016-05-18 11:22:29 -06:00
Taylor Hornby 6fe2e85816 Use HARDENED_CPPFLAGS in the Makefile consistently. 2016-05-18 11:22:29 -06:00
Taylor Hornby 67f3fe3d25 Fix FORTIFY_SOURCE build errors. 2016-05-18 11:22:29 -06:00
Taylor Hornby e857a0cd1f Fix build warnings in sighash tests. 2016-05-18 11:22:29 -06:00
Jack Grigg fe0cacd2d8 Add Zcash revision to version strings 2016-05-18 16:50:28 +12:00
Sean Bowe a6770caa45 Update versions and release notes. 2016-05-16 23:08:35 -06:00
Sean Bowe 383f8b0c8a Change testnet network magics. 2016-05-16 22:54:33 -06:00
Taylor Hornby bf2e3122ac Remove the Merkle tree hash function's fixed point. 2016-05-16 20:20:36 -06:00
zkbot 9e387120eb Auto merge of #908 - ebfull:trafford, r=ebfull
libzcash and new zkSNARK circuit implementation

This PR completes [`libzcash`](https://github.com/zcash/zcash/tree/zc.v0.11.2.latest/src/zcash), the implementation of the [Zcash protocol specification](9bb4410e45/protocol/protocol.pdf) and replacement of [`libzerocash`](https://github.com/Zerocash/libzerocash), our old Zerocash protocol implementation. The new spec comes with some improvements to security and terminology, with minimal differences from the original academic design.

This implementation includes:

* A rewrite of the zkSNARK circuit for `JoinSplit` operations. This rewrite is cleaner, broken up into separate gadgets, easier to audit and review, and fixes some security bugs. (Closes #822, Closes #809, Closes #500, Closes #854)
* A minimal API for interacting with `JoinSplit`s and surrounding primitives. This PR removes almost twice as much code as it introduces. (Closes #877, Closes #315, Closes #824, Closes #798, Closes #707, Closes #512, Closes #247, Closes #128, Closes #514)
2016-05-17 01:04:49 +00:00