Cargo Features
[dependencies]
decaf377_plus = { version = "0.10.1", default-features = false, features = ["std", "alloc", "parallel", "arkworks", "ecc-group", "r1cs", "serde", "u32_backend"] }
This matches what ark-std (a library for no_std compatibility) does, having a default feature of std - without the ark-std std feature, decaf377 doesn't compile
- default = arkworks, ecc-group
-
These default features are set whenever
decaf377_plusis added withoutsomewhere in the dependency tree.default-features = false - std arkworks = alloc
-
Enables std of hex, num-bigint, once_cell, rand_core ^0.6, subtle, and zeroize
num-bigint:
no-std
- alloc std?
-
Enables alloc of once_cell, rand_core ^0.6, and zeroize
once_cell:
Enables
once_cell::race::OnceBoxtype. - parallel
-
Enables parallel of ark-ec ^0.4, ark-ff ^0.4, ark-groth16 ^0.4, ark-r1cs-std ^0.4, and ark-std ^0.4
- arkworks default r1cs? = ark-bls12-377, ark-ec, ark-ed-on-bls12-377, ark-ff, ark-serialize, ark-std, hashbrown, std
-
TODO: eventually, feature-gate all arkworks deps behind this feature.
Affects
fp::arkworks,fq::arkworks,fr::arkworks,fr::u64… - ecc-group default = blake2, elliptic-curve, frost-dkg
- r1cs = ark-groth16, ark-r1cs-std, ark-relations, ark-snark, arkworks
-
Affects
ark_curve::r1cs… - serde = serdect
- u32_backend
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.
- blake2 ecc-group
- elliptic-curve ecc-group
- frost-dkg ecc-group
- num-bigint std?
- hashbrown arkworks
-
Enables hashbrown ^0.15
std
- ark-relations r1cs?
-
Enables ark-relations ^0.4
- ark-r1cs-std parallel? r1cs?
-
Enables ark-r1cs-std ^0.4
- ark-std arkworks parallel?
-
Enables ark-std ^0.4
- ark-ec arkworks parallel?
-
Enables ark-ec ^0.4
- ark-ff arkworks parallel?
-
Enables ark-ff ^0.4
- ark-serialize arkworks
-
Enables ark-serialize ^0.4
- ark-bls12-377 arkworks
-
Enables ark-bls12-377 ^0.4
- ark-ed-on-bls12-377 arkworks
-
Enables ark-ed-on-bls12-377 ^0.4
- ark-groth16 parallel? r1cs?
-
Enables ark-groth16 ^0.4
- ark-snark r1cs?
-
Enables ark-snark ^0.4
- once_cell alloc? std?
- serdect serde?
-
Enables serdect ^0.3.0-rc.0