Cargo Features

[dependencies]
noah-api = { version = "0.4.0", default-features = false, features = ["std", "alloc", "debug", "nightly", "u64_backend", "u32_backend", "avx2_backend", "asm", "no_urs", "no_srs", "no_vk", "parallel", "gen", "lightweight", "print-trace"] }
default parallel? = std, u64_backend

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

std default

Enables std of ark-bulletproofs, ark-ec ^0.4.0-alpha, ark-std ^0.4.0-alpha, noah-bulletproofs, and noah-curve25519-dalek

alloc

Enables alloc of noah-curve25519-dalek

debug

Enables debug of noah-plonk

nightly

Enables nightly of noah-curve25519-dalek and rand

rand:

some additions requiring nightly Rust

u64_backend default

Enables u64_backend of noah-curve25519-dalek

noah-curve25519-dalek:

The u64 backend uses u64s with u128 products.

u32_backend

Enables u32_backend of noah-curve25519-dalek

noah-curve25519-dalek:

The u32 backend uses u32s with u64 products.

avx2_backend

Enables avx2_backend of noah-curve25519-dalek

noah-curve25519-dalek:

DEPRECATED: this is now an alias for simd_backend and may be removed in some future release.

asm

Enables asm of noah-algebra

no_urs

Affects parameters::BULLETPROOF_CURVE25519_URS, parameters::BULLETPROOF_ZORRO_URS, parameters::BULLETPROOF_SECQ256K1_URS

no_srs

Affects parameters::SRS

no_vk

Affects parameters::VERIFIER_COMMON_PARAMS, parameters::VERIFIER_SPECIFIC_PARAMS, parameters::ABAR_TO_BAR_VERIFIER_PARAMS, parameters::BAR_TO_ABAR_VERIFIER_PARAMS, parameters::AR_TO_ABAR_VERIFIER_PARAMS, parameters::ABAR_TO_AR_VERIFIER_PARAMS

parallel gen? = default, rayon

Enables parallel of noah-algebra and noah-plonk

Affects abar_to_abar::batch_verify_anon_xfr_note, abar_to_ar::batch_verify_abar_to_ar_note, abar_to_bar::batch_verify_abar_to_bar_note, ar_to_abar::batch_verify_ar_to_abar_note, bar_to_abar::batch_verify_bar_to_abar_note

gen = parallel, structopt

Required by the gen-params binary

lightweight

Minimize size for only AR2ABAR and ABAR2AR.

print-trace

Enables print-trace of noah-algebra

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.

rayon parallel?
structopt gen?