 
|
f69e3697aa
|
Fix of CVE-2017-18350
Adapted from bitcoin/bitcoin#11397 by Wladimir J. van der Laan.
Co-Authored-By: Jack Grigg <jack@electriccoin.co>
Co-Authored-By: Daira Hopwood <daira@electriccoin.co>
|
2019-11-10 07:06:29 -08:00 |
|
Sean Bowe
|
955b328ad1
|
Sapling mainnet activation height
|
2018-08-15 12:09:31 -06:00 |
|
Sean Bowe
|
f791ce00eb
|
Always write the empty root down as the best root, since we may roll back.
|
2018-08-14 15:17:30 -06:00 |
|
Sean Bowe
|
c2f661109d
|
make-release.py: Updated release notes and changelog for 2.0.0-rc1.
|
2018-08-09 16:56:56 +00:00 |
|
Sean Bowe
|
27f678b974
|
make-release.py: Updated manpages for 2.0.0-rc1.
|
2018-08-09 16:56:56 +00:00 |
|
Sean Bowe
|
3e9aec2a37
|
make-release.py: Versioning changes for 2.0.0-rc1.
|
2018-08-09 16:46:45 +00:00 |
|
Sean Bowe
|
69c4391b0f
|
Check commitment validity within the decryption API for Sapling note plaintexts.
|
2018-08-08 12:03:09 -07:00 |
|
Sean Bowe
|
198dfd3c36
|
Switch to use the official Sapling parameters.
|
2018-08-04 16:28:39 -06:00 |
|
Sean Bowe
|
d9ef8f622e
|
Check the hash of the (Sapling+) zk-SNARK parameters during initialization.
|
2018-08-02 12:18:13 -06:00 |
|
Sean Bowe
|
80bd573dc2
|
Make changes to gtest ECC behavior suggested by @str4d.
|
2018-08-01 16:53:27 -06:00 |
|
Sean Bowe
|
262d21bcbb
|
Don't call ECC_Start/ECC_Stop outside the test harness.
|
2018-08-01 16:45:12 -06:00 |
|
Sean Bowe
|
a310f6c5fa
|
Relocate ECC_Start() to avoid test failures.
|
2018-08-01 00:42:02 -06:00 |
|
Sean Bowe
|
3d75e8b3e7
|
Move extern params to beginning of test_checktransaction.
|
2018-07-31 08:33:33 -06:00 |
|
Sean Bowe
|
291895fac7
|
Ensure sum of valueBalance and all vpub_new's does not exceed MAX_MONEY inside of CheckTransactionWithoutProofVerification.
|
2018-07-30 22:35:31 -06:00 |
|
Sean Bowe
|
04ed758e37
|
Fix bug in return value.
|
2018-07-30 22:03:40 -06:00 |
|
Sean Bowe
|
b7b088c46b
|
Update librustzcash and sapling-crypto.
|
2018-07-30 21:59:12 -06:00 |
|
Sean Bowe
|
f23e783600
|
Decryption and tests of note/outgoing encryption.
|
2018-07-16 18:34:14 -06:00 |
|
Sean Bowe
|
7478876271
|
Minor edits
|
2018-07-11 15:48:41 -06:00 |
|
Sean Bowe
|
4e1f2daa0d
|
Add get_esk() function to Sapling note encryption.
|
2018-06-18 13:14:43 -06:00 |
|
Sean Bowe
|
c03e22612d
|
Prevent nonce reuse in Sapling note encryption API.
|
2018-06-14 12:21:28 -06:00 |
|
Sean Bowe
|
90073aeca5
|
Swap types in OutputDescription to use new NoteEncryption interfaces.
|
2018-06-14 12:08:37 -06:00 |
|
Sean Bowe
|
9e1c2c4049
|
Implementation of Sapling in-band secret distribution.
|
2018-06-14 11:58:45 -06:00 |
|
Sean Bowe
|
9e8e121c9f
|
Update librustzcash
|
2018-06-13 15:18:23 -06:00 |
|
Sean Bowe
|
3577de83aa
|
Change txdb prefixes for sapling and avoid writing unnecessary information.
|
2018-05-18 13:26:39 -06:00 |
|
Sean Bowe
|
8f5429a13a
|
Update merkle tree and pedersen hash tests to account for new encoding
|
2018-05-18 13:26:39 -06:00 |
|
Sean Bowe
|
45f1cb440e
|
Update Sapling testnet parameters
|
2018-05-18 13:26:39 -06:00 |
|
Sean Bowe
|
b9a5a116cd
|
Update librustzcash
|
2018-05-18 13:26:37 -06:00 |
|
Sean Bowe
|
0dfb1d5e2c
|
Switch Rust to 1.26 Stable.
|
2018-05-15 16:21:37 -06:00 |
|
Sean Bowe
|
34f6ea95dc
|
Adjust tests and benchmarks
|
2018-05-14 16:29:02 -06:00 |
|
Sean Bowe
|
31989317c9
|
Update librustzcash again
|
2018-05-14 16:29:00 -06:00 |
|
Sean Bowe
|
b7a6c32178
|
Integrate Groth16 verification and proving.
|
2018-05-14 16:26:23 -06:00 |
|
Sean Bowe
|
b4db32f53c
|
Check Sapling Spend/Output proofs and signatures.
|
2018-05-08 14:30:26 -06:00 |
|
Sean Bowe
|
531fcc88da
|
Update to latest librustzcash
|
2018-05-08 14:30:26 -06:00 |
|
Sean Bowe
|
55fabd8272
|
Refactor so that dataToBeSigned can be used later in the function for other purposes.
|
2018-05-08 14:28:01 -06:00 |
|
Sean Bowe
|
6eea48bf96
|
Remove unnecessary IsCoinbase() check. Coinbases are guaranteed to have empty vjoinsplit.
|
2018-05-08 14:23:09 -06:00 |
|
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 |
|