[package] name = "libp2p-core" edition = "2021" rust-version = "1.60.0" description = "Core traits and structs of libp2p" version = "0.39.0" authors = ["Parity Technologies "] license = "MIT" repository = "https://github.com/libp2p/rust-libp2p" keywords = ["peer-to-peer", "libp2p", "networking"] categories = ["network-programming", "asynchronous"] [dependencies] asn1_der = "0.7.4" bs58 = "0.4.0" ed25519-dalek = "1.0.1" either = "1.5" fnv = "1.0" futures = { version = "0.3.26", features = ["executor", "thread-pool"] } futures-timer = "3" instant = "0.1.11" libsecp256k1 = { version = "0.7.0", optional = true } log = "0.4" multiaddr = { version = "0.17.0" } multihash = { version = "0.17.0", default-features = false, features = ["std", "multihash-impl", "identity", "sha2"] } multistream-select = { version = "0.12.1", path = "../misc/multistream-select" } p256 = { version = "0.11.1", default-features = false, features = ["ecdsa", "std"], optional = true } parking_lot = "0.12.0" pin-project = "1.0.0" prost = "0.11" once_cell = "1.17.1" rand = "0.8" rw-stream-sink = { version = "0.3.0", path = "../misc/rw-stream-sink" } sec1 = { version = "0.3.0", features = ["std"] } # Activate `std` feature until https://github.com/RustCrypto/traits/pull/1131 is released. serde = { version = "1", optional = true, features = ["derive"] } sha2 = "0.10.0" smallvec = "1.6.1" thiserror = "1.0" unsigned-varint = "0.7" void = "1" zeroize = "1" [target.'cfg(not(target_arch = "wasm32"))'.dependencies] ring = { version = "0.16.9", features = ["alloc", "std"], default-features = false, optional = true} [dev-dependencies] async-std = { version = "1.6.2", features = ["attributes"] } base64 = "0.20.0" criterion = "0.4" libp2p-mplex = { path = "../muxers/mplex" } libp2p-noise = { path = "../transports/noise" } multihash = { version = "0.17.0", default-features = false, features = ["arb"] } quickcheck = { package = "quickcheck-ext", path = "../misc/quickcheck-ext" } rmp-serde = "1.0" serde_json = "1.0" [build-dependencies] prost-build = "0.11" [features] secp256k1 = [ "libsecp256k1" ] ecdsa = [ "p256" ] rsa = [ "dep:ring" ] serde = ["multihash/serde-codec", "dep:serde"] [[bench]] name = "peer_id" harness = false # Passing arguments to the docsrs builder in order to properly document cfg's. # More information: https://docs.rs/about/builds#cross-compiling [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] rustc-args = ["--cfg", "docsrs"]