[package] name = "sp-io" version = "23.0.0" authors = ["Parity Technologies "] edition = "2021" license = "Apache-2.0" homepage = "https://substrate.io" repository = "https://github.com/paritytech/substrate/" description = "I/O for Substrate runtimes" documentation = "https://docs.rs/sp-io" readme = "README.md" build = "build.rs" [package.metadata.docs.rs] targets = ["x86_64-unknown-linux-gnu"] [dependencies] bytes = { version = "1.1.0", default-features = false } codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["bytes"] } sp-core = { version = "21.0.0", default-features = false, path = "../core" } sp-keystore = { version = "0.27.0", default-features = false, optional = true, path = "../keystore" } sp-std = { version = "8.0.0", default-features = false, path = "../std" } libsecp256k1 = { version = "0.7", optional = true } sp-state-machine = { version = "0.28.0", default-features = false, optional = true, path = "../state-machine" } sp-runtime-interface = { version = "17.0.0", default-features = false, path = "../runtime-interface" } sp-trie = { version = "22.0.0", default-features = false, optional = true, path = "../trie" } sp-externalities = { version = "0.19.0", default-features = false, path = "../externalities" } sp-tracing = { version = "10.0.0", default-features = false, path = "../tracing" } log = { version = "0.4.17", optional = true } secp256k1 = { version = "0.24.0", features = ["recovery", "global-context"], optional = true } tracing = { version = "0.1.29", default-features = false } tracing-core = { version = "0.1.28", default-features = false} # Required for backwards compatibility reason, but only used for verifying when `UseDalekExt` is set. ed25519-dalek = { version = "1.0.1", default-features = false, optional = true } # Force the usage of ed25519, this is being used in `ed25519-dalek`. ed25519 = { version = "1.5.2", optional = true } [build-dependencies] rustversion = "1.0.6" [features] default = ["std"] std = [ "bytes/std", "sp-externalities/std", "sp-core/std", "sp-keystore", "codec/std", "sp-std/std", "sp-trie/std", "sp-state-machine/std", "libsecp256k1", "secp256k1", "sp-runtime-interface/std", "sp-tracing/std", "tracing/std", "tracing-core/std", "log", "ed25519-dalek", "ed25519", ] with-tracing = [ "sp-tracing/with-tracing" ] # These two features are used for `no_std` builds for the environments which already provides # `#[panic_handler]`, `#[alloc_error_handler]` and `#[global_allocator]`. # # For the regular wasm runtime builds those are not used. disable_panic_handler = [] disable_oom = [] disable_allocator = [] # This feature flag controls the runtime's behavior when encountering # a panic or when it runs out of memory, improving the diagnostics. # # When enabled the runtime will marshal the relevant error message # to the host through the `PanicHandler::abort_on_panic` runtime interface. # This gives the caller direct programmatic access to the error message. # # When disabled the error message will only be printed out in the # logs, with the caller receving a generic "wasm `unreachable` instruction executed" # error message. # # This has no effect if both `disable_panic_handler` and `disable_oom` # are enabled. # # WARNING: Enabling this feature flag requires the `PanicHandler::abort_on_panic` # host function to be supported by the host. Do *not* enable it for your # runtime without first upgrading your host client! improved_panic_error_reporting = []