Commit Graph

126 Commits

Author SHA1 Message Date
Daira Hopwood 515b0a40ec zcash_note_encryption: Add API to prepare epk.
Co-authored-by: Jack Grigg <jack@electriccoin.co>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-09-15 03:22:41 +01:00
Kris Nuttycombe 5d817f6120 Update to schemer 0.2 2022-08-19 09:55:55 -06:00
Kris Nuttycombe 7c5b320108 Introduce wallet database schema migrations.
This replaces the current wallet initialization code with a migration
that brings the database up to the state produced by release 0.3.0.
A subsequent commit will add migrations that correctly produce the
database state as of zcash/librustzcash@602270cb1f.

Fixes #369
2022-08-18 10:15:58 -06:00
Jack Grigg 9ebbd42401 orchard 0.1 2022-05-10 23:06:31 +00:00
Jack Grigg a565c7e113 hdwallet 0.3.1
This release bumped secp256k1 to 0.21.
2022-05-10 23:00:43 +00:00
Jack Grigg 144512b547 Migrate to `ff 0.12` 2022-05-06 20:03:49 +00:00
Kris Nuttycombe 8bb1962153 Update incrementalmerkletree version and add SER_V2 serialization constant. 2022-05-04 09:25:07 -06:00
Kris Nuttycombe 9416ab3a3e Update to secp256k1 v0.21 2022-04-06 16:09:45 -06:00
Jack Grigg 5668804629 Migrate to beta releases of incrementalmerkletree and orchard 2022-03-23 00:04:32 +00:00
Jack Grigg 494092223b Merge branch 'master' into non-consensus-changes-on-branchid-37519621 2022-03-23 00:00:21 +00:00
Kris Nuttycombe 2d34ac5654 Update incrementalmerkletree version. 2022-03-11 16:48:28 -07:00
Jack Grigg 91d9a42a08 Merge branch 'non-consensus-changes-on-branchid-37519621' into merge-non-consensus-changes-3 2022-02-28 23:22:40 +00:00
Jack Grigg bdaad53832 Update `orchard` revision 2022-02-28 21:34:03 +00:00
Kris Nuttycombe b97d777361 Update the versions of incrementalmerkletree & orchard.
This removes unreleased incrementalmerkletree::BridgeTree serialization
that was zcashd-specific.
2022-02-24 13:54:31 -07:00
Jack Grigg 12700b4c17 Migrate to `orchard` revision with the Orchard circuit changes 2022-02-15 23:37:52 +00:00
Kris Nuttycombe 3dd1f310d9 Merge remote-tracking branch 'upstream/non-consensus-changes-on-branchid-37519621' into autoshield-poc-daa 2022-01-20 13:54:38 -07:00
Jack Grigg 07a95d70c9 incrementalmerkletree 0.2 2021-12-17 23:46:00 +00:00
Jack Grigg 36db7634a0 orchard 0.1.0-beta.1 2021-12-17 22:22:25 +00:00
Jack Grigg 142a38e792 zcash_note_encryption 0.1.0 2021-12-17 20:00:46 +00:00
Jack Grigg e148ca84ba Migrate to latest `zcash_note_encryption` API 2021-12-17 05:34:45 +00:00
Kris Nuttycombe 0b9d7e4303 Merge remote-tracking branch 'upstream/master' into autoshield-poc-daa 2021-11-24 15:48:02 -07:00
Jack Grigg 5055033c31 zcash_primitives: Migrate to `zcash_note_encryption::BatchDomain` 2021-11-17 12:17:10 +00:00
Kris Nuttycombe da3c84ff31 Update hdwallet to depend upon secp256k1-v0.20 2021-10-01 12:52:19 -06:00
Jack Grigg e1abca5032 Update patch to latest orchard crate revision
Includes circuit bugfixes and uses halo2 0.1.0-beta.1.
2021-09-28 22:08:27 +01:00
Jack Grigg 056e2c62f9 Pin halo2 and orchard crate versions with BOSL exception 2021-09-22 22:18:20 +01:00
Jack Grigg 06b7f13356 Empty f4jumble crate 2021-09-22 14:13:34 +01:00
Jack Grigg 4770675542 Bump Orchard patch to include Merkle path cleanups 2021-09-16 22:55:22 +01:00
Jack Grigg 65e1d32774 ff 0.11, group 0.11, etc. 2021-09-09 18:20:37 +01:00
Kris Nuttycombe ef98c7e48c Add zcash_encoding crate.
The CompactSize type, and the standardized encodings for the Vector,
Array and Option types are moved to the newly created crate.
2021-08-31 13:19:24 -06:00
Jack Grigg ecb82ed813 nom 7 2021-08-23 20:15:51 +01:00
str4d 9be36f3e54
Merge pull request #417 from nuttycom/incremental_merkle_tree_ser
Add manual serialization for bridgetree::Frontier
2021-08-17 14:57:59 +01:00
Jack Grigg d8410063ab zcash_primitives: Implement `Domain::batch_epk` for `jubjub` 2021-08-11 00:21:00 +01:00
Kris Nuttycombe 2945905d52 Implement manual serialization for incremental Merkle tree components.
This also adds parsing of the legacy CommitmentTree format,
to permit easy migration of persisted data.
2021-08-05 09:32:44 -06:00
Kris Nuttycombe 3b8f0214eb Move Orchard bundle commitments to the `orchard` crate. 2021-07-29 10:38:43 -06:00
Kris Nuttycombe 105f8da91f Update `nonempty` and `orchard` dependencies. 2021-06-30 12:57:56 -06:00
Jack Grigg 69ee9f8ca5 Bump orchard deps
Includes additional patched dependencies, now that the orchard crate is
not pinning specific revisions of the in-development crates.
2021-06-15 20:20:53 +01:00
str4d 2f3e4989ba
Merge pull request #352 from str4d/zcash_address
New component: zcash_address crate
2021-06-07 00:36:48 +01:00
Jack Grigg 4aa83d3048 bellman 0.10 2021-06-04 22:20:25 +01:00
Jack Grigg 1222391dd7 Migrate to bitvec 0.22, ff 0.10, etc.
Requires patching three dependencies:

- bellman is pending a new release.
- nom is part of the funty breakage; we are blocking on a new release.
- orchard is in development.
2021-06-04 22:02:48 +01:00
Jack Grigg c754363c07 zcash_address: Initial empty library crate 2021-05-20 14:54:25 +01:00
Jack Grigg b7c31e3f54 Empty zcash_note_encryption crate 2021-03-20 09:56:20 +13:00
Kris Nuttycombe aed2759e1e Use NetworkUpgrade for TZE epoch determination.
This adds a `Future` variant for both BranchId and NetworkUpgrade.
2020-09-10 14:52:47 -06:00
Kris Nuttycombe 8299f336d3 Add test for tze txn parsing. 2020-09-10 11:58:40 -06:00
Jack Grigg 961d251178 Add transaction-builder suport for TZE-bearing transactions. 2020-09-10 11:58:40 -06:00
Jack Grigg 90a17b3c31 Core TZE traits and structs
Co-authored-by: Kris Nuttycombe <kris.nuttycombe@gmail.com>
2020-09-10 11:58:40 -06:00
Jack Grigg 3a4ea5da18 Remove subtree crates
Now that we have finished the large refactor, we can make subsequent
refactoring changes within the individual crates, and propagate the
changes into the Zcash crates via normal dependency updates.
2020-08-27 23:25:47 +01:00
str4d f55f094ef6
Merge pull request #248 from str4d/equihash-crate
Move Equihash verifier into equihash crate
2020-07-10 11:57:11 +12:00
Jack Grigg d71a599191 Empty equihash crate 2020-06-26 12:53:07 +12:00
Jack Grigg c0cf55c127 SQLite database structure and initialisation 2020-06-25 18:54:34 +12:00
Jack Grigg 16ba891726 Remove librustzcash crate
This crate now lives in https://github.com/zcash/zcash, which is the
sole intended consumer of the C FFI.
2020-03-14 10:50:04 +13:00
Jack Grigg 2df2a2b2f2 Merge branch 'develop' 2020-03-14 10:36:58 +13:00
Sean Bowe 9379eec1b8
Bring zcash_mmr into workspace. 2020-03-03 18:04:18 -07:00
Sean Bowe a4f7c4eef3
Include jubjub and bls12_381 crates in the workspace. 2019-12-12 11:40:48 -07:00
Jack Grigg 1b865ecfdf
Remove sapling-crypto 2019-08-14 10:48:06 +01:00
Jack Grigg f25a8a557e
Convert zip32 crate into a module of zcash_primitives 2019-06-27 16:14:24 +01:00
Jack Grigg fae919ec1c
Rename zcash_wallet to zcash_client_backend, set to 2018 edition 2019-06-27 16:02:12 +01:00
Jack Grigg 482bef87f0
Add ff and group crates to Cargo workspace 2019-01-06 09:50:07 +00:00
Jack Grigg 6e0364cd42
Update workspace after pulling in zip32 crate 2018-08-29 09:57:52 +01:00
Jack Grigg a9059c9372
Update workspace after pulling in external crates 2018-08-28 23:06:15 +01:00
Jack Grigg ad16ba6a35
Empty crates as a base for code refactoring 2018-08-28 22:24:14 +01:00
Jack Grigg 0ec85d362d
Set up a Cargo workspace 2018-08-23 21:10:04 +01:00
Jack Grigg d7257ce010
Move librustzcash crate into subdir 2018-08-23 21:04:02 +01:00
Sean Bowe bd9b8aabb9 Update sapling-crypto 2018-07-30 18:52:03 -06:00
Sean Bowe 0800976a57 Add implementation of Sapling proof API 2018-07-17 16:46:10 -06:00
Simon 943df43a89 Update authors. 2018-06-04 14:24:24 -07:00
str4d d19c9b5645
Implement Equihash validator
Follows Zcash implementation as closely as possible.
2018-05-24 16:30:56 +12:00
Sean Bowe f8f8954608 Update sapling-crypto 2018-05-18 12:47:35 -06:00
Sean Bowe d14b12aae4 Switch to little endian encoding for everything. 2018-05-17 16:06:31 -06:00
Sean Bowe fefa46b4c4
Implementation of Sprout proving and verifying 2018-05-10 14:29:02 -06:00
Sean Bowe d73044896e Update sapling-crypto dependency. 2018-05-07 17:52:44 -06:00
Sean Bowe 4f9953f18f Support loading zk-SNARK parameters 2018-04-17 14:16:14 -06:00
Sean Bowe 37f20fb90c Use lazy_static to initialize the Jubjub parameters, to avoid passing parameters around. 2018-04-12 18:38:25 -06:00
Sean Bowe cb8c9ebbce Make panic abort to avoid FFI problems. 2018-04-12 15:35:20 -06:00
Sean Bowe f1d35708bc
Expose API for init/free of parameters and, to test, a merkle tree hash invocation. 2018-04-11 21:51:30 -06:00
str4d 222e0b3515
Add sapling-crypto to dependencies 2018-04-09 18:28:42 -06:00
Sean Bowe d7085b90c8 Initial commit. 2017-03-17 11:07:23 -06:00