Cargo Features

[dependencies]
radix-common = { version = "1.3.0", default-features = false, features = ["std", "alloc", "serde", "secp256k1_sign_and_validate", "fuzzing", "resource_tracker", "full_math_benches", "coverage"] }
default = std

You should enable either std or alloc

std default

Enables std of blake2, ed25519-dalek, hex, radix-rust, radix-sbor-derive, sbor, optional secp256k1 ^0.28.0, serde_json, and sha3

sbor:

preserve_order requires std

alloc

Enables spin_no_std of lazy_static, alloc of ed25519-dalek and hex, alloc of radix-rust, radix-sbor-derive, sbor, serde_json, and optional secp256k1 ^0.28.0 and no-threads of blst

blst:

Suppress multi-threading.
Engaged on wasm32 target architecture automatically.

serde fuzzing?

Enables serde and serde of hex, radix-rust, and sbor

sbor:

Enable serde derives for SBOR value and type models

secp256k1_sign_and_validate = secp256k1

By default, secp256k1 signing and validation is not enabled to mimimize code size If your project requires these functionalities, enable this feature

Affects signature_validator::verify_and_recover_secp256k1, signature_validator::verify_and_recover_secp256k1_uncompressed, signature_validator::verify_secp256k1

fuzzing = arbitrary, serde

This flag is set by fuzz-tests framework and it is used to disable/enable some optional features to let fuzzing work

Enables arbitrary and serde of bnum ^0.11.0, fuzzing of radix-rust and sbor

resource_tracker
full_math_benches

Enables ethnum and rug

rug:

This is for math benchmarks for comparison purposes.
Fast alternative to bigint but unfortunately not cross-compiled to WASM

coverage

Affects transaction_execution::MAX_SUBSTATE_VALUE_SIZE, transaction_execution::MAX_INVOKE_PAYLOAD_SIZE, wasm::MAX_MEMORY_SIZE_IN_PAGES

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.

secp256k1 secp256k1_sign_and_validate?

Enables secp256k1 ^0.28.0

arbitrary fuzzing?