[package] name = "solana-ed25519" version = "0.1.0" edition = "2024" rust-version = "1.85.0" authors = [ "Isis Lovecruft ", "Henry de Valence ", "Anza Cryptography Team", ] readme = "README.md" license = "BSD-3-Clause" categories = ["cryptography", "no-std"] keywords = ["cryptography", "crypto", "ristretto", "curve25519", "ristretto255"] description = "A pure-Rust implementation of group operations on ristretto255 and Curve25519, with HEEA scalar decomposition (forked from curve25519-dalek)" exclude = ["**/.gitignore", ".gitignore"] # Keep the Rust library name as "curve25519" so that all existing `use curve25519::…` # references in doc-tests, dependent crates, and source files remain valid. [lib] name = "curve25519" [package.metadata.docs.rs] rustdoc-args = [ "--html-in-header", "docs/assets/rustdoc-include-katex-header.html", "--cfg", "docsrs", ] all-features = true [dev-dependencies] bincode = "1" criterion = { version = "0.5", features = ["html_reports"] } hex = "0.4.2" proptest = "1" rand = "0.10.0-rc.5" [build-dependencies] rustc_version = "0.4.0" [[bench]] name = "dalek_benchmarks" harness = false required-features = ["alloc"] [dependencies] cfg-if = "1" ed25519 = { version = "2.2.3", default-features = false } ff = { version = "=0.14.0-pre.0", package = "rustcrypto-ff", default-features = false, optional = true } group = { version = "=0.14.0-pre.0", package = "rustcrypto-group", default-features = false, optional = true } rand_core = { version = "0.10.0-rc-3", default-features = false, optional = true } digest = { version = "0.11.0-rc.4", default-features = false, optional = true, features = [ "block-api", ] } hashbrown = { version = "0.15" } der = { version = "0.7.9", optional = true } pkcs8 = { version = "0.10.1", optional = true, features = ["pem"] } sha2 = { version = "0.11.0-rc.3", default-features = false } subtle = { version = "2.6.0", default-features = false, features = [ "const-generics", ] } serde = { version = "1.0", default-features = false, optional = true, features = [ "derive", ] } zeroize = { version = "1", default-features = false, optional = true, features = ["derive"] } [target.'cfg(target_arch = "x86_64")'.dependencies] cpufeatures = "0.2.17" curve25519-dalek-derive = "0.1.1" [features] default = ["alloc", "precomputed-tables", "zeroize", "rand_core", "digest"] alloc = ["zeroize?/alloc"] precomputed-tables = [] legacy_compatibility = [] rand_core = ["dep:rand_core"] std = ["alloc"] group = ["dep:group", "rand_core"] group-bits = ["group", "ff/bits"] digest = ["dep:digest"] lizard = ["digest"] pkcs8 = ["dep:pkcs8", "ed25519/pkcs8", "alloc"] pem = ["pkcs8", "dep:der", "ed25519/pem"] [lints.rust.unexpected_cfgs] level = "warn" check-cfg = [ 'cfg(allow_unused_unsafe)', 'cfg(curve25519_backend, values("simd"))', 'cfg(curve25519_diagnostics, values("build"))', 'cfg(curve25519_bits, values("64"))', ]