# Copyright 2020 - Nym Technologies SA # SPDX-License-Identifier: GPL-3.0-only [package] name = "nym-api" license = "GPL-3.0" version = "1.1.42" authors = [ "Dave Hrycyszyn ", "Jędrzej Stuczyński ", "Drazen Urch ", ] edition = "2021" rust-version = "1.76.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] async-trait = { workspace = true } bs58 = { workspace = true } bip39 = { workspace = true } bincode.workspace = true bloomfilter = { workspace = true } cfg-if = { workspace = true } clap = { workspace = true, features = ["cargo", "derive"] } console-subscriber = { workspace = true, optional = true } # validator-api needs to be built with RUSTFLAGS="--cfg tokio_unstable" dirs = { workspace = true } futures = { workspace = true } itertools = { workspace = true } humantime-serde = { workspace = true } k256 = { workspace = true, features = [ "ecdsa-core", ] } # needed for the Verifier trait; pull whatever version is used by other dependencies log = { workspace = true } pin-project = { workspace = true } rand = { workspace = true } rand_chacha = { workspace = true } reqwest = { workspace = true, features = ["json"] } rocket = { workspace = true, features = ["json"] } rocket_cors = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } tap = { workspace = true } thiserror = { workspace = true } time = { workspace = true, features = ["serde-human-readable", "parsing"] } tokio = { workspace = true, features = [ "rt-multi-thread", "macros", "signal", "time", ] } tokio-stream = { workspace = true } tokio-util = { workspace = true } url = { workspace = true } ts-rs = { workspace = true, optional = true } anyhow = { workspace = true } getset = { workspace = true } sqlx = { workspace = true, features = [ "runtime-tokio-rustls", "sqlite", "macros", "migrate", "time", ] } okapi = { workspace = true, features = ["impl_json_schema"] } rocket_okapi = { workspace = true, features = ["swagger"] } schemars = { workspace = true, features = ["preserve_order"] } zeroize = { workspace = true } # for axum server axum = { workspace = true, features = ["tokio"], optional = true } axum-extra = { workspace = true, features = ["typed-header"], optional = true } tower-http = { workspace = true, features = ["cors", "trace"], optional = true } utoipa = { workspace = true, features = ["axum_extras", "time"], optional = true } utoipa-swagger-ui = { workspace = true, features = ["axum"], optional = true} utoipauto = { workspace = true, optional = true } tracing-subscriber = { workspace = true, features = ["env-filter"], optional = true } tracing = { workspace = true, optional = true } ## ephemera-specific #actix-web = "4" #array-bytes = "6.0.0" #chrono = { version = "0.4.24", default-features = false, features = ["clock"] } #futures-util = "0.3.25" #serde_derive = "1.0.149" #uuid = { version = "1.3.0", features = ["serde", "v4"] } ## internal #ephemera = { path = "../ephemera" } nym-bandwidth-controller = { path = "../common/bandwidth-controller" } nym-ecash-contract-common = { path = "../common/cosmwasm-smart-contracts/ecash-contract" } nym-ecash-double-spending = { path = "../common/ecash-double-spending" } nym-ecash-time = { path = "../common/ecash-time", features = ["expiration"] } nym-coconut-dkg-common = { path = "../common/cosmwasm-smart-contracts/coconut-dkg" } nym-compact-ecash = { path = "../common/nym_offline_compact_ecash" } nym-credentials-interface = { path = "../common/credentials-interface" } #nym-ephemera-common = { path = "../common/cosmwasm-smart-contracts/ephemera" } nym-config = { path = "../common/config" } cosmwasm-std = { workspace = true } nym-credential-storage = { path = "../common/credential-storage", features = [ "persistent-storage", ] } nym-credentials = { path = "../common/credentials" } nym-crypto = { path = "../common/crypto" } cw2 = { workspace = true } cw3 = { workspace = true } cw4 = { workspace = true } nym-dkg = { path = "../common/dkg", features = ["cw-types"] } nym-gateway-client = { path = "../common/client-libs/gateway-client" } nym-inclusion-probability = { path = "../common/inclusion-probability" } nym-mixnet-contract-common = { path = "../common/cosmwasm-smart-contracts/mixnet-contract", features = ["utoipa"]} nym-vesting-contract-common = { path = "../common/cosmwasm-smart-contracts/vesting-contract" } nym-contracts-common = { path = "../common/cosmwasm-smart-contracts/contracts-common" } nym-multisig-contract-common = { path = "../common/cosmwasm-smart-contracts/multisig-contract" } nym-coconut = { path = "../common/nymcoconut", features = ["key-zeroize"] } nym-sphinx = { path = "../common/nymsphinx" } nym-pemstore = { path = "../common/pemstore" } nym-task = { path = "../common/task" } nym-topology = { path = "../common/topology" } nym-api-requests = { path = "nym-api-requests", features = ["rocket-traits"] } nym-validator-client = { path = "../common/client-libs/validator-client" } nym-bin-common = { path = "../common/bin-common", features = ["output_format", "openapi"] } nym-node-tester-utils = { path = "../common/node-tester-utils" } nym-node-requests = { path = "../nym-node/nym-node-requests" } nym-types = { path = "../common/types" } nym-http-api-common = { path = "../common/http-api-common", features = ["utoipa"] } [features] no-reward = [] generate-ts = ["ts-rs"] axum = ["dep:axum", "axum-extra", "tower-http", "utoipa", "utoipauto", "tracing-subscriber", "tracing", "utoipa-swagger-ui", "nym-http-api-common/utoipa", "nym-mixnet-contract-common/utoipa" ] [build-dependencies] tokio = { workspace = true, features = ["rt-multi-thread", "macros"] } sqlx = { workspace = true, features = [ "runtime-tokio-rustls", "sqlite", "macros", "migrate", ] } [dev-dependencies] tempfile = { workspace = true } cw3 = { workspace = true } cw-utils = { workspace = true } rand_chacha = { workspace = true } sha2 = "0.9"