be2fdeaaf3
librustzcash now requires a minimum of Rust 1.36.0. The proc-macro2, quote, syn, and unicode-xid dependencies are pulled in because we moved to using ff_derive inside pairing to derive the BLS12-381 fields. We will be going back to explicit implementations with the jubjub and bls12_381 crates, so these dependencies will disappear once that is done. The autocfg crate is pulled in by the upgraded num-integer crate, which is transitively used by fpe. Rewriting fpe to not use num-bigint would drop: - autocfg - num-bigint - num-integer - num-traits We primarily depend on rand_core in our crates. The rand crate, and its other dependencies, are pulled in for two reasons: - The group crate exposes testing helper functions in its public API that use distribution sampling APIs in the rand crate. - zcash_primitives::transaction::Builder uses rand::seq::SliceRandom to shuffle the order of Sapling spends and outputs. Refactoring these in order to drop rand would additionally drop: - c2-chacha - rand_chacha - rand_hc - rand_xorshift |
||
---|---|---|
.. | ||
libevent | ||
librustzcash | ||
proton |