Commit Graph

66 Commits

Author SHA1 Message Date
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
Jack Grigg
59ed258c7f
Make Amount opaque, and use it more
This helps to ensure type-safety of values that are required to satisfy
zatoshi range bounds.
2019-07-27 00:35:29 +01:00
Jack Grigg
17f6bbcc67
Pass tx builder RNG to spend_sig() 2019-07-27 00:35:04 +01:00
Jack Grigg
c4e14ad0b1
Address libc deprecations 2019-07-19 00:47:42 +02:00
Jack Grigg
6f9083b5ab
Migrate to rand 0.7 2019-07-19 00:47:40 +02:00
Jack Grigg
b0913afdd7
Migrate remaining crates to rand_core 0.4 2019-07-19 00:46:37 +02:00
Jack Grigg
ccf75c39c1
Migrate remaining crates to rand 0.5 2019-07-19 00:35:06 +02:00
str4d
8361674efc
Merge branch 'master' into blake2_simd 2019-07-18 18:22:20 +02:00
Jack Grigg
bf74915053
Move CommitmentTreeWitness into zcash_primitives 2019-07-10 13:52:47 -04:00
Jack Grigg
785f22ca5a
Move Sapling commitment tree hash into zcash_primitives 2019-07-10 13:44:19 -04:00
Jack Grigg
999dcbfcab
Migrate to blake2b_simd and blake2s_simd crates
The primary reason for migrating is that these crates provide APIs for
setting the personalisation string. This enables us to depend solely on
published crates, and thus publish our own crates.

The SIMD implementations are ported from libsodium.

Closes #67.
2019-07-10 13:12:14 -04:00
Jack Grigg
f25a8a557e
Convert zip32 crate into a module of zcash_primitives 2019-06-27 16:14:24 +01:00
Jack Grigg
060977fe54
Return edwards::Point from sapling_ka_agree
This matches how sapling_ka_agree and kdf_sapling are defined in the
protocol spec. kdf_sapling also now takes ownership of dhsecret to
discourage use of the sapling_ka_agree output elsewhere.
2019-06-06 13:38:33 +01:00
Jack Grigg
2b1583d75f
Deduplicate Sapling key agreement logic 2019-04-05 21:05:05 +01:00
Jack Grigg
9ae5a9d624
Make loading of Sprout key optional in zcash_proofs API 2019-02-26 13:44:28 -07:00