[package] name = "sp-core" version = "21.0.0" authors = ["Parity Technologies "] edition = "2021" license = "Apache-2.0" homepage = "https://substrate.io" repository = "https://github.com/paritytech/substrate/" description = "Shareable Substrate types." documentation = "https://docs.rs/sp-core" [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] [dependencies] codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive","max-encoded-len"] } scale-info = { version = "2.5.0", default-features = false, features = ["derive"] } log = { version = "0.4.17", default-features = false } serde = { version = "1.0.163", optional = true, default-features = false, features = ["derive", "alloc"] } bounded-collections = { version = "0.1.8", default-features = false } primitive-types = { version = "0.12.0", default-features = false, features = ["codec", "scale-info"] } impl-serde = { version = "0.4.0", default-features = false, optional = true } hash-db = { version = "0.16.0", default-features = false } hash256-std-hasher = { version = "0.15.2", default-features = false } bs58 = { version = "0.4.0", default-features = false, optional = true } rand = { version = "0.8.5", features = ["small_rng"], optional = true } substrate-bip39 = { version = "0.4.4", optional = true } tiny-bip39 = { version = "1.0.0", optional = true } regex = { version = "1.6.0", optional = true } zeroize = { version = "1.4.3", default-features = false } secrecy = { version = "0.8.0", default-features = false } lazy_static = { version = "1.4.0", default-features = false, optional = true } parking_lot = { version = "0.12.1", optional = true } ss58-registry = { version = "1.34.0", default-features = false } sp-std = { version = "8.0.0", default-features = false, path = "../std" } sp-debug-derive = { version = "8.0.0", default-features = false, path = "../debug-derive" } sp-storage = { version = "13.0.0", default-features = false, path = "../storage" } sp-externalities = { version = "0.19.0", optional = true, path = "../externalities" } futures = { version = "0.3.21", optional = true } dyn-clonable = { version = "0.9.0", optional = true } thiserror = { version = "1.0.30", optional = true } bitflags = "1.3" paste = "1.0.7" # full crypto array-bytes = { version = "6.1", optional = true } ed25519-zebra = { version = "3.1.0", default-features = false, optional = true } blake2 = { version = "0.10.4", default-features = false, optional = true } libsecp256k1 = { version = "0.7", default-features = false, features = ["static-context"], optional = true } schnorrkel = { version = "0.9.1", features = ["preaudit_deprecated", "u64_backend"], default-features = false } merlin = { version = "2.0", default-features = false } secp256k1 = { version = "0.24.0", default-features = false, features = ["recovery", "alloc"], optional = true } sp-core-hashing = { version = "9.0.0", path = "./hashing", default-features = false, optional = true } sp-runtime-interface = { version = "17.0.0", default-features = false, path = "../runtime-interface" } # bls crypto w3f-bls = { version = "0.1.3", default-features = false, optional = true} [dev-dependencies] rand = "0.8.5" criterion = "0.4.0" serde_json = "1.0" sp-core-hashing-proc-macro = { version = "9.0.0", path = "./hashing/proc-macro" } hex-literal = "0.3.4" [[bench]] name = "bench" harness = false [lib] bench = false [features] default = ["std"] std = [ "merlin/std", "full_crypto", "log/std", "thiserror", "lazy_static", "parking_lot", "bounded-collections/std", "primitive-types/std", "primitive-types/serde", "primitive-types/byteorder", "primitive-types/rustc-hex", "impl-serde/std", "codec/std", "scale-info/std", "hash256-std-hasher/std", "hash-db/std", "sp-std/std", "serde/std", "blake2/std", "array-bytes", "ed25519-zebra/std", "bs58/std", "substrate-bip39", "tiny-bip39", "rand", "schnorrkel/std", "regex", "secp256k1/std", "secp256k1/global-context", "sp-core-hashing/std", "sp-debug-derive/std", "sp-externalities", "sp-storage/std", "sp-runtime-interface/std", "ss58-registry/std", "zeroize/alloc", "secrecy/alloc", "futures", "futures/thread-pool", "libsecp256k1/std", "dyn-clonable", ] # Serde support without relying on std features. serde = [ "dep:serde", "array-bytes", "blake2", "bounded-collections/serde", "bs58/alloc", "scale-info/serde", "secrecy/alloc", "impl-serde", "primitive-types/serde_no_std", "sp-storage/serde", "sp-core-hashing", ] # This feature enables all crypto primitives for `no_std` builds like microcontrollers # or Intel SGX. # For the regular wasm runtime builds this should not be used. full_crypto = [ "array-bytes", "ed25519-zebra", "blake2", "libsecp256k1", "secp256k1", "sp-core-hashing", "sp-runtime-interface/disable_target_static_assertions", ] # This feature adds BLS crypto primitives. It should not be used in production since # the BLS implementation and interface may still be subject to significant change. bls-experimental = ["w3f-bls"]