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
cca1670248
Clarify length of return buffer for appended leaves
2019-12-05 14:33:03 +00:00
Jack Grigg
edcd884fe8
Simplify short array copies
2019-12-05 14:24:31 +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
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
d9a0b9c83f
CI: Check intra-doc links
...
Credit: https://twitter.com/tomaka17/status/1176017851410526208
2019-09-24 10:35:12 +01: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
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
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
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
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
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