[workspace] members = [ "cli", "codegen", "core", "lightclient", "testing/substrate-runner", "testing/test-runtime", "testing/integration-tests", "testing/ui-tests", "testing/generate-custom-metadata", "macro", "metadata", "signer", "subxt", "scripts/artifacts", ] # We exclude any crates that would depend on non mutually # exclusive feature flags and thus can't compile with the # workspace: exclude = ["testing/no-std-tests", "testing/wasm-rpc-tests", "testing/wasm-lightclient-tests", "signer/wasm-tests", "examples/wasm-example", "examples/parachain-example"] resolver = "2" [workspace.package] authors = ["Parity Technologies "] edition = "2021" version = "0.34.0" rust-version = "1.74.0" license = "Apache-2.0 OR GPL-3.0" repository = "https://github.com/paritytech/subxt" documentation = "https://docs.rs/subxt" homepage = "https://www.parity.io/" [workspace.lints.rust] bad_style = "deny" improper_ctypes = "deny" missing_docs = "deny" non_shorthand_field_patterns = "deny" no_mangle_generic_items = "deny" overflowing_literals = "deny" path_statements = "deny" patterns_in_fns_without_body = "deny" unconditional_recursion = "deny" unused_allocation = "deny" unused_comparisons = "deny" unused_parens = "deny" unused_extern_crates = "deny" [workspace.lints.clippy] type_complexity = "allow" all = "deny" [workspace.dependencies] async-trait = "0.1.74" assert_matches = "1.5.0" base58 = { version = "0.2.0" } bitvec = { version = "1", default-features = false } blake2 = { version = "0.10.6", default-features = false } clap = { version = "4.4.18", features = ["derive", "cargo"] } cfg-if = "1.0.0" criterion = "0.4" codec = { package = "parity-scale-codec", version = "3.6.9", default-features = false } color-eyre = "0.6.1" console_error_panic_hook = "0.1.7" darling = "0.20.3" derivative = "2.2.0" derive_more = "0.99.17" either = { version = "1.9.0", default-features = false } frame-metadata = { version = "16.0.0", default-features = false } futures = { version = "0.3.30", default-features = false, features = ["std"] } getrandom = { version = "0.2", default-features = false } hashbrown = "0.14.3" hex = { version = "0.4.3", default-features = false } heck = "0.4.1" impl-serde = { version = "0.4.0", default-features = false } indoc = "2" jsonrpsee = { version = "0.21" } once_cell = { version = "1.19.0", default-features = false } pretty_assertions = "1.4.0" primitive-types = { version = "0.12.2", default-features = false } proc-macro-error = "1.0.4" proc-macro2 = "1.0.78" quote = "1.0.35" regex = { version = "1.10.3", default-features = false } scale-info = { version = "2.10.0", default-features = false } scale-value = { version = "0.13.0", default-features = false } scale-bits = { version = "0.4.0", default-features = false } scale-decode = { version = "0.10.0", default-features = false } scale-encode = { version = "0.5.0", default-features = false } serde = { version = "1.0.196", default-features = false, features = ["derive"] } serde_json = { version = "1.0.113", default-features = false } syn = { version = "2.0.15", features = ["full", "extra-traits"] } thiserror = "1.0.53" tokio = { version = "1.35", default-features = false } tracing = "0.1.40" tracing-wasm = "0.2.1" tracing-subscriber = "0.3.18" trybuild = "1.0.89" url = "2.5.0" wabt = "0.10.0" wasm-bindgen-test = "0.3.24" which = "5.0.0" scale-typegen-description = "0.1.0" scale-typegen = "0.1.1" strip-ansi-escapes = "0.2.0" # Light client support: smoldot = { version = "0.16.0", default-features = false } smoldot-light = { version = "0.14.0", default-features = false } tokio-stream = "0.1.14" futures-util = "0.3.30" rand = "0.8.5" pin-project = "1.1.4" # Light client wasm: web-sys = { version = "0.3.67", features = ["BinaryType", "CloseEvent", "MessageEvent", "WebSocket"] } wasm-bindgen = "0.2.90" send_wrapper = "0.6.0" js-sys = "0.3.67" wasm-bindgen-futures = "0.4.38" futures-timer = "3" instant = { version = "0.1.12", default-features = false } tokio-util = "0.7.10" # Substrate crates: sp-core = { version = "28.0.0", default-features = false } sp-core-hashing = { version = "15.0.0", default-features = false } sp-runtime = "31.0.0" sp-keyring = "31.0.0" # Subxt workspace crates: subxt = { version = "0.34.0", path = "subxt", default-features = false } subxt-macro = { version = "0.34.0", path = "macro" } subxt-core = { version = "0.34.0", path = "core", default-features = false } subxt-metadata = { version = "0.34.0", path = "metadata", default-features = false } subxt-codegen = { version = "0.34.0", path = "codegen" } subxt-signer = { version = "0.34.0", path = "signer", default-features = false } subxt-lightclient = { version = "0.34.0", path = "lightclient", default-features = false } test-runtime = { path = "testing/test-runtime" } substrate-runner = { path = "testing/substrate-runner" } # subxt-signer deps that I expect aren't useful anywhere else: bip39 = { version = "2.0.0", default-features = false } hmac = { version = "0.12.1", default-features = false } pbkdf2 = { version = "0.12.2", default-features = false } schnorrkel = { version = "0.11.4", default-features = false } secp256k1 = { version = "0.28.1", default-features = false } secrecy = "0.8.0" sha2 = { version = "0.10.8", default-features = false } zeroize = { version = "1", default-features = false } [profile.dev.package.smoldot-light] opt-level = 2 [profile.test.package.smoldot-light] opt-level = 2 [profile.dev.package.smoldot] opt-level = 2 [profile.test.package.smoldot] opt-level = 2