Cargo Features

[dependencies]
pezsp-io = { version = "30.0.0", default-features = false, features = ["std", "with-tracing", "disable_panic_handler", "disable_allocator", "improved_panic_error_reporting", "bls-experimental", "bandersnatch-experimental", "runtime-benchmarks"] }
default = std

The std feature is set by default whenever pezsp-io is added without default-features = false somewhere in the dependency tree.

std default

Enables std of bytes, parity-scale-codec, ed25519-dalek, libsecp256k1, log, pezsp-core, pezsp-crypto-hashing, pezsp-externalities, pezsp-keystore, pezsp-runtime-interface, pezsp-state-machine, pezsp-tracing, pezsp-trie, secp256k1 ^0.28.0, tracing, and tracing-core

Affects pezsp-io::TestExternalities

with-tracing

Enables with-tracing of pezsp-tracing

disable_panic_handler

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_oom disable_allocator
improved_panic_error_reporting

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 receiving 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!

bls-experimental

This feature adds BLS crypto primitives.
It should not be used in production since the implementation and interface may still be subject to significant changes.

Enables bls-experimental of pezsp-core and pezsp-keystore

Affects pezsp-io::Crypto.bls381_generate, pezsp-io::Crypto.bls381_generate_proof_of_possession, pezsp-io::Crypto.ecdsa_bls381_generate

bandersnatch-experimental

This feature adds Bandersnatch crypto primitives.
It should not be used in production since the implementation and interface may still be subject to significant changes.

Enables bandersnatch-experimental of pezsp-core and pezsp-keystore

Affects pezsp-io::Crypto.bandersnatch_generate, pezsp-io::Crypto.bandersnatch_sign

runtime-benchmarks

Enables runtime-benchmarks of pezsp-runtime-interface, optional pezsp-state-machine, and optional pezsp-trie

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

pezsp-keystore bandersnatch-experimental? bls-experimental? std
pezsp-state-machine std
pezsp-trie std
secp256k1 std

Enables secp256k1 ^0.28.0