Commit Graph

80 Commits

Author SHA1 Message Date
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
Eirik Ogilvie-Wigley
7809711a81 cargo fix --edition for librustzcash 2019-08-20 18:19:11 -06:00
Eirik Ogilvie-Wigley
a7c5993597 cargo fmt 2019-08-15 10:41:48 -06:00
Jack Grigg
5fb9b86ba0
Move Jubjub, Pedersen hash and primitives into zcash_primitives 2019-08-14 10:47:22 +01:00
Jack Grigg
b8af749b40
Move generic circuit gadgets into bellman 2019-08-14 10:45:58 +01:00
Jack Grigg
2ae5804a67
Move Sprout and Sapling circuits into zcash_proofs 2019-08-14 10:45:55 +01:00
Jack Grigg
7ea6d10480
Move redjubjub into zcash_primitives 2019-08-14 10:43:25 +01:00
str4d
52ea437e11
Merge pull request #92 from str4d/transaction-builder
Transaction builder
2019-08-14 01:11:12 +01:00
Jack Grigg
7c07914bfd
Separate Amount::{from_i64, from_nonnegative_i64} APIs
This is more intuitive than a boolean flag for handling non-negative
Amounts stored in i64 values.
2019-08-08 00:55:23 +01:00
Marco Stronati
3891fe57d4 Make initialization of sprout validation key optional
This makes the C interface behave like `zcash_proofs` and allows to
init the library without downloading the heavy sprout parameters.
In the special case where `librustzcash_init_zksnark_params` is called
with the sprout arguments path set to NULL and length set to 0, the
arguments are passed as None to `load_parameters`.
2019-08-07 18:01:12 +02:00
str4d
4255b44b21
Merge pull request #13 from str4d/nullifier-test-vectors
Test note nullifier in key component test vectors
2019-08-02 10:03:07 +01:00