Commit Graph

98 Commits

Author SHA1 Message Date
Jack Grigg
68a1a592ca Remove nType and nVersion from Zcash-specific code 2018-04-17 13:09:47 +01: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
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
49cf707d2c Add Base58 encoding of viewing keys 2017-12-20 00:46:33 +00:00
Jack Grigg
aa666c9673 Implement viewing key storage in the keystore 2017-12-04 17:17:18 +00:00
Jack Grigg
642a1caf93 ViewingKey -> ReceivingKey per zcash/zips#117 2017-12-04 17:17:18 +00:00
syd
4e4aa5b6ec Get rid of underscore prefixes for include guards.
This is because they may conflict with reserved names. Also took
this opportunity to make the guards in the zcash subdir a bit
more uniform by having them all conform to ZC_<...>_H_

This closes #1272
2017-11-28 14:57:58 -05:00
Jack Grigg
fee8835388 Mark libsnark includes as library includes 2017-11-15 16:49:10 +00:00
Homu
c8ecd49574 Auto merge of #2159 - bitcartel:1.0.7_payment_disclosure, r=str4d
Payment disclosure (experimental feature)
2017-11-14 14:06:22 -08:00
Simon
45232b1961 Add payment disclosure as experimental feature. 2017-11-14 13:29:05 -08:00
Ariel Gabizon
4305a56221 boost::format -> tinyformat 2017-11-01 02:11:49 +13:00
Sean Bowe
394f41853b Integrate low memory prover. 2017-11-01 02:11:49 +13:00
Sean Bowe
1a9543d064 Remove crusty old "loadVerifyingKey"/"loadProvingKey" APIs and associated invariants. 2017-10-21 15:42:41 +03:00
Jack Grigg
51fde9ea08 Use a more specific exception class for note decryption failure
Closes #1545.
2017-01-31 23:05:19 +01:00
Eran Tromer
894a0b3295 CreateJoinSplit: add start_profiling() call
This solves the problem of profiling output displaying nonsensical large time values.
2017-01-05 11:30:23 -05:00
zkbot
57a0725ae1 Auto merge of #1946 - str4d:blockchain-stats-num-commitments, r=ebfull
Add total number of commitments to getblockchaininfo
2016-12-16 21:47:53 +00:00
Jack Grigg
d0ce704abe Add a tool for profiling the creation of JoinSplits 2016-12-17 02:43:43 +13:00
Jack Grigg
5d6e1aa60f Add total number of commitments to getblockchaininfo 2016-12-15 15:50:26 +13:00
Sean Bowe
c4fce3fc81 Check that E' points are actually in G2 by ensuring they are of order r. 2016-12-12 19:14:42 -07:00
Sean Bowe
eb82238dd0 Rename Dummy to Disabled. 2016-12-08 12:32:39 -07:00
Sean Bowe
53dc6a41eb Ensure ProofVerifier cannot be accidentally copied. 2016-12-06 18:42:31 -07:00
Sean Bowe
bc59f53722 Isolate verification to a ProofVerifier context object that allows verification behavior to be tuned by the caller. 2016-12-05 12:40:06 -07:00
Simon
13e9a639b7 Fix threading issue when initializing public params. 2016-11-17 15:36:26 -07:00
zkbot
54218ea05c Auto merge of #1797 - ebfull:improve-joinsplit-diagnostics, r=bitcartel
Improve joinsplit diagnostics

I don't advocate merging this for the hotfix release (to fix #1779) but this PR can be used to diagnose the real issue and should be merged ASAP afterward.

~I still need to add tests for `last()` and `element()` though.~ Done.
2016-11-16 01:06:37 +00:00
Sean Bowe
78df9f0211 Process verification keys to perform online verification. 2016-11-14 10:24:07 -07:00
Sean Bowe
5f0a73ce11 Improve accuracy of constraint system violation diagnostics. 2016-11-05 11:27:23 -06:00
zkbot
c73122db7b Auto merge of #1399 - ebfull:write-r1cs, r=ebfull
Write R1CS output to file in GenerateParams.

Not urgent. This is how the constraint system is communicated to the MPC.
2016-11-04 16:57:43 +00:00
Sean Bowe
c4643bd949 Throw more descriptive exceptions when the constraint system is violated. 2016-11-01 14:52:03 -06:00
Simon
19bec4d9bb Fixes CID 1352715 uninitialized scalar field. 2016-10-20 11:25:36 -07:00
Simon
b7727d8b3b Fixes CID 1352687 uninitialized scalar field. 2016-10-20 11:19:36 -07:00
Sean Bowe
0a958ae7f6 Write R1CS output to file in GenerateParams. 2016-09-14 15:57:54 -06:00
Jack Grigg
3a15b1637e Move serialized Zcash address length constants into zcash/Address.hpp 2016-09-13 14:21:49 +12:00
Jack Grigg
16d140f4a2 Add support for encrypting spending keys 2016-09-13 14:21:49 +12:00
Simon
4eb1a96f9a Add public field 'memo' to JSOutput to enable creation of notes with custom memos. 2016-09-08 21:46:13 -07:00
zkbot
485ace0a1b Auto merge of #1311 - ebfull:cleanup-pp, r=ebfull
Deallocate the public parameters during Shutdown.

This also has it deallocated in `GenerateParams` and `test_bitcoin`. The virtual destructor probably isn't necessary but I added it just in case we need it some other time.
2016-09-02 03:03:45 +00:00
Jack Grigg
5abaca1af6 Fix the failing test! 2016-09-01 13:00:02 +12:00
Jack Grigg
ac91ebbe92 Add test showing that the witness cache isn't being serialised 2016-09-01 12:47:44 +12:00
Jack Grigg
32a103aab7 Changes after review 2016-09-01 11:48:15 +12:00
Jack Grigg
be86b6c332 Add test for GetNoteDecryptor() 2016-08-31 18:57:32 +12:00
Jack Grigg
02e674555e Add wallet method for finding spendable notes in a CTransaction 2016-08-30 00:29:49 +12:00
Jack Grigg
5db5e42ec3 Add optional bool to disable computation of proof in JSDescription constructor 2016-08-30 00:29:49 +12:00
Sean Bowe
7ee82c4361 Deallocate the public parameters during Shutdown. 2016-08-26 16:55:43 -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
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