[package] name = "subxt" version = "0.27.1" authors.workspace = true edition.workspace = true rust-version.workspace = true publish = true license.workspace = true readme = "../README.md" repository.workspace = true documentation.workspace = true homepage.workspace = true description = "Submit extrinsics (transactions) to a substrate node via RPC" keywords = ["parity", "substrate", "blockchain"] [features] default = ["jsonrpsee-ws", "substrate-compat"] # Activate this feature to pull in extra Substrate dependencies which make it # possible to provide a proper extrinsic Signer implementation (PairSigner). substrate-compat = [ "sp-core", "sp-runtime" ] # Activate this to expose functionality only used for integration testing. # The exposed functionality is subject to breaking changes at any point, # and should not be relied upon. integration-tests = [] # Jsonrpsee if the default RPC provider used in Subxt. However, it can be # swapped out for an alternative implementation, and so is optional. jsonrpsee-ws = ["jsonrpsee/async-client", "jsonrpsee/client-ws-transport"] jsonrpsee-web = ["jsonrpsee/async-wasm-client", "jsonrpsee/client-web-transport"] [dependencies] codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive", "full"] } scale-info = { path = "/home/lexnv/workspace/scale-info" } scale-value = { version = "0.6.0", path = "/home/lexnv/workspace/scale-value" } scale-bits = { version = "0.3.0", path = "/home/lexnv/workspace/scale-bits" } scale-decode = {version = "0.4.0", path ="/home/lexnv/workspace/scale-decode" } futures = { version = "0.3.26", default-features = false, features = ["std"] } hex = "0.4.3" jsonrpsee = { version = "0.16", optional = true, features = ["jsonrpsee-types"] } serde = { version = "1.0.124", features = ["derive"] } serde_json = { version = "1.0.94", features = ["raw_value"] } thiserror = "1.0.39" tracing = "0.1.34" parking_lot = "0.12.0" frame-metadata = { version = "15.0.0", path = "/home/lexnv/workspace/frame-metadata/frame-metadata" } derivative = "2.2.0" subxt-macro = { version = "0.27.1", path = "../macro" } subxt-metadata = { version = "0.27.1", path = "../metadata" } # Provides some deserialization, types like U256/H256 and hashing impls like twox/blake256: impl-serde = { version = "0.4.0" } primitive-types = { version = "0.12.0", default-features = false, features = ["codec", "scale-info", "serde"] } sp-core-hashing = "7.0.0" # For ss58 encoding AccountId32 to serialize them properly: base58 = { version = "0.2.0" } blake2 = { version = "0.10.4", default-features = false } # These are only included is "substrate-compat" is enabled. sp-core = { version = "18.0.0", default-features = false, optional = true } sp-runtime = { version = "20.0.0", optional = true } [target.wasm32-unknown-unknown.dependencies] getrandom = { version = "0.2", features = ["js"] } [dev-dependencies] bitvec = "1" codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive", "full", "bit-vec"] } scale-info = { path = "/home/lexnv/workspace/scale-info", features = ["bit-vec"] } tokio = { version = "1.26", features = ["macros", "time", "rt-multi-thread"] } sp-core = { version = "18.0.0", default-features = false } sp-runtime = "20.0.0" sp-keyring = "20.0.0" sp-version = "18.0.0"