[package] name = "concordium_base" version = "6.0.0" authors = ["Concordium AG "] edition = "2021" rust-version = "1.73" license-file = "../../LICENSE" include = ["src/", "data/", "benches/"] readme = "./README.md" description = "A library that defines common types and functionality that are needed by Concordium Rust projects." repository = "https://github.com/Concordium/concordium-base" homepage = "https://github.com/Concordium/concordium-base" [dependencies] ff = "0.13" ark-ff = { version = "0.4"} ark-ec = { version = "0.4"} ark-serialize = { version = "0.4"} ark-std = { version = "0.4"} ark-bls12-381 = { version = "0.4"} sha2 = "0.10" sha3 = "0.10" anyhow = "1.0" serde = {version = "1.0", features = ["derive"]} serde_json = "1.0" libc = "0.2" chrono = {version = "0.4.35", features = ["serde"]} # the patch version is necessary since chrono adds new functionality in patch versions serde_with = "3" ed25519-dalek = {version = "2.0", features = ["rand_core"]} byteorder = "1.3" hex = "0.4" itertools = "0.10" either = "1.6" derive_more = "0.99" thiserror = "1.0" rand = "0.8" num = "0.4" curve25519-dalek = { version = "4.1", features = ["rand_core", "group"]} zeroize = "1.1" # See https://github.com/serde-rs/json/issues/505 for the need to be careful. rust_decimal = { version = "1.25", features = ["serde-float", "serde-arbitrary-precision"]} num-bigint = "0.4" num-traits = "0.2" bs58 = { version = "0.5", features = ["check"] } leb128 = "0.2" rayon = "1.7" subtle = "2.3" # Dependencies needed by the encryption feature. cbc = { version = "0.1.2", features = ["std"], optional = true } aes = { version = "0.8", optional = true } base64 = { version = "0.21", optional = true } pbkdf2 = { version = "0.11", optional = true } hmac = { version = "0.12", optional = true } nom = "7.1.3" # Dependencies needed by the ffi feature. rand_chacha = { version = "0.3", default-features = false, optional = true } [lib] crate-type = ["rlib", "staticlib", "cdylib"] # Local dependencies [dependencies.concordium-contracts-common] version = "9.1" path = "../../smart-contracts/contracts-common/concordium-contracts-common" features = ["derive-serde"] # Local dependencies [dependencies.concordium_base_derive] version = "1" path = "../concordium_base_derive" [features] default = [] ffi = ["rand_chacha"] internal-test-helpers = [] encryption = ["cbc", "aes", "base64", "pbkdf2", "hmac"] [dev-dependencies] criterion = "0.4" rand = {version = "0.8", features = ["small_rng"]} [[bench]] name = "hash_bench" harness = false [[bench]] name = "multiexp_bench" harness = false [[bench]] name = "elgamal_benchmarks" harness = false [[bench]] name = "encrypted_transfers_benchmarks" harness = false [[bench]] name = "aggregate_signatures" harness = false [[bench]] name = "bulletproofs" harness = false [[bench]] name = "set_proof_bench" harness = false [[bench]] name = "eddsa_benchmarks" harness = false [[bench]] name = "verify_cdi" harness = false [[bench]] name = "aggr_dlog_commit_message" harness = false [[bench]] name = "compute_message" harness = false required-features = ["internal-test-helpers"] [[bench]] name = "commitment_to_share" harness = false [[bench]] name = "serialization_benches" harness = false [package.metadata.docs.rs] # Expose the `encryption` feature in documentation. features = ["encryption"]