Commit Graph

90 Commits

Author SHA1 Message Date
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 100878cd14
Version bump of all crates (except librustzcash) 2020-03-12 15:59:19 -06:00
Jack Grigg cafbe61eba Commit to number of Sapling transactions instead of shielded transactions 2020-03-04 18:25:35 +13:00
Sean Bowe 46e88a5e69
cargo fmt 2020-03-03 18:14:44 -07:00
Sean Bowe 5e1a2f9d3f
Rename zcash_mmr to zcash_history.
This crate will contain all chain history logic.
2020-03-03 18:14:40 -07:00
Sean Bowe 9379eec1b8
Bring zcash_mmr into workspace. 2020-03-03 18:04:18 -07:00
Jack Grigg 76e0f658c1 Rename CommitmentTreeWitness -> MerklePath 2020-02-08 00:36:40 +00:00
François Garillot 865275e2a2
Correcting some trivial Rust option/iterator warts 2020-01-29 13:53:05 -08:00
Jack Grigg 21efaccc9f librustzcash: Use "if let" syntax 2020-01-14 22:33:50 -05:00
Jack Grigg cca1670248
Clarify length of return buffer for appended leaves 2019-12-05 14:33:03 +00:00
Jack Grigg f1619f896c
Clearer variable names in MMR tests 2019-12-05 14:29:08 +00:00
Jack Grigg edcd884fe8
Simplify short array copies 2019-12-05 14:24:31 +00:00
Jack Grigg 583a04b4de
Pass array references correctly in MMR tests 2019-12-05 14:23:59 +00:00
Jack Grigg 573510115d
Clean up remainder of MMR code 2019-12-05 11:11:32 +00:00
Jack Grigg 8ad33e50a6
Use explicit sizes for pointers to arrays in FFI 2019-12-05 11:09:55 +00:00
Jack Grigg fb8c73c950
Use iterators in construct_mmr_tree 2019-12-05 11:06:26 +00:00
Nikolay Volf 9ea0427678 MMR trees API (#118)
The main design goals of this mmr implementation were

1. Avoid database callbacks. As it is implemented, calling side must just smartly pre-load MMR nodes from the database (about log2(tree length) for append, twice as much for deletion).

2. Reuse as much code/logic between rust and c++ clients.

3. Close to zero memory consumption.
2019-12-04 21:24:26 +00:00
Jack Grigg 60eac4e8b7
Escape non-link square brackets in comments 2019-11-11 10:29:36 +00:00
Jack Grigg 4ae238ea1f
librustzcash crate doc 2019-11-11 10:21:38 +00:00
Jack Grigg d1bc61800c
Move Sprout proof logic into zcash_proofs 2019-11-06 08:58:42 +00:00
Jack Grigg de5943aea4
Ignore clippy::not_unsafe_ptr_arg_deref lint 2019-11-06 07:51:46 +00:00
Jack Grigg 8651bb41ce
Clean up librustzcash imports 2019-11-06 07:51:45 +00:00
Jack Grigg 9cb8c0b3c4
Pull librustzcash.h documentation into crate 2019-11-06 07:51:44 +00:00
Jack Grigg 7181d603be
Explicitly pass [u8; 32] into read_fr and read_fs 2019-11-06 07:51:43 +00:00
Jack Grigg 5d03619466
Rename read_le to read_fr to match read_fs 2019-11-06 07:51:42 +00:00
Jack Grigg 7722b1a50b
Inline write_le 2019-11-06 07:51:41 +00:00
Jack Grigg 0028048800
Use C calling convention for librustzcash
The Rust-to-C++ interface speaks the C ABI. The "system" ABI happens to
be equivalent to the C ABI on the platforms we currently target (in
particular, we don't target win32 with an x86 architecture, which would
use the stdcall ABI).
2019-11-06 07:51:40 +00:00
Jack Grigg 98731c8374
librustzcash 0.2.0 2019-10-08 17:43:33 +13:00
Jim Posen 93563c3c65 Specify rand_core >= 0.5.1 for OsRng import. 2019-10-05 12:16:10 +02:00
str4d 524055bbb4
Merge pull request #134 from NikVolf/z-rng
Avoid using rand_os crate (fixes warnings)
2019-10-02 17:35:56 -06:00
NikVolf b42477a0bf update from rand_os to fix warnings 2019-09-28 10:48:43 +03:00
Jack Grigg 7f3036d2c8
Update READMEs 2019-09-24 14:23:55 +01:00
Jack Grigg d9a0b9c83f
CI: Check intra-doc links
Credit: https://twitter.com/tomaka17/status/1176017851410526208
2019-09-24 10:35:12 +01:00
Jack Grigg 1d02363752
Add READMEs to Cargo.toml files
This will cause crates.io to render each crate's README as its
information page.
2019-09-23 14:42:38 +01:00
Jack Grigg abbd43ff57
Make pk_d validity an invariant of PaymentAddress
Introduces a PaymentAddress::from_parts constructor, and getters for
the diversifier and pk_d fields (which are now private).
2019-09-04 19:48:35 -04:00
Jack Grigg 86142d044c
PaymentAddress::to_bytes 2019-09-04 19:46:46 -04:00
Jack Grigg 73ee19239c
Replace manual address decoding with PaymentAddress::from_bytes 2019-09-04 19:46:46 -04:00
str4d b19b40ccf0
Merge pull request #110 from str4d/crate-cleanups
Crate cleanups
2019-09-04 19:44:47 -04:00
str4d 563961e606
Merge pull request #115 from str4d/windows-typo
librustzcash: Fix typo in Windows parameter init; Correctly map sprout_path. Includes a GitHub actions improvement
2019-08-26 13:09:57 +01:00
Jack Grigg fe93f2ff6b
Rename into_ -> to_ where &self is used. 2019-08-24 00:39:54 +01:00
Jack Grigg d78c94b2a2
Move Equihash validator into zcash_primitives 2019-08-24 00:37:00 +01:00
str4d ad33798244
Merge pull request #113 from Eirik0/edition-2018-clean-up
Edition 2018 clean up
2019-08-24 00:34:57 +01:00
Jack Grigg ba3705cb5e
librustzcash: Correctly map sprout_path 2019-08-23 12:26:19 +01:00
Jack Grigg 894421f3b5
librustzcash: Fix typo in Windows parameter init 2019-08-23 12:01:01 +01:00
str4d 724e822d2d
Merge pull request #98 from paracetamolo/optional-sprout-parameters
Make initialization of sprout validation key optional
2019-08-22 16:50:27 +01:00
Marco Stronati 37531ed747 Fixes after feedback 2019-08-21 08:31:52 +02:00
Eirik Ogilvie-Wigley 76795a9014 cargo fmt 2019-08-20 22:22:03 -06:00
Eirik Ogilvie-Wigley 573ffc4e06 cargo fix --edition-idioms for librustzcash 2019-08-20 22:17:29 -06:00
Eirik Ogilvie-Wigley 09882c6d08 Add edition = 2018 2019-08-20 18:31:20 -06:00