Commit Graph
100 Commits
Author SHA1 Message Date
Sean Bowe 40bfb9e5b9 Swap bit endianness of test vectors 2018-05-07 18:57:04 -06:00
Sean Bowe fcbe7eef8d Update sapling-crypto and librustzcash 2018-05-07 18:56:55 -06:00
Sean Bowe f6f97dfb1c Fix miner tests 2018-05-07 14:37:46 -06:00
Sean Bowe 8c57bbac15 Fix broken error messages. 2018-05-07 14:37:46 -06:00
Sean Bowe e390a475c1 Fix outdated comment 2018-05-07 14:37:46 -06:00
Sean Bowe 98d2f090ca Evict transactions with obsolete anchors from the mempool 2018-05-07 14:37:46 -06:00
Sean Bowe 673a0a79b3 Adjust tests to handle Sapling anchor cache 2018-05-07 14:37:46 -06:00
Sean Bowe 31a04d2875 Calculate the correct hashFinalSaplingRoot in the miner. 2018-05-07 14:37:46 -06:00
Sean Bowe b4ff707605 Add support for Sapling anchor checks in mempool consistency checks. 2018-05-07 14:37:46 -06:00
Sean Bowe 1f8be05b63 Add consensus support for Sapling merkle trees. 2018-05-07 14:37:46 -06:00
Sean Bowe 85b39f57bb Add PushSaplingAnchor 2018-05-07 14:37:46 -06:00
Sean Bowe c643ff0b51 Add support for PopAnchor(.., SPROUT/SAPLING) 2018-05-07 14:37:46 -06:00
Sean Bowe 27616b9a04 Add support for Sapling anchors in coins/txdb. 2018-05-07 14:37:46 -06:00
Sean Bowe e814be60fe Rename hashSproutAnchorEnd to hashFinalSproutRoot to be consistent. 2018-05-07 14:37:46 -06:00
Sean Bowe f2c6d214e5 Rename hashSaplingAnchorEnd to hashFinalSaplingRoot to match spec. 2018-05-07 14:37:46 -06:00
Sean Bowe 7b62078782 Remove underscores from gtest test names. 2018-05-07 14:37:46 -06:00
Sean Bowe 7703a673ea Generalize the PushAnchor implementation behavior. 2018-05-07 14:37:43 -06:00
Sean Bowe 9ea4e387b2 Generalize the PopAnchor implementation behavior. 2018-05-07 13:46:06 -06:00
Sean Bowe 18322f074c Introduce support for GetBestAnchor(SAPLING). 2018-05-07 13:46:06 -06:00
Sean Bowe 2bd59e1473 Rename PushAnchor to PushSproutAnchor. 2018-05-07 13:46:06 -06:00
Sean Bowe 008f4ee8e7 Rename GetAnchorAt to GetSproutAnchorAt. 2018-05-07 13:46:06 -06:00
Sean Bowe 8b8d70cad9 Rename DB_ANCHOR to DB_SPROUT_ANCHOR. 2018-05-07 13:46:06 -06:00
Sean Bowe 30325eebf5 Add primitive implementation of GetSaplingAnchorEnd. 2018-05-07 13:46:06 -06:00
Sean Bowe 691a3fa2e9 Rename hashReserved to hashSaplingAnchorEnd. 2018-05-07 13:46:06 -06:00
Sean Bowe 08f0728884 Rename hashAnchor to hashSproutAnchor. 2018-05-07 13:46:06 -06:00
Sean Bowe d455828fdc Specifically describe anchors as Sprout anchors. 2018-05-07 13:46:06 -06:00
Sean Bowe 28d20bdb11 Rename NullifierType to ShieldedType. 2018-05-07 13:46:06 -06:00
Sean Bowe 2f23a656fb Add regression tests and test vectors for Sapling merkle tree 2018-05-07 13:46:06 -06:00
Sean Bowe 2b002a7e60 Add implementation of Sapling merkle tree 2018-05-07 13:46:06 -06:00
Sean Bowe a7cbb8475f Abstract uncommitted and depth personalization for IncrementalMerkleTree. 2018-05-07 13:46:06 -06:00
Sean Bowe 6679855147 Check that duplicate Sapling nullifiers don't exist within a transaction. 2018-04-25 17:10:34 -06:00
Sean Bowe 62ba80e766 Update librustzcash hash 2018-04-19 13:00:28 -06:00
Sean Bowe acfcdb94b9 Load Sapling testnet parameters into memory. 2018-04-17 15:04:46 -06:00
Sean Bowe 65dc30c5a1 Update librustzcash hash 2018-04-14 19:33:10 -06:00
Sean Bowe 341b775b19 Link with -ldl 2018-04-13 22:26:24 -06:00
Sean Bowe 395bcd3647 Invoke the merkle_hash API in librustzcash via test suite. 2018-04-13 22:26:22 -06:00
Sean Bowe e6bbd8481e Switch to latest librustzcash 2018-04-12 18:52:00 -06:00
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
Sean Bowe 26a8f68ea8 Remove libsnark from depends system and integrate it into build system. 2017-08-02 15:49:30 +01:00
Sean Bowe 15a9937654 Revert "Delete old protocol version constants and simplify code that used them."
This reverts commit 5a49c929dd.
2017-06-23 18:19:25 -06:00
Sean Bowe 9ad9a25eff Revert "Remove an unneeded version workaround as per @str4d's review comment."
This reverts commit 1e9db0b38a.
2017-06-23 18:19:17 -06:00
Sean Bowe 9eb9eebbb8 Check that pairings work properly when the G1 point is at infinity. 2017-05-23 16:31:41 -06:00
Sean Bowe 802ea76b3a Allow Rust-language related assets to be disabled with --disable-rust. 2017-03-18 07:47:40 -06:00
Sean Bowe 6a0c7ceae9 Introduce librustzcash and Rust to depends system. 2017-03-17 11:46:41 -06:00
Sean Bowe 69566ad756 Update libsnark. 2017-02-09 15:30:09 -07:00
Sean Bowe 05ec7887f1 Fix use after free in transaction_tests. 2017-02-09 14:35:33 -07:00
Sean Bowe 0d317cd522 Bump protocol version in release process if necessary. 2017-02-09 14:25:20 -07:00
Sean Bowe 5046d8cd05 Update release notes and Debian package. 2017-01-19 19:25:00 -07:00
Sean Bowe b8f737b364 Bump version to 1.0.5. 2017-01-19 19:21:32 -07:00
Sean Bowe 620c0e2845 Add test for z_importkey rescanning from beginning of chain. 2017-01-19 16:59:29 -07:00
Sean Bowe fc31ea8739 Add 'CreateJoinSplit' standalone utility to gitignore. 2017-01-05 00:31:22 -07:00
Sean Bowe fc538ec2ea Add test for IncrementalMerkleTree::size(). 2016-12-16 13:50:55 -07: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 37cce214a4 ASSERT_TRUE -> ASSERT_FALSE 2016-12-08 23:14:23 -07:00
Sean Bowe 690171e268 Add more tests for ProofVerifier. 2016-12-08 12:47:41 -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 ebd9aa11b1 Ensure cache contains valid entry when anchor is popped. 2016-12-06 12:54:56 -07:00
Sean Bowe 08de001a25 Regression test. 2016-12-06 12:54:53 -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
Sean Bowe f398a94766 Anchors and nullifiers should always be inherited from the parent cache. 2016-11-17 11:43:54 -07:00
Sean Bowe 3e2e8b5b42 Add test that last and element will throw exception when the tree is blank. 2016-11-15 12:17:19 -07:00
Sean Bowe 78df9f0211 Process verification keys to perform online verification. 2016-11-14 10:24:07 -07:00
Sean Bowe 226a6b3248 Initialize after profiling messages are suppressed. 2016-11-14 10:19:46 -07:00
Sean Bowe d92bea9888 Add tests for witness element and tree last methods. Strengthen testing by inserting a different commitment into the tree at each step. 2016-11-14 10:13:06 -07:00
Sean Bowe 996fccf267 1.0.2 release. 2016-11-07 19:03:20 -07:00
Sean Bowe 5f0a73ce11 Improve accuracy of constraint system violation diagnostics. 2016-11-05 11:27:23 -06:00
Sean Bowe b55744e1ad Regression test for constraint system violation. 2016-11-05 11:15:16 -06:00
Sean Bowe eb2e2b7043 1.0.1 release. 2016-11-03 22:26:15 -06:00
Sean Bowe 52676958d1 Test that a pure joinsplit will mine if other transactions are in the mempool. 2016-11-02 14:25:07 -06:00
Sean Bowe c4643bd949 Throw more descriptive exceptions when the constraint system is violated. 2016-11-01 14:52:03 -06:00
Sean Bowe 73363c3d9a Add checkpoint at block 2500. 2016-11-01 09:16:51 -06:00
Sean Bowe 2b2bc69e8c Properly account for joinsplit value when deciding if a transaction should be placed in a mined block. 2016-10-29 11:53:16 -06:00
Sean Bowe 7662d72bf4 Make more string changes. 2016-10-26 13:57:22 -06:00
Sean Bowe 58c4c0bba3 Change some Bitcoin strings to Zcash strings. 2016-10-26 13:29:05 -06:00
Sean Bowe 2399b1f9ad Add manpages for zcashd and zcash-cli binaries for debian. 2016-10-25 18:35:08 -06:00
Sean Bowe 27e3f362f0 Zcash zk-SNARK public parameters for 1.0 "Sprout". 2016-10-24 11:22:39 -06:00
Sean Bowe 74f15a73a1 Make 100KB transaction size limit a consensus rule, rather than a standard rule. 2016-10-08 00:00:23 -06:00
Sean Bowe 796c7ee52f Update to beta2 public parameters, remove regtest/testnet3 parameters
subdirectories.
2016-10-03 15:58:02 -06:00
Sean Bowe 0a958ae7f6 Write R1CS output to file in GenerateParams. 2016-09-14 15:57:54 -06:00
Sean Bowe 80259d4b4f Add release notes for 1.0.0-beta1. 2016-09-09 00:41:41 -06:00
Sean Bowe 88188dc2a3 Update pchMessageStart and add testnet DNS boostrapper. 2016-09-09 00:37:49 -06:00
Sean Bowe f11099e2f0 Change version to 1.0.0. This is just a beta. 2016-09-09 00:33:20 -06:00
Sean Bowe a4b00373ab Fix transaction test in test_bitcoin. 2016-09-07 13:55:31 -06:00
Sean Bowe 50aba0ec19 Remove TODO 808. 2016-09-05 13:03:32 -06:00
Sean Bowe d7eeb7455b Fix CheckTransaction bugs. 2016-09-05 12:18:43 -06:00
Sean Bowe f6b6c9bed8 Update libsnark again. 2016-09-05 12:00:50 -06:00
Sean Bowe 7ee82c4361 Deallocate the public parameters during Shutdown. 2016-08-26 16:55:43 -06: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
Sean Bowe f0dab51cf3 Implement zkSNARK compression. 2016-08-22 00:36:12 -06:00
ebfull 2ee6ed64eb Add parenthesis around macro value definition 2016-08-18 10:43:58 -06:00
Sean Bowe f5e5707d4c Change memo field size and relocate ciphertexts field of JoinSplit description. 2016-08-15 09:39:14 -06:00
Sean Bowe 167aece517 z7 Release 2016-07-22 15:50:04 -06:00
Sean Bowe 4d66f8f68a Add test for non-intuitive merkle tree gadget witnessing behavior. 2016-07-21 19:28:58 -06:00