Commit Graph

9238 Commits

Author SHA1 Message Date
zkbot
f9c02827d4 Auto merge of #1300 - ThisIsNotOfficialCodeItsJustForks:t915-add-wformat-security.2, r=ebfull
Add -Wformat -Wformat-security

Closes #915. Supersedes #1267 (because of weird rebase/github/zkbot bug).
2016-08-30 22:31:48 +00:00
zkbot
835588a629 Auto merge of #1314 - str4d:fix-getblock-solution-output, r=ebfull
Output Equihash solution in RPC results as a hex string

When the Equihash solution was changed to a compact form in #1175, the block header changed from storing a vector of indices to a vector of chars. `blockToJSON()` was not updated, which meant that RPC calls like `getblock` returned the solution as a list of 1344 integers.

This PR changes `blockToJSON()` to output the Equihash solution as a hex string, identical to how it appears in the block header.
2016-08-30 18:40:19 +00:00
zkbot
6731665a12 Auto merge of #1313 - bitcartel:zc.v0.11.2.z9_1122, r=ebfull
Fixes #1122 where json_spirit could stack overflow

See #1122 for details.
2016-08-30 18:00:11 +00:00
Jack Grigg
3e3da44c71 Test solution output of blockToJSON() 2016-08-30 14:42:49 +12:00
zkbot
e0fa312756 Auto merge of #1307 - str4d:remove-debug-pow-code, r=ebfull
Undo debugging change from 5be6abbf84

This was unintentionally committed, and caused Equihash verification of blocks
without parents to be skipped. This only affects the genesis block on the test
network, but also causes the "time verifyequihash" benchmark to incorrectly
appear instantaneous.
2016-08-29 22:09:17 +00:00
Simon
1f882153b6 Throw a domain error as json_spirit is a third-party library. 2016-08-27 09:14:25 -07:00
Jack Grigg
e1dde421c3 Output Equihash solution in RPC results as a hex string 2016-08-27 23:58:11 +12:00
Simon
df3af446e7 Fixes #1122 where json_spirit could stack overflow because there
was no maximum limit set on the number of nested compound elements.
2016-08-26 23:35:45 -07:00
Taylor Hornby
6dcb706734 Use -Wformat in the test for -Wformat-security 2016-08-26 10:14:33 -06:00
Jack Grigg
488e61e852 Undo debugging change from 5be6abbf84
This was unintentionally committed, and caused Equihash verification of blocks
without parents to be skipped. This only affects the genesis block on the test
network, but also causes the "time verifyequihash" benchmark to incorrectly
appear instantaneous.
2016-08-26 14:09:25 +12:00
zkbot
77a99f4a2a Auto merge of #1285 - ralphtheninja:zc.v0.11.2.latest, r=daira
update FormatException()

changed module name from "bitcoin" to "Zcash" in FormatException()
2016-08-26 02:06:23 +00:00
Daira Hopwood
e7f12c2057 Update steps after D 2016-08-25 21:21:33 +01:00
zkbot
8b139c2441 Auto merge of #1303 - daira:z9-version-number, r=daira
Update version number and add release notes for z9.

refs #1290
2016-08-25 19:32:20 +00:00
Daira Hopwood
727ed5ffa3 Update pchMessageStart for the z9 testnet. ⚧Ⓐ
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-08-25 15:55:51 +01:00
Daira Hopwood
d3f6eed98b Update doc/README.md and add z9 release notes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-08-25 15:07:53 +01:00
Daira Hopwood
bda0693aab Increment version number for z9 release.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-08-25 15:07:16 +01:00
zkbot
f8b73015bc Auto merge of #1208 - bitcartel:z8_rpc_keys, r=daira
RPC calls to manage zkey creation, management and backup

Rebased on PR #1205 for keystore functionality.

For #1197, implements:
z_getnewaddress
z_importkey
z_exportkey

For #1198, spending key support added to:
z_exportwallet
z_importwallet

Example dump file containing zkeys:
https://gist.github.com/bitcartel/d7013b30b19419c6a550bc5d6ff6cc47

Also adds:
z_listaddresses

Tests in:
gtest/test_wallet_zkeys
test/rpc_wallet_tests
2016-08-25 13:49:05 +00:00
zkbot
cca52f36df Auto merge of #1301 - bitcartel:zc.v0.11.2.latest_701_md_formatting, r=daira
Fix formatting of first paragraph of payment API document

The description of taddr and zaddr were bunched up one line.  This PR fixes the issue.

Self-ACK.  Please merge.
2016-08-25 10:09:56 +00:00
Simon
d1f16ffe85 Fix formatting. 2016-08-24 21:47:46 -07:00
Taylor Hornby
5d37904b9c Add -Wformat -Wformat-security 2016-08-24 16:38:37 -06:00
Simon
3bff998b38 Rename methods to avoid using prefix of _ underscore which is reserved.
Added logging of explicit exception rather than a catch all.
Removed redundant spending key check.
Updated user facing help message.
2016-08-24 11:55:26 -07:00
Simon
4b2e557181 Fix comments. 2016-08-24 11:19:34 -07:00
Simon
309b0ecd80 Add "zkey" to list of key types (used by the wallet to decide
whether or not it can be recovered if it detects bad records).
2016-08-24 11:19:34 -07:00
Simon
79d769a382 Remove one line of dead code. 2016-08-24 11:19:34 -07:00
Simon
2e0cc87acf Fix comment. 2016-08-24 11:19:34 -07:00
Simon
badb9a9c2f Add test coverage for RPC call z_getnewaddress. 2016-08-24 11:19:34 -07:00
Simon
60f762a549 Added wallet rpc tests to cover:
z_importwallet, z_exportwallet
z_importkey, z_exportkey
z_listaddresses
2016-08-24 11:19:34 -07:00
Simon
0feffd1424 Don't mark wallet as dirty if key already exists.
Fix incorrect method name used in error message.
2016-08-24 11:19:33 -07:00
Simon
4cea36bef3 Add gtest to cover new methods in:
CWallet
- GenerateNewZKey()
- AddZKey()
- LoadZKey()
- LoadZKeyMetadata()
CWalletDB
- WriteZKey()
2016-08-24 11:19:33 -07:00
Simon
e709997ff2 Implemented z_listaddresses to return all the zaddr in the wallet. 2016-08-24 11:19:33 -07:00
Simon
92444edc00 Add z_importwallet and z_exportwallet to handle keys for both
taddr and zaddr.  Restore behaviour of dumpwallet and importwallet
to only handle taddr.
2016-08-24 11:19:33 -07:00
Simon
c1c4594371 Implemented RPC calls z_importkey, z_exportkey, z_getnewaddress.
Modified RPC calls dumpwallet and importwallet to include spending keys.
2016-08-24 11:19:33 -07:00
zkbot
2833fb14af Auto merge of #1291 - daira:decrease-max-headers-results, r=daira
Decrease MAX_HEADERS_RESULTS to 1000. fixes #1289

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-08-24 05:45:53 +00:00
Daira Hopwood
b93c8139e6 Decrease MAX_HEADERS_RESULTS to 160. fixes #1289
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-08-24 06:14:09 +01:00
Daira Hopwood
bcf79c78c5 Change some asserts in equihash.cpp to be static.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-08-24 06:13:13 +01:00
Daira Hopwood
c6a7e897bc Add mostly-static checks on consistency of Equihash parameters, MAX_HEADERS_RESULTS, and MAX_PROTOCOL_MESSAGE_LENGTH.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-08-24 06:13:06 +01:00
zkbot
cab581256f Auto merge of #1292 - bitcartel:zc.v0.11.2.latest_701_rpc_docs, r=daira
Closes #701 by adding documentation about the Payment RPC interface.

@daira Calls which might not make it into z9 are labelled (NOT IN Z9 ALPHA).
2016-08-24 05:05:11 +00:00
zkbot
cd9d373987 Auto merge of #1260 - str4d:1175-byte-array-manipulation, r=ebfull
Update Equihash implementation to match the Zcash spec

Closes #1175
2016-08-24 03:01:13 +00:00
Jack Grigg
90b740fd3b Test conversion between solution indices and minimal representation 2016-08-24 13:42:52 +12:00
bitcartel
5f3f741e47 Add note about zkey and encrypted wallets in z9 alpha. 2016-08-23 15:33:05 -07:00
Simon
73f9e32b86 Closes #701 by adding documentation about the Payment RPC interface. 2016-08-23 00:37:43 -07:00
zkbot
27bd8e4129 Auto merge of #1270 - ThisIsNotOfficialCodeItsJustForks:t1168-fix-optimization-flags, r=daira
Fix inconsistent -O1/-O2, fix libzcash flags, add -fwrapv -fno-strict-aliasing

Closes #1168. In that ticket I decided the optimization flags for dependencies are out of scope, i.e. we go with whatever the upstream package maintainer chose.
2016-08-23 03:30:31 +00:00
zkbot
fed866e212 Auto merge of #1262 - ebfull:compressed-proofs, r=ebfull
Implement zkSNARK compression

Implement zkSNARK compression.

The serialization format of zkSNARKs has now been specified in our protocol specification. G1/G2 elements are now compressed into 33 byte and 65 byte formats, repsectively. `MONTGOMERY_OUTPUT` is enabled everywhere to make proving/verifying keys load faster and be consistent with the MPC.

Proofs are now 296 bytes. This PR also updates the proving and verifying keys.

Closes #1103. Closes #471.

See also https://github.com/zcash/libsnark/pull/3 and https://github.com/zcash/libsnark/pull/4
2016-08-23 02:11:30 +00:00
zkbot
07b246988b Auto merge of #1261 - str4d:892-branch-coverage, r=daira
Coverage report improvements
2016-08-23 00:19:48 +00:00
Sean Bowe
393b2b7834 Update proving/verifying keys. 2016-08-22 15:48:43 -06:00
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