[package] name = "polymesh-api" version = "3.9.1" edition = "2021" authors = ["Robert G. Jakabosky "] license = "Apache-2.0" description = "Polymesh Rust API" keywords = ["polymesh", "blockchain", "substrate", "codegen"] repository = "https://github.com/PolymeshAssociation/polymesh-api" homepage = "https://github.com/PolymeshAssociation/polymesh-api" [workspace] members = [ "crates/polymesh-api-codegen-macro", "crates/polymesh-api-codegen", "crates/polymesh-api-client", "crates/polymesh-api-client-extras", "crates/polymesh-api-ink", "crates/polymesh-api-tester", "crates/polymesh-offline-signer", "examples/simple_transfer", "examples/get_authorizations", "examples/add_secondary_keys_with_auth", "examples/subscribe_blocks", "examples/test_api", "examples/dump_blocks", "examples/create_users", ] ## Keep common dependencies here. [workspace.dependencies] # Our crates polymesh-api-codegen-macro = { version = "3.6.1", path = "crates/polymesh-api-codegen-macro", default-features = false } polymesh-api-codegen = { version = "3.6.1", path = "crates/polymesh-api-codegen", default-features = false } polymesh-api-client = { version = "3.8.0", path = "crates/polymesh-api-client", default-features = false } polymesh-api-client-extras = { version = "3.4.1", path = "crates/polymesh-api-client-extras", default-features = false } polymesh-api-tester = { version = "0.8.0", path = "crates/polymesh-api-tester", default-features = false } polymesh-api-ink = { version = "1.5.0", path = "crates/polymesh-api-ink", default-features = false } polymesh-api = { version = "3.9.1", path = "./", default-features = false } # Substrate shared deps. frame-metadata = { version = "=15.1.0", default-features = false } primitive-types = { version = "0.12.0", default-features = false } scale-info = { version = "2.5", default-features = false } sp-arithmetic = { version = "21.0", default-features = false } sp-application-crypto = { version = "28.0", default-features = false } sp-core = { version = "26.0", default-features = false } sp-core-hashing = { version = "13.0", default-features = false } sp-io = { version = "28.0", default-features = false } sp-keyring = { version = "29.0", default-features = false } sp-runtime = { version = "29.0", default-features = false } sp-std = { version = "12.0", default-features = false } sp-weights = { version = "25.0", default-features = false } # Subxt signer subxt-signer = { version = "0.33", default-features = false } # Ink! ink = { version = "4.3", default-features = false } # Other shared deps. serde_json = { version = "1.0", default-features = false } serde-big-array = { version = "0.4.1" } serde = { version = "1.0" } impl-serde = { version = "0.3.1", default-features = false } async-trait = { version = "0.1" } [dependencies] log = "0.4" polymesh-api-codegen-macro = { workspace = true, default-features = false } polymesh-api-client = { workspace = true, optional = true, default-features = false } # For Ink! Smart Contract support. polymesh-api-ink = { workspace = true, optional = true, default-features = false } ink = { workspace = true, optional = true, default-features = false } # substrate sp-arithmetic = { workspace = true, default-features = false } codec = { version = "3", package = "parity-scale-codec", default-features = false } scale-info = { workspace = true, default-features = false, optional = true } # RPC Client needs these. async-trait = { workspace = true, optional = true } serde-big-array = { workspace = true, optional = true } serde_json = { workspace = true, features = ["preserve_order", "arbitrary_precision"], optional = true } serde = { workspace = true, optional = true } [dev-dependencies] anyhow = "1" log = "0.4" hex = "0.4" dotenv = "0.15" env_logger = "0.9" tokio = { version = "1.19", features = ["rt"] } [features] default = [ "std", "polymesh_v6", "rpc", "serde", "v14" ] polymesh_v6 = [] polymesh_v7 = [] # Download the chain metadata from a RPC node. download_metadata = [ "polymesh-api-codegen-macro/download_metadata", ] rpc = [ "async-trait", "polymesh-api-client", ] v14 = [ "polymesh-api-codegen-macro/v14", "polymesh-api-client/v14", ] ink = [ "polymesh-api-codegen-macro/v14", "polymesh-api-ink", "polymesh-api-codegen-macro/ink", "polymesh-api-codegen-macro/no_std", "dep:ink", "type_info", ] type_info = [ "scale-info", "polymesh-api-client?/type_info", ] wasm = [ "v14", "rpc", "polymesh-api-codegen-macro/no_std", "polymesh-api-client/wasm", ] serde = [ "dep:serde", "sp-arithmetic/serde", "polymesh-api-client/serde", "serde-big-array", "codec/serde", ] std = [ "sp-arithmetic/std", "polymesh-api-codegen-macro/std", "polymesh-api-client?/std", "polymesh-api-ink?/std", "scale-info?/std", "ink?/std", ]