[package] name = "internet2" version = "0.9.0" license = "Apache-2.0" authors = ["Dr. Maxim Orlovsky "] description = "Rust implementation for the stack of Internet2 protocols" repository = "https://github.com/internet2-org/rust-internet2" homepage = "https://github.com/internet2-org" keywords = ["internet2", "tor", "noise-xk", "privacy", "cryptography"] categories = ["network-programming", "cryptography", "encoding"] readme = "README.md" edition = "2021" rust-version = "1.59.0" exclude = [".github", "derive", "contrib", "addr"] [lib] name = "internet2" path = "src/lib.rs" crate-type = ["rlib", "staticlib"] [[test]] name = "brontide" path = "tests/brontide.rs" required-features = ["keygen"] [[test]] name = "brontozaur" path = "tests/brontozaur.rs" required-features = ["keygen"] # Dependencies # ============ [dependencies] # Dependencies on other LNP/BP repositories # ----------------------------------------- amplify = "3.13.0" strict_encoding = { version = "0.9.0", default-features = false, features = ["derive"] } lightning_encoding = "0.9.1" inet2_addr = { version = "0.9.0", features = ["strict_encoding", "lightning_encoding", "stringly_conversions"], path = "./addr" } inet2_derive = { version = "0.9.0", default-features = false, optional = true, path = "./derive" } # Dependencies on core rust-bitcoin & cryptography # ------------------------------------------------ secp256k1 = "0.24.2" bitcoin_hashes = "0.11.0" chacha20 = "0.9" chacha20poly1305 = "0.9" # Core rust projects # ------------------ # This strange naming is a workaround for cargo inability to define required # features for a dependency. See # for the explanation # and references. serde_crate = { package = "serde", version = "1.0", features = ["derive"], optional = true } serde_with = { version = "1.14", features = ["hex"], optional = true } # Networking deps # --------------- # These dependencies are used to provide support for networking URLs in zmq = { package = "zmq2", version = "0.5.0", optional = true } [dev-dependencies] torut = "0.2.0" strict_encoding_test = "0.9.0" strict_encoding_derive = "0.8.0" compiletest_rs = "0.9.0" # Features # ======== [features] # Listings # -------- # By default we use LNP with Tor support and URL support default = ["tor", "zmq", "derive"] all = ["derive", # Serde "serde", "keygen", # Networking "tor", "zmq"] # Exposing core rust componens # ---------------------------- # These also include re-assembly of necessary features from dependencies serde = ["serde_crate", "serde_with", "amplify/serde", "inet2_addr/serde", "secp256k1/serde", "bitcoin_hashes/serde-std"] derive = ["inet2_derive"] keygen = ["secp256k1/rand-std", "inet2_addr/keygen"] # Networking # ---------- tor = ["inet2_addr/tor"] [workspace] members = [".", "derive", "addr"] default-members = [".", "derive", "addr"] exclude = ["dep_test"]