[package] name = "solana-curve25519" 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] sha2 = { version = "0.11.0-rc.3", default-features = false } 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", "rand_core"] [dependencies] cfg-if = "1" 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", ] } 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 } # Keep the dependency key as "curve25519-derive" so existing #[curve25519_derive::…] # attributes in source files remain valid; the actual package is curve25519-derive-sol. [target.'cfg(target_arch = "x86_64")'.dependencies] cpufeatures = "0.2.17" curve25519-derive = { path = "../curve25519-derive", package = "solana-curve25519-derive" } [features] default = ["alloc", "precomputed-tables", "zeroize"] alloc = ["zeroize?/alloc"] precomputed-tables = [] legacy_compatibility = [] group = ["dep:group", "rand_core"] group-bits = ["group", "ff/bits"] digest = ["dep:digest"] lizard = ["digest"] [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"))', ]