Cargo Features

[dependencies]
zcash_primitives = { version = "0.22.0", default-features = false, features = ["std", "circuits", "multicore", "transparent-inputs", "temporary-zcashd", "test-dependencies", "expensive-tests", "non-standard-fees"] }
default = circuits, multicore, std

These default features are set whenever zcash_primitives is added without default-features = false somewhere in the dependency tree.

std default = document-features

Enables std of redjubjub

- Shielded protocols

circuits default

Enables creating proofs

Enables circuit of orchard and sapling-crypto

multicore default

Enables multithreading support for creating proofs.

Enables multicore of orchard and sapling-crypto

transparent-inputs

Enables spending transparent notes with the transaction builder.

Enables secp256k1 ^0.29

  • SecretKey and PublicKey types exposed

and secp256k1-ffi of bip32

  • Transparent inputs
    • Error type exposed

and transparent-inputs of zcash_transparent

- Transparent protocol

Affects zcash_primitives::legacy.keys

temporary-zcashd

A temporary feature flag that exposes granular APIs needed by zcashd. These APIs should not be relied upon and will be removed in a future release.

Affects sapling::temporary_zcashd_read_spend_v4, sapling::temporary_zcashd_read_output_v4, sapling::temporary_zcashd_write_output_v4, sapling::temporary_zcashd_read_v4_components, sapling::temporary_zcashd_write_v4_components

test-dependencies

Exposes APIs that are useful for testing, such as proptest strategies.

Enables test-dependencies of sapling-crypto, zcash_transparent, and zcash_protocol and proptest

- Test dependencies

and test-dependencies of incrementalmerkletree and orchard

incrementalmerkletree:

- Note Commitment Trees

expensive-tests

A feature used to isolate tests that are expensive to run. Test-only.

non-standard-fees

A feature that provides FeeRule implementations and constructors for non-standard fees.

Affects fees::fixed

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

document-features std

Enables document-features

- Documentation