1ac262ec90
* Initial commit * Cherry pick from develop * Keep track of fragments * A bunch of data formats, graphs * Use mix_id for display * Proper API routes * Add openapi + swagger ui * Update locustfile * Add node stats endpoint * Add Swagger and locust to readme * All node stats endpoint * Update dependencies to use workspace * Bunch of pedantic fixes * More version updates, fmt * More lints * Add new_from_env for NymTopology * Nym API endpoint to submit monitoring results (#4616) * Nym API endpoint to submit monitoring results * Add gateway monitoring results * Cleanup, ergonomics * Weaponize * Finalize results submissions * Monitor message signing and verification * Update README * Axum graceful shutdown * More grtacefulness * Restructure result submission * Less fragile routes * Remove gateway unique index on node_id
139 lines
5.0 KiB
TOML
139 lines
5.0 KiB
TOML
# Copyright 2020 - Nym Technologies SA <contact@nymtech.net>
|
|
# SPDX-License-Identifier: GPL-3.0-only
|
|
|
|
[package]
|
|
name = "nym-api"
|
|
license = "GPL-3.0"
|
|
version = "1.1.42"
|
|
authors = [
|
|
"Dave Hrycyszyn <futurechimp@users.noreply.github.com>",
|
|
"Jędrzej Stuczyński <andrew@nymtech.net>",
|
|
"Drazen Urch <durch@users.noreply.github.com>",
|
|
]
|
|
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 = "1.0.13"
|
|
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 }
|
|
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 }
|
|
|
|
## 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" }
|
|
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"] }
|
|
nym-node-tester-utils = { path = "../common/node-tester-utils" }
|
|
nym-node-requests = { path = "../nym-node/nym-node-requests" }
|
|
nym-types = { path = "../common/types" }
|
|
|
|
[features]
|
|
no-reward = []
|
|
generate-ts = ["ts-rs"]
|
|
|
|
[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"
|