[package] name = "threshold-bls" authors = ["nikkolasg", "kafeikui"] description = "Threshold BLS signature scheme implementation library" version.workspace = true edition.workspace = true license.workspace = true documentation.workspace = true repository.workspace = true homepage.workspace = true keywords.workspace = true exclude.workspace = true [lib] crate-type = ["lib"] [dependencies] rand_core = { version = "0.6", default-features = false } rand = "0.8" serde = { version = "1.0.106", features = ["derive"] } # for ECIES chacha20poly1305 = "^0.9" hkdf = "0.8" sha2 = "0.8" # bls12_381 ark-bls12-381 = { version = "0.3.0", optional = true } # bn ark-bn254 = { version = "0.3.0", optional = true } ark-serialize = { version = "0.3.0", features = ["derive"] } ark-ff = { version = "0.3.0", features = ["std"] } ark-ec = { version = "0.3.0", features = ["std"] } thiserror = "1.0.15" bincode = "1.2.1" ethers-core.workspace = true log = "0.4" [features] default = ["bn254", "bls12_381"] bls12_381 = ["ark-bls12-381"] bn254 = ["ark-bn254"] [dev-dependencies] static_assertions = "1.1.0" proptest = "0.9.6"