Cargo Features

[dependencies]
poseidon377 = { version = "1.2.0", default-features = false, features = ["std", "alloc", "arkworks", "r1cs", "parallel", "u32_backend"] }
default = arkworks

The arkworks feature is set by default whenever poseidon377 is added without default-features = false somewhere in the dependency tree.

std arkworks = alloc
alloc std?

Enables alloc of decaf377

arkworks default r1cs? = ark-r1cs-std, std

Enables std of ark-ec ^0.4, ark-ff ^0.4, ark-groth16 ^0.4, ark-relations ^0.4, ark-serialize ^0.4, and ark-std ^0.4 and arkworks of decaf377

decaf377:

TODO: eventually, feature-gate all arkworks deps behind this feature.

r1cs = ark-ec, ark-groth16, ark-r1cs-std, ark-relations, ark-serialize, ark-snark, ark-std, arkworks

Enables r1cs of decaf377 and poseidon-permutation

Affects poseidon377::r1cs

parallel

Enables parallel of ark-ec ^0.4, ark-ff ^0.4, ark-groth16 ^0.4, ark-r1cs-std ^0.4, ark-std ^0.4, and decaf377

u32_backend

Enables u32_backend of decaf377

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.

ark-ff arkworks parallel?

Enables ark-ff ^0.4

ark-groth16 arkworks parallel? r1cs?

Enables ark-groth16 ^0.4

ark-r1cs-std arkworks parallel? r1cs?

Enables ark-r1cs-std ^0.4

ark-relations arkworks r1cs?

Enables ark-relations ^0.4

ark-snark r1cs?

Enables ark-snark ^0.4

ark-ec arkworks parallel? r1cs?

Enables ark-ec ^0.4

ark-std arkworks parallel? r1cs?

Enables ark-std ^0.4

ark-serialize arkworks r1cs?

Enables ark-serialize ^0.4