Commit Graph

9493 Commits

Author SHA1 Message Date
Sean Bowe decde3864d Enable MONTGOMERY_OUTPUT everywhere. 2016-08-22 15:48:43 -06:00
Sean Bowe 6a1653f009 Update libsnark dependency. 2016-08-22 15:48:20 -06:00
Sean Bowe ae6b333c75 Perform curve parameter initialization at start of gtest suite. 2016-08-22 15:47:00 -06:00
Daira Hopwood ea92aba9fe Move bigint arithmetic implementations to libsnark. 2016-08-22 15:46:58 -06:00
Sean Bowe f0dab51cf3 Implement zkSNARK compression. 2016-08-22 00:36:12 -06:00
zkbot 365845216b Auto merge of #1268 - ThisIsNotOfficialCodeItsJustForks:t1130-upgrade-libsodium, r=ebfull
Upgrade libsodium for AVX2-detection bugfix.

Upgrades libsodium to bring in an AVX2-detection bugfix (to help with #1130).
2016-08-22 02:34:30 +00:00
zkbot f4491c51e4 Auto merge of #1248 - rcseacord:rcseacord-patch-4, r=ebfull
Update uint256.h

Addresses load of misaligned address for type 'const uint32_t' #1246
2016-08-22 00:12:48 +00:00
Lars-Magnus Skog 8fd71a194e changed module name from "bitcoin" to "Zcash" in FormatException() 2016-08-21 15:10:09 +02:00
Jack Grigg e273f05d10 Remove unnecessary temporary array from Equihash hash generation 2016-08-21 06:05:48 +12:00
Jack Grigg 6e629886e5 Add another test case based on example in the spec 2016-08-21 05:57:46 +12:00
Gaurav Rana 6c7cc8ebea update zcash-cli stop message
changed "Bitcoin server stopping" to "Zcash server stopping"
2016-08-20 12:27:12 +00:00
zkbot 7e556172d9 Auto merge of #1236 - tomrittervg:tomrittervg-comments-1, r=ebfull
Clarify comment about nonce space for Note Encryption
2016-08-18 23:38:36 +00:00
Taylor Hornby 2902ac7ce8 Use libsodium's s < L check, instead checking that libsodium checks that. 2016-08-18 16:38:20 -06:00
Tom Ritter 36d5f42948 Update NoteEncryption.hpp 2016-08-18 16:51:15 -05:00
zkbot 28a30f7801 Auto merge of #1254 - ebfull:tx-structure-changes, r=bitcartel
Change memo field size and relocate `ciphertexts` field of JoinSplit description

Closes #1190
Closes #1187
2016-08-18 16:49:47 +00:00
ebfull 2ee6ed64eb Add parenthesis around macro value definition 2016-08-18 10:43:58 -06:00
zkbot af9898eee5 Auto merge of #1258 - ThisIsNotOfficialCodeItsJustForks:t1251-upstream-anti-dos, r=daira
Pull in some DoS mitigations from upstream

Closes #1251.

**WARNING: I force pushed**
2016-08-18 16:08:25 +00:00
zkbot 3d28c86c8e Auto merge of #1205 - str4d:1199-key-management, r=str4d
Add support for spending keys to the basic key store

Prerequisite for #1197 and #1199.
2016-08-18 00:27:09 +00:00
Jack Grigg a4f4fa8fe9 ASSERT -> EXPECT in test to get more info per test run about future regressions 2016-08-18 12:25:01 +12:00
Jack Grigg 04dfc3c569 Rework test to check for failure to return a spending key 2016-08-18 12:22:30 +12:00
Taylor Hornby f5d3d420f6 Add -fwrapv -fno-strict-aliasing; fix libzcash flags. 2016-08-17 11:57:51 -06:00
Taylor Hornby 46ad3c2758 Fix inconsistent optimization flags; single source of truth. 2016-08-17 11:38:28 -06:00
Taylor Hornby a635d6e995 Upgrade libsodium for AVX2-detection bugfix. 2016-08-17 10:43:06 -06:00
zkbot 39af39fb85 Auto merge of #1231 - rcseacord:rcseacord-patch-3, r=str4d
Address incorrect use of shared_ptr in test_equihash.cpp

Closes #1228
2016-08-17 01:30:26 +00:00
zkbot cdc01fad17 Auto merge of #1230 - rcseacord:rcseacord-patch-1, r=str4d
Address incorrect use of shared_ptr in equihash.cpp

Closes #1214
2016-08-17 00:35:57 +00:00
Jack Grigg 0d7386916d Add separate lock for SpendingKey key store operations 2016-08-16 22:17:33 +12:00
Jack Grigg c2059f9e09 Remove non-libsnark dependencies and test harness code from coverage reports
Closes #1203
2016-08-16 22:05:35 +12:00
Jack Grigg 71442d31cf Add gtest coverage to folders deleted by "make clean" 2016-08-16 20:30:24 +12:00
Jack Grigg 873625bc85 Add gtest coverage intermediates to list of files deleted by make 2016-08-16 18:38:42 +12:00
Jack Grigg 6ecb05dd2f Enable branch coverage in coverage reports
Closes #892
2016-08-16 18:32:56 +12:00
Jack Grigg 5be6abbf84 Store the Equihash solution in minimal representation in the block header
The genesis blocks and miner tests have been regenerated, because changing the
block header serialisation format changes the block hash, and thus validity.

The Equihash solutions have been removed from the bloom test inputs for
simplicity (block validity is not checked there; only a valid serialisation is
necessary).
2016-08-16 16:02:39 +12:00
Wladimir J. van der Laan 9dcea38a6b net: correctly initialize nMinPingUsecTime
`nMinPingUsecTime` was left uninitialized in CNode.
The correct initialization for a minimum-until-now is int64_t's max value, so initialize it to that.
Thanks @MarcoFalke for noticing.
2016-08-15 20:03:50 -06:00
Patrick Strateman 85e84f5e58 Use network group instead of CNetAddr in final pass to select node to disconnect 2016-08-15 19:38:34 -06:00
Patrick Strateman b63e75ae12 Fix comment 2016-08-15 19:38:29 -06:00
Patrick Strateman f1e7e37130 Acquire cs_vNodes before changing refrence counts 2016-08-15 19:38:22 -06:00
Patrick Strateman 75c0598cac CNodeRef copy constructor and assignment operator 2016-08-15 19:38:17 -06:00
Patrick Strateman ce94413e03 Return false early if vEvictionCandidates is empty 2016-08-15 19:38:10 -06:00
Patrick Strateman 4dad09350f Better support for nodes with non-standard nMaxConnections 2016-08-15 19:38:04 -06:00
Patrick Strateman 6e966f67fd RAII wrapper for CNode* 2016-08-15 19:37:56 -06:00
Patrick Strateman 396bd999ad Add comments to AttemptToEvictConnection 2016-08-15 19:37:50 -06:00
Patrick Strateman 0560d671ab Remove redundant whiteconnections option 2016-08-15 19:37:27 -06:00
Patrick Strateman dd99be0f8c Prefer to disconnect peers in favor of whitelisted peers 2016-08-15 19:31:27 -06:00
Patrick Strateman 2fa41ff9b3 AttemptToEvictConnection 2016-08-15 19:31:21 -06:00
Patrick Strateman e279e5f90a Record nMinPingUsecTime 2016-08-15 19:31:14 -06:00
Patrick Strateman bd80ec0d23 Refactor: Move failure conditions to the top of AcceptConnection 2016-08-15 19:31:06 -06:00
Patrick Strateman 12005016cd Refactor: Bail early in AcceptConnection 2016-08-15 19:30:49 -06:00
Patrick Strateman 057d60781d Refactor: AcceptConnection (modified to include 95a50390) 2016-08-15 19:28:18 -06:00
Jack Grigg 20abe2083c Extend byte array expansion and compression methods with optional padding 2016-08-16 11:02:04 +12:00
Jack Grigg caa0348f04 Update Equihash hash generation to match the Zcash spec
Changes:

- floor(512/n)*n/8 bytes of BLAKE2b output is split between floor(512/n)
  adjacent indices, instead of using one hash call per index.

- Parameters with n/(k+1) mod 8 != 0 will expand the BLAKE2b output to byte
  boundaries for colliding, instead of using a longer output and clearing bits.

- The genesis blocks have been regenerated.

- The test vectors have been regenerated.

- The Equihash inputs for the cancellation tests were modified to ensure that
  valid solutions were available to exercise the full solver.
2016-08-16 11:02:04 +12:00
Jack Grigg 881ffbfc87 Add methods for byte array expansion and compression
These methods convert between:

- A byte array of length NL/8, and
- An array of N blocks of ceil(L/8) bytes.
2016-08-16 11:02:00 +12:00