Compare commits

...

4 Commits

Author SHA1 Message Date
Jędrzej Stuczyński 55a87e09f0 exposed additional helpers 2024-05-08 16:40:31 +01:00
Jędrzej Stuczyński 14f57889bf removed explicit drops 2024-05-08 16:40:04 +01:00
Jędrzej Stuczyński f89fa2d1e4 fixed tests 2024-05-08 16:40:04 +01:00
Jędrzej Stuczyński b22ca5e1ef upgraded axum and related deps to the most recent version 2024-05-08 16:40:04 +01:00
18 changed files with 688 additions and 416 deletions
Generated
+193 -66
View File
@@ -543,11 +543,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf"
dependencies = [ dependencies = [
"async-trait", "async-trait",
"axum-core", "axum-core 0.3.4",
"bitflags 1.3.2", "bitflags 1.3.2",
"bytes", "bytes",
"futures-util", "futures-util",
"headers",
"http 0.2.9", "http 0.2.9",
"http-body 0.4.5", "http-body 0.4.5",
"hyper 0.14.27", "hyper 0.14.27",
@@ -559,14 +558,44 @@ dependencies = [
"pin-project-lite 0.2.13", "pin-project-lite 0.2.13",
"rustversion", "rustversion",
"serde", "serde",
"sync_wrapper 0.1.2",
"tower",
"tower-layer",
"tower-service",
]
[[package]]
name = "axum"
version = "0.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3a6c9af12842a67734c9a2e355436e5d03b22383ed60cf13cd0c18fbfe3dcbcf"
dependencies = [
"async-trait",
"axum-core 0.4.3",
"bytes",
"futures-util",
"http 1.1.0",
"http-body 1.0.0",
"http-body-util",
"hyper 1.3.1",
"hyper-util",
"itoa",
"matchit",
"memchr",
"mime",
"percent-encoding",
"pin-project-lite 0.2.13",
"rustversion",
"serde",
"serde_json", "serde_json",
"serde_path_to_error", "serde_path_to_error",
"serde_urlencoded", "serde_urlencoded",
"sync_wrapper", "sync_wrapper 1.0.1",
"tokio", "tokio",
"tower", "tower",
"tower-layer", "tower-layer",
"tower-service", "tower-service",
"tracing",
] ]
[[package]] [[package]]
@@ -586,6 +615,50 @@ dependencies = [
"tower-service", "tower-service",
] ]
[[package]]
name = "axum-core"
version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a15c63fd72d41492dc4f497196f5da1fb04fb7529e631d73630d1b491e47a2e3"
dependencies = [
"async-trait",
"bytes",
"futures-util",
"http 1.1.0",
"http-body 1.0.0",
"http-body-util",
"mime",
"pin-project-lite 0.2.13",
"rustversion",
"sync_wrapper 0.1.2",
"tower-layer",
"tower-service",
"tracing",
]
[[package]]
name = "axum-extra"
version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0be6ea09c9b96cb5076af0de2e383bd2bc0c18f827cf1967bdd353e0b910d733"
dependencies = [
"axum 0.7.5",
"axum-core 0.4.3",
"bytes",
"futures-util",
"headers",
"http 1.1.0",
"http-body 1.0.0",
"http-body-util",
"mime",
"pin-project-lite 0.2.13",
"serde",
"tower",
"tower-layer",
"tower-service",
"tracing",
]
[[package]] [[package]]
name = "backtrace" name = "backtrace"
version = "0.3.69" version = "0.3.69"
@@ -631,6 +704,12 @@ version = "0.21.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2"
[[package]]
name = "base64"
version = "0.22.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
[[package]] [[package]]
name = "base64ct" name = "base64ct"
version = "1.6.0" version = "1.6.0"
@@ -2569,7 +2648,7 @@ dependencies = [
"rand 0.8.5", "rand 0.8.5",
"rand_pcg 0.3.1", "rand_pcg 0.3.1",
"rand_seeder", "rand_seeder",
"reqwest", "reqwest 0.12.4",
"rocket", "rocket",
"rocket_cors", "rocket_cors",
"rocket_okapi", "rocket_okapi",
@@ -3203,14 +3282,14 @@ dependencies = [
[[package]] [[package]]
name = "headers" name = "headers"
version = "0.3.9" version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270" checksum = "322106e6bd0cba2d5ead589ddb8150a13d7c4217cf80d7c4f682ca994ccc6aa9"
dependencies = [ dependencies = [
"base64 0.21.4", "base64 0.21.4",
"bytes", "bytes",
"headers-core", "headers-core",
"http 0.2.9", "http 1.1.0",
"httpdate", "httpdate",
"mime", "mime",
"sha1", "sha1",
@@ -3218,11 +3297,11 @@ dependencies = [
[[package]] [[package]]
name = "headers-core" name = "headers-core"
version = "0.2.0" version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429" checksum = "54b4a22553d4242c49fddb9ba998a99962b5cc6f22cb5a3482bec22522403ce4"
dependencies = [ dependencies = [
"http 0.2.9", "http 1.1.0",
] ]
[[package]] [[package]]
@@ -3404,9 +3483,9 @@ dependencies = [
[[package]] [[package]]
name = "http-range-header" name = "http-range-header"
version = "0.3.1" version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" checksum = "08a397c49fec283e3d6211adbe480be95aae5f304cfb923e9970e08956d5168a"
[[package]] [[package]]
name = "httparse" name = "httparse"
@@ -3481,9 +3560,9 @@ dependencies = [
[[package]] [[package]]
name = "hyper" name = "hyper"
version = "1.2.0" version = "1.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "186548d73ac615b32a73aafe38fb4f56c0d340e110e5a200bcadbaf2e199263a" checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d"
dependencies = [ dependencies = [
"bytes", "bytes",
"futures-channel", "futures-channel",
@@ -3496,6 +3575,7 @@ dependencies = [
"pin-project-lite 0.2.13", "pin-project-lite 0.2.13",
"smallvec", "smallvec",
"tokio", "tokio",
"want",
] ]
[[package]] [[package]]
@@ -3531,13 +3611,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa" checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa"
dependencies = [ dependencies = [
"bytes", "bytes",
"futures-channel",
"futures-util", "futures-util",
"http 1.1.0", "http 1.1.0",
"http-body 1.0.0", "http-body 1.0.0",
"hyper 1.2.0", "hyper 1.3.1",
"pin-project-lite 0.2.13", "pin-project-lite 0.2.13",
"socket2 0.5.4", "socket2 0.5.4",
"tokio", "tokio",
"tower",
"tower-service",
"tracing",
] ]
[[package]] [[package]]
@@ -3805,7 +3889,7 @@ dependencies = [
"socket2 0.5.4", "socket2 0.5.4",
"widestring", "widestring",
"windows-sys 0.48.0", "windows-sys 0.48.0",
"winreg", "winreg 0.50.0",
] ]
[[package]] [[package]]
@@ -5077,7 +5161,7 @@ dependencies = [
"rand 0.8.5", "rand 0.8.5",
"rand_chacha 0.2.2", "rand_chacha 0.2.2",
"rand_chacha 0.3.1", "rand_chacha 0.3.1",
"reqwest", "reqwest 0.12.4",
"rocket", "rocket",
"rocket_cors", "rocket_cors",
"rocket_okapi", "rocket_okapi",
@@ -5315,7 +5399,7 @@ dependencies = [
"gloo-timers", "gloo-timers",
"http-body-util", "http-body-util",
"humantime-serde", "humantime-serde",
"hyper 1.2.0", "hyper 1.3.1",
"hyper-util", "hyper-util",
"log", "log",
"nym-bandwidth-controller", "nym-bandwidth-controller",
@@ -5649,7 +5733,7 @@ dependencies = [
name = "nym-exit-policy" name = "nym-exit-policy"
version = "0.1.0" version = "0.1.0"
dependencies = [ dependencies = [
"reqwest", "reqwest 0.12.4",
"serde", "serde",
"serde_json", "serde_json",
"thiserror", "thiserror",
@@ -5675,7 +5759,7 @@ version = "0.1.0"
dependencies = [ dependencies = [
"log", "log",
"nym-explorer-api-requests", "nym-explorer-api-requests",
"reqwest", "reqwest 0.12.4",
"serde", "serde",
"thiserror", "thiserror",
"tokio", "tokio",
@@ -5810,7 +5894,7 @@ name = "nym-http-api-client"
version = "0.1.0" version = "0.1.0"
dependencies = [ dependencies = [
"async-trait", "async-trait",
"reqwest", "reqwest 0.12.4",
"serde", "serde",
"serde_json", "serde_json",
"thiserror", "thiserror",
@@ -5823,7 +5907,7 @@ dependencies = [
name = "nym-http-api-common" name = "nym-http-api-common"
version = "0.1.0" version = "0.1.0"
dependencies = [ dependencies = [
"axum", "axum 0.7.5",
"bytes", "bytes",
"mime", "mime",
"serde", "serde",
@@ -5912,7 +5996,7 @@ dependencies = [
"nym-wireguard", "nym-wireguard",
"nym-wireguard-types", "nym-wireguard-types",
"rand 0.8.5", "rand 0.8.5",
"reqwest", "reqwest 0.12.4",
"serde", "serde",
"serde_json", "serde_json",
"tap", "tap",
@@ -5982,7 +6066,7 @@ name = "nym-mixnode"
version = "1.1.37" version = "1.1.37"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"axum", "axum 0.7.5",
"bs58 0.5.0", "bs58 0.5.0",
"clap 4.4.7", "clap 4.4.7",
"colored", "colored",
@@ -6134,7 +6218,7 @@ dependencies = [
"publicsuffix", "publicsuffix",
"rand 0.7.3", "rand 0.7.3",
"regex", "regex",
"reqwest", "reqwest 0.12.4",
"serde", "serde",
"serde_json", "serde_json",
"sqlx", "sqlx",
@@ -6211,12 +6295,14 @@ dependencies = [
name = "nym-node-http-api" name = "nym-node-http-api"
version = "0.1.0" version = "0.1.0"
dependencies = [ dependencies = [
"axum", "axum 0.7.5",
"axum-extra",
"colored", "colored",
"dashmap", "dashmap",
"fastrand 2.0.1", "fastrand 2.0.1",
"headers",
"hmac 0.12.1", "hmac 0.12.1",
"hyper 0.14.27", "hyper 1.3.1",
"ipnetwork 0.16.0", "ipnetwork 0.16.0",
"nym-crypto", "nym-crypto",
"nym-http-api-common", "nym-http-api-common",
@@ -6396,7 +6482,7 @@ dependencies = [
"parking_lot 0.12.1", "parking_lot 0.12.1",
"pretty_env_logger", "pretty_env_logger",
"rand 0.7.3", "rand 0.7.3",
"reqwest", "reqwest 0.12.4",
"tap", "tap",
"thiserror", "thiserror",
"tokio", "tokio",
@@ -6491,7 +6577,7 @@ dependencies = [
"nym-validator-client", "nym-validator-client",
"pin-project", "pin-project",
"rand 0.7.3", "rand 0.7.3",
"reqwest", "reqwest 0.12.4",
"schemars", "schemars",
"serde", "serde",
"tap", "tap",
@@ -6708,7 +6794,7 @@ version = "1.0.1"
dependencies = [ dependencies = [
"async-trait", "async-trait",
"log", "log",
"reqwest", "reqwest 0.12.4",
"serde", "serde",
"serde_json", "serde_json",
"sqlx", "sqlx",
@@ -6797,7 +6883,7 @@ dependencies = [
"nym-mixnet-contract-common", "nym-mixnet-contract-common",
"nym-validator-client", "nym-validator-client",
"nym-vesting-contract-common", "nym-vesting-contract-common",
"reqwest", "reqwest 0.12.4",
"schemars", "schemars",
"serde", "serde",
"serde_json", "serde_json",
@@ -6847,7 +6933,7 @@ dependencies = [
"nym-service-provider-directory-common", "nym-service-provider-directory-common",
"nym-vesting-contract-common", "nym-vesting-contract-common",
"prost 0.12.1", "prost 0.12.1",
"reqwest", "reqwest 0.12.4",
"serde", "serde",
"serde_json", "serde_json",
"sha2 0.9.9", "sha2 0.9.9",
@@ -6978,7 +7064,7 @@ dependencies = [
"nym-bin-common", "nym-bin-common",
"nym-config", "nym-config",
"nym-task", "nym-task",
"reqwest", "reqwest 0.12.4",
"serde", "serde",
"serde_json", "serde_json",
"sha2 0.10.8", "sha2 0.10.8",
@@ -8328,6 +8414,41 @@ dependencies = [
"system-configuration", "system-configuration",
"tokio", "tokio",
"tokio-rustls 0.24.1", "tokio-rustls 0.24.1",
"tower-service",
"url",
"wasm-bindgen",
"wasm-bindgen-futures",
"web-sys",
"winreg 0.50.0",
]
[[package]]
name = "reqwest"
version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10"
dependencies = [
"base64 0.22.1",
"bytes",
"futures-core",
"futures-util",
"http 1.1.0",
"http-body 1.0.0",
"http-body-util",
"hyper 1.3.1",
"hyper-util",
"ipnet",
"js-sys",
"log",
"mime",
"once_cell",
"percent-encoding",
"pin-project-lite 0.2.13",
"serde",
"serde_json",
"serde_urlencoded",
"sync_wrapper 0.1.2",
"tokio",
"tokio-socks", "tokio-socks",
"tokio-util", "tokio-util",
"tower-service", "tower-service",
@@ -8336,7 +8457,7 @@ dependencies = [
"wasm-bindgen-futures", "wasm-bindgen-futures",
"wasm-streams", "wasm-streams",
"web-sys", "web-sys",
"winreg", "winreg 0.52.0",
] ]
[[package]] [[package]]
@@ -8577,9 +8698,9 @@ dependencies = [
[[package]] [[package]]
name = "rust-embed" name = "rust-embed"
version = "6.8.1" version = "8.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a36224c3276f8c4ebc8c20f158eca7ca4359c8db89991c4925132aaaf6702661" checksum = "fb78f46d0066053d16d4ca7b898e9343bc3530f71c61d5ad84cd404ada068745"
dependencies = [ dependencies = [
"rust-embed-impl", "rust-embed-impl",
"rust-embed-utils", "rust-embed-utils",
@@ -8588,23 +8709,22 @@ dependencies = [
[[package]] [[package]]
name = "rust-embed-impl" name = "rust-embed-impl"
version = "6.8.1" version = "8.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "49b94b81e5b2c284684141a2fb9e2a31be90638caf040bf9afbc5a0416afe1ac" checksum = "b91ac2a3c6c0520a3fb3dd89321177c3c692937c4eb21893378219da10c44fc8"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"rust-embed-utils", "rust-embed-utils",
"shellexpand",
"syn 2.0.58", "syn 2.0.58",
"walkdir", "walkdir",
] ]
[[package]] [[package]]
name = "rust-embed-utils" name = "rust-embed-utils"
version = "7.8.1" version = "8.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9d38ff6bf570dc3bb7100fce9f7b60c33fa71d80e88da3f2580df4ff2bdded74" checksum = "86f69089032567ffff4eada41c573fc43ff466c7db7c5688b2e7969584345581"
dependencies = [ dependencies = [
"sha2 0.10.8", "sha2 0.10.8",
"walkdir", "walkdir",
@@ -9210,15 +9330,6 @@ dependencies = [
"lazy_static", "lazy_static",
] ]
[[package]]
name = "shellexpand"
version = "2.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ccc8076840c4da029af4f87e4e8daeb0fca6b87bbb02e10cb60b791450e11e4"
dependencies = [
"dirs 4.0.0",
]
[[package]] [[package]]
name = "si-scale" name = "si-scale"
version = "0.2.2" version = "0.2.2"
@@ -9731,6 +9842,12 @@ version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
[[package]]
name = "sync_wrapper"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394"
[[package]] [[package]]
name = "synstructure" name = "synstructure"
version = "0.12.6" version = "0.12.6"
@@ -9901,7 +10018,7 @@ dependencies = [
"getrandom 0.2.10", "getrandom 0.2.10",
"peg", "peg",
"pin-project", "pin-project",
"reqwest", "reqwest 0.11.22",
"semver 1.0.22", "semver 1.0.22",
"serde", "serde",
"serde_bytes", "serde_bytes",
@@ -10263,7 +10380,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3082666a3a6433f7f511c7192923fa1fe07c69332d3c6a2e6bb040b569199d5a" checksum = "3082666a3a6433f7f511c7192923fa1fe07c69332d3c6a2e6bb040b569199d5a"
dependencies = [ dependencies = [
"async-trait", "async-trait",
"axum", "axum 0.6.20",
"base64 0.21.4", "base64 0.21.4",
"bytes", "bytes",
"futures-core", "futures-core",
@@ -10306,16 +10423,16 @@ dependencies = [
[[package]] [[package]]
name = "tower-http" name = "tower-http"
version = "0.4.4" version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140" checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5"
dependencies = [ dependencies = [
"bitflags 2.4.1", "bitflags 2.4.1",
"bytes", "bytes",
"futures-core",
"futures-util", "futures-util",
"http 0.2.9", "http 1.1.0",
"http-body 0.4.5", "http-body 1.0.0",
"http-body-util",
"http-range-header", "http-range-header",
"httpdate", "httpdate",
"mime", "mime",
@@ -10813,9 +10930,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
[[package]] [[package]]
name = "utoipa" name = "utoipa"
version = "3.5.0" version = "4.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d82b1bc5417102a73e8464c686eef947bdfb99fcdfc0a4f228e81afa9526470a" checksum = "272ebdfbc99111033031d2f10e018836056e4d2c8e2acda76450ec7974269fa7"
dependencies = [ dependencies = [
"indexmap 2.0.2", "indexmap 2.0.2",
"serde", "serde",
@@ -10825,9 +10942,9 @@ dependencies = [
[[package]] [[package]]
name = "utoipa-gen" name = "utoipa-gen"
version = "3.5.0" version = "4.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05d96dcd6fc96f3df9b3280ef480770af1b7c5d14bc55192baa9b067976d920c" checksum = "d3c9f4d08338c1bfa70dde39412a040a884c6f318b3d09aaaf3437a1e52027fc"
dependencies = [ dependencies = [
"proc-macro-error", "proc-macro-error",
"proc-macro2", "proc-macro2",
@@ -10838,11 +10955,11 @@ dependencies = [
[[package]] [[package]]
name = "utoipa-swagger-ui" name = "utoipa-swagger-ui"
version = "3.1.5" version = "6.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "84614caa239fb25b2bb373a52859ffd94605ceb256eeb1d63436325cf81e3653" checksum = "0b39868d43c011961e04b41623e050aedf2cc93652562ff7935ce0f819aaf2da"
dependencies = [ dependencies = [
"axum", "axum 0.7.5",
"mime_guess", "mime_guess",
"regex", "regex",
"rust-embed", "rust-embed",
@@ -11090,9 +11207,9 @@ dependencies = [
[[package]] [[package]]
name = "wasm-streams" name = "wasm-streams"
version = "0.3.0" version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b4609d447824375f43e1ffbc051b50ad8f4b3ae8219680c94452ea05eb240ac7" checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129"
dependencies = [ dependencies = [
"futures-util", "futures-util",
"js-sys", "js-sys",
@@ -11705,6 +11822,16 @@ dependencies = [
"windows-sys 0.48.0", "windows-sys 0.48.0",
] ]
[[package]]
name = "winreg"
version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5"
dependencies = [
"cfg-if",
"windows-sys 0.48.0",
]
[[package]] [[package]]
name = "with_builtin_macros" name = "with_builtin_macros"
version = "0.0.3" version = "0.0.3"
+7 -5
View File
@@ -160,7 +160,8 @@ license = "Apache-2.0"
[workspace.dependencies] [workspace.dependencies]
anyhow = "1.0.71" anyhow = "1.0.71"
async-trait = "0.1.68" async-trait = "0.1.68"
axum = "0.6.20" axum = "0.7.5"
axum-extra = "0.9.3"
base64 = "0.21.4" base64 = "0.21.4"
bs58 = "0.5.0" bs58 = "0.5.0"
bip39 = { version = "2.0.0", features = ["zeroize"] } bip39 = { version = "2.0.0", features = ["zeroize"] }
@@ -171,15 +172,16 @@ dotenvy = "0.15.6"
futures = "0.3.28" futures = "0.3.28"
generic-array = "0.14.7" generic-array = "0.14.7"
getrandom = "0.2.10" getrandom = "0.2.10"
headers = "0.4.0"
humantime-serde = "1.1.1" humantime-serde = "1.1.1"
hyper = "0.14.27" hyper = "1.3.1"
k256 = "0.13" k256 = "0.13"
lazy_static = "1.4.0" lazy_static = "1.4.0"
log = "0.4" log = "0.4"
once_cell = "1.7.2" once_cell = "1.7.2"
parking_lot = "0.12.1" parking_lot = "0.12.1"
rand = "0.8.5" rand = "0.8.5"
reqwest = { version = "0.11.22", default-features = false } reqwest = { version = "0.12.4", default-features = false }
schemars = "0.8.1" schemars = "0.8.1"
serde = "1.0.152" serde = "1.0.152"
serde_json = "1.0.91" serde_json = "1.0.91"
@@ -193,8 +195,8 @@ tokio-tungstenite = { version = "0.20.1" }
tracing = "0.1.37" tracing = "0.1.37"
tungstenite = { version = "0.20.1", default-features = false } tungstenite = { version = "0.20.1", default-features = false }
ts-rs = "7.0.0" ts-rs = "7.0.0"
utoipa = "3.5.0" utoipa = "4.2.0"
utoipa-swagger-ui = "3.1.5" utoipa-swagger-ui = "6.0.0"
url = "2.4" url = "2.4"
zeroize = "1.6.0" zeroize = "1.6.0"
@@ -328,4 +328,8 @@ impl EpochState {
pub fn is_dealing_exchange(&self) -> bool { pub fn is_dealing_exchange(&self) -> bool {
matches!(self, EpochState::DealingExchange { .. }) matches!(self, EpochState::DealingExchange { .. })
} }
pub fn is_waiting_initialisation(&self) -> bool {
matches!(self, EpochState::WaitingInitialisation)
}
} }
@@ -6,7 +6,7 @@ use crate::coconut::utils::scalar_serde_helper;
use crate::error::Error; use crate::error::Error;
use nym_api_requests::coconut::BlindSignRequestBody; use nym_api_requests::coconut::BlindSignRequestBody;
use nym_credentials_interface::{ use nym_credentials_interface::{
hash_to_scalar, Attribute, BlindSignRequest, BlindedSignature, PublicAttribute, hash_to_scalar, Attribute, BlindSignRequest, BlindedSignature, CredentialType, PublicAttribute,
}; };
use nym_crypto::asymmetric::{encryption, identity}; use nym_crypto::asymmetric::{encryption, identity};
use nym_validator_client::nyxd::{Coin, Hash}; use nym_validator_client::nyxd::{Coin, Hash};
@@ -123,6 +123,10 @@ impl BandwidthVoucherIssuanceData {
&self.value_prehashed &self.value_prehashed
} }
pub fn typ() -> CredentialType {
CredentialType::Voucher
}
pub fn tx_hash(&self) -> Hash { pub fn tx_hash(&self) -> Hash {
self.deposit_tx_hash self.deposit_tx_hash
} }
+4
View File
@@ -157,6 +157,10 @@ impl BlindSignRequest {
) )
} }
pub fn verify_commitment_hash(&self, public_attributes: &[&Attribute]) -> bool {
self.commitment_hash == compute_hash(self.commitment, public_attributes)
}
pub fn get_commitment_hash(&self) -> G1Projective { pub fn get_commitment_hash(&self) -> G1Projective {
self.commitment_hash self.commitment_hash
} }
@@ -249,7 +249,7 @@ impl BlockProcessor {
match to_prune { match to_prune {
v if v > 1000 => warn!("approximately {v} blocks worth of data will be pruned"), v if v > 1000 => warn!("approximately {v} blocks worth of data will be pruned"),
v if v > 100 => info!("approximately {v} blocks worth of data will be pruned"), v if v > 100 => info!("approximately {v} blocks worth of data will be pruned"),
v if v == 0 => trace!("no blocks to prune"), 0 => trace!("no blocks to prune"),
v => debug!("approximately {v} blocks worth of data will be pruned"), v => debug!("approximately {v} blocks worth of data will be pruned"),
} }
+12 -5
View File
@@ -5,7 +5,7 @@ use crate::config::Config;
use crate::error::GatewayError; use crate::error::GatewayError;
use crate::helpers::load_public_key; use crate::helpers::load_public_key;
use ipnetwork::IpNetwork; use ipnetwork::IpNetwork;
use log::{debug, warn}; use log::{debug, error, warn};
use nym_bin_common::bin_info_owned; use nym_bin_common::bin_info_owned;
use nym_crypto::asymmetric::{encryption, identity}; use nym_crypto::asymmetric::{encryption, identity};
use nym_network_requester::RequestFilter; use nym_network_requester::RequestFilter;
@@ -295,12 +295,19 @@ impl<'a> HttpApiBuilder<'a> {
.ok() .ok()
}); });
let bind_address = self.gateway_config.http.bind_address;
let router = nym_node_http_api::NymNodeRouter::new(config, None, wg_state); let router = nym_node_http_api::NymNodeRouter::new(config, None, wg_state);
let server = router tokio::spawn(async move {
.build_server(&self.gateway_config.http.bind_address)? let server = match router.build_server(&bind_address).await {
.with_task_client(task_client); Ok(server) => server.with_task_client(task_client),
tokio::spawn(async move { server.run().await }); Err(err) => {
error!("failed to create http server: {err}");
return;
}
};
server.run().await
});
Ok(()) Ok(())
} }
} }
+12 -6
View File
@@ -4,7 +4,7 @@
use crate::config::Config; use crate::config::Config;
use crate::error::MixnodeError; use crate::error::MixnodeError;
use crate::node::node_description::NodeDescription; use crate::node::node_description::NodeDescription;
use log::info; use log::{error, info};
use nym_bin_common::bin_info_owned; use nym_bin_common::bin_info_owned;
use nym_crypto::asymmetric::{encryption, identity}; use nym_crypto::asymmetric::{encryption, identity};
use nym_node_http_api::api::api_requests; use nym_node_http_api::api::api_requests;
@@ -104,11 +104,17 @@ impl<'a> HttpApiBuilder<'a> {
.with_landing_page_assets(self.mixnode_config.http.landing_page_assets_path.as_ref()); .with_landing_page_assets(self.mixnode_config.http.landing_page_assets_path.as_ref());
let router = nym_node_http_api::NymNodeRouter::new(config, None, None); let router = nym_node_http_api::NymNodeRouter::new(config, None, None);
let server = router
// .with_merged(legacy::routes(self.legacy_mixnode, self.legacy_descriptor)) tokio::spawn(async move {
.build_server(&bind_address)? let server = match router.build_server(&bind_address).await {
.with_task_client(task_client); Ok(server) => server.with_task_client(task_client),
tokio::spawn(async move { server.run().await }); Err(err) => {
error!("failed to create http server: {err}");
return;
}
};
server.run().await
});
Ok(()) Ok(())
} }
} }
+221 -271
View File
File diff suppressed because it is too large Load Diff
+5 -6
View File
@@ -7,18 +7,16 @@ license.workspace = true
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies] [dependencies]
axum = { workspace = true, features = ["headers"] } axum.workspace = true
# \/ will be needed once we update axum to 0.7 axum-extra = { axum.workspace = true, features = ["typed-header"] }
#axum-extra = { version = "0.9.3", features = ["typed-header"] } headers.workspace = true
#headers = "0.4"
# useful for `#[axum_macros::debug_handler]` # useful for `#[axum_macros::debug_handler]`
#axum-macros = "0.3.8" #axum-macros = "0.3.8"
hyper.workspace = true
thiserror.workspace = true thiserror.workspace = true
time = { workspace = true, features = ["serde"] } time = { workspace = true, features = ["serde"] }
tokio = { workspace = true, features = ["macros"] } tokio = { workspace = true, features = ["macros"] }
tower-http = { version = "0.4.4", features = ["fs"] } tower-http = { version = "0.5.2", features = ["fs"] }
tracing.workspace = true tracing.workspace = true
utoipa = { workspace = true, features = ["axum_extras", "time"] } utoipa = { workspace = true, features = ["axum_extras", "time"] }
utoipa-swagger-ui = { workspace = true, features = ["axum"] } utoipa-swagger-ui = { workspace = true, features = ["axum"] }
@@ -40,6 +38,7 @@ nym-wireguard = { path = "../../common/wireguard" }
nym-wireguard-types = { path = "../../common/wireguard-types", features = ["verify"] } nym-wireguard-types = { path = "../../common/wireguard-types", features = ["verify"] }
[dev-dependencies] [dev-dependencies]
hyper.workspace = true
dashmap.workspace = true dashmap.workspace = true
serde_json.workspace = true serde_json.workspace = true
+2 -1
View File
@@ -1,6 +1,7 @@
// Copyright 2024 - Nym Technologies SA <contact@nymtech.net> // Copyright 2024 - Nym Technologies SA <contact@nymtech.net>
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
use std::io;
use std::net::SocketAddr; use std::net::SocketAddr;
use thiserror::Error; use thiserror::Error;
@@ -9,7 +10,7 @@ pub enum NymNodeHttpError {
#[error("failed to bind the HTTP API to {bind_address}: {source}")] #[error("failed to bind the HTTP API to {bind_address}: {source}")]
HttpBindFailure { HttpBindFailure {
bind_address: SocketAddr, bind_address: SocketAddr,
source: hyper::Error, source: io::Error,
}, },
#[error("failed to use nym-node requests: {source}")] #[error("failed to use nym-node requests: {source}")]
+12 -11
View File
@@ -2,12 +2,13 @@
// SPDX-License-Identifier: GPL-3.0-only // SPDX-License-Identifier: GPL-3.0-only
use axum::extract::connect_info::IntoMakeServiceWithConnectInfo; use axum::extract::connect_info::IntoMakeServiceWithConnectInfo;
use axum::extract::ConnectInfo;
use axum::middleware::AddExtension;
use axum::serve::Serve;
use axum::Router; use axum::Router;
use hyper::server::conn::AddrIncoming;
use hyper::Server;
use nym_task::TaskClient; use nym_task::TaskClient;
use std::net::SocketAddr; use std::net::SocketAddr;
use tracing::{debug, error, info}; use tracing::{debug, error};
pub mod error; pub mod error;
pub mod middleware; pub mod middleware;
@@ -17,15 +18,18 @@ pub mod state;
pub use error::NymNodeHttpError; pub use error::NymNodeHttpError;
pub use router::{api, landing_page, Config, NymNodeRouter}; pub use router::{api, landing_page, Config, NymNodeRouter};
// I guess this wasn't really meant to be extracted into separate type haha
type InnerService = IntoMakeServiceWithConnectInfo<Router, SocketAddr>;
type ConnectInfoExt = AddExtension<Router, ConnectInfo<SocketAddr>>;
pub type ServeService = Serve<InnerService, ConnectInfoExt>;
pub struct NymNodeHTTPServer { pub struct NymNodeHTTPServer {
task_client: Option<TaskClient>, task_client: Option<TaskClient>,
inner: Server<AddrIncoming, IntoMakeServiceWithConnectInfo<Router, SocketAddr>>, inner: ServeService,
} }
impl NymNodeHTTPServer { impl NymNodeHTTPServer {
pub(crate) fn new( pub(crate) fn new(inner: ServeService) -> Self {
inner: Server<AddrIncoming, IntoMakeServiceWithConnectInfo<Router, SocketAddr>>,
) -> Self {
NymNodeHTTPServer { NymNodeHTTPServer {
task_client: None, task_client: None,
inner, inner,
@@ -38,9 +42,7 @@ impl NymNodeHTTPServer {
self self
} }
async fn run_server_forever( async fn run_server_forever(server: ServeService) {
server: Server<AddrIncoming, IntoMakeServiceWithConnectInfo<Router, SocketAddr>>,
) {
if let Err(err) = server.await { if let Err(err) = server.await {
error!("the HTTP server has terminated with the error: {err}"); error!("the HTTP server has terminated with the error: {err}");
} else { } else {
@@ -49,7 +51,6 @@ impl NymNodeHTTPServer {
} }
pub async fn run(self) { pub async fn run(self) {
info!("Started NymNodeHTTPServer on {}", self.inner.local_addr());
if let Some(mut task_client) = self.task_client { if let Some(mut task_client) = self.task_client {
tokio::select! { tokio::select! {
_ = task_client.recv_with_delay() => { _ = task_client.recv_with_delay() => {
@@ -1,22 +1,24 @@
// Copyright 2023 - Nym Technologies SA <contact@nymtech.net> // Copyright 2023-2024 - Nym Technologies SA <contact@nymtech.net>
// SPDX-License-Identifier: GPL-3.0-only // SPDX-License-Identifier: GPL-3.0-only
use axum::{ use axum::{
extract::ConnectInfo, extract::{ConnectInfo, Request},
http::{HeaderValue, Request}, http::{
header::{HOST, USER_AGENT},
HeaderValue,
},
middleware::Next, middleware::Next,
response::IntoResponse, response::IntoResponse,
}; };
use colored::*; use colored::*;
use hyper::header::{HOST, USER_AGENT};
use std::net::SocketAddr; use std::net::SocketAddr;
use tracing::info; use tracing::info;
/// Simple logger for requests /// Simple logger for requests
pub async fn logger<B>( pub async fn logger(
ConnectInfo(addr): ConnectInfo<SocketAddr>, ConnectInfo(addr): ConnectInfo<SocketAddr>,
req: Request<B>, req: Request,
next: Next<B>, next: Next,
) -> impl IntoResponse { ) -> impl IntoResponse {
let method = req.method().to_string().green(); let method = req.method().to_string().green();
let uri = req.uri().to_string().blue(); let uri = req.uri().to_string().blue();
@@ -104,6 +104,7 @@ mod test {
use crate::api::v1::gateway::client_interfaces::wireguard::{ use crate::api::v1::gateway::client_interfaces::wireguard::{
routes, WireguardAppState, WireguardAppStateInner, routes, WireguardAppState, WireguardAppStateInner,
}; };
use axum::body::to_bytes;
use axum::body::Body; use axum::body::Body;
use axum::http::Request; use axum::http::Request;
use axum::http::StatusCode; use axum::http::StatusCode;
@@ -203,7 +204,7 @@ mod test {
nonce, nonce,
gateway_data, gateway_data,
wg_port: 8080, wg_port: 8080,
} = serde_json::from_slice(&hyper::body::to_bytes(response.into_body()).await.unwrap()) } = serde_json::from_slice(&to_bytes(response.into_body(), usize::MAX).await.unwrap())
.unwrap() .unwrap()
else { else {
panic!("invalid response") panic!("invalid response")
@@ -257,7 +258,7 @@ mod test {
assert_eq!(response.status(), StatusCode::OK); assert_eq!(response.status(), StatusCode::OK);
let clients: Vec<PeerPublicKey> = let clients: Vec<PeerPublicKey> =
serde_json::from_slice(&hyper::body::to_bytes(response.into_body()).await.unwrap()) serde_json::from_slice(&to_bytes(response.into_body(), usize::MAX).await.unwrap())
.unwrap(); .unwrap();
assert!(!clients.is_empty()); assert!(!clients.is_empty());
@@ -3,10 +3,10 @@
use crate::state::metrics::MetricsAppState; use crate::state::metrics::MetricsAppState;
use axum::extract::State; use axum::extract::State;
use axum::headers::authorization::Bearer;
use axum::headers::Authorization;
use axum::http::StatusCode; use axum::http::StatusCode;
use axum::TypedHeader; use axum_extra::TypedHeader;
use headers::authorization::Bearer;
use headers::Authorization;
use nym_metrics::metrics; use nym_metrics::metrics;
/// Returns `prometheus` compatible metrics /// Returns `prometheus` compatible metrics
+10 -7
View File
@@ -204,19 +204,22 @@ impl NymNodeRouter {
self self
} }
pub fn build_server( pub async fn build_server(
self, self,
bind_address: &SocketAddr, bind_address: &SocketAddr,
) -> Result<NymNodeHTTPServer, NymNodeHttpError> { ) -> Result<NymNodeHTTPServer, NymNodeHttpError> {
let axum_server = axum::Server::try_bind(bind_address) let listener = tokio::net::TcpListener::bind(bind_address)
.await
.map_err(|source| NymNodeHttpError::HttpBindFailure { .map_err(|source| NymNodeHttpError::HttpBindFailure {
bind_address: *bind_address, bind_address: *bind_address,
source, source,
})? })?;
.serve(
self.inner let axum_server = axum::serve(
.into_make_service_with_connect_info::<SocketAddr>(), listener,
); self.inner
.into_make_service_with_connect_info::<SocketAddr>(),
);
Ok(NymNodeHTTPServer::new(axum_server)) Ok(NymNodeHTTPServer::new(axum_server))
} }
+12 -4
View File
@@ -455,7 +455,7 @@ impl NymNode {
Ok(()) Ok(())
} }
pub(crate) fn build_http_server(&self) -> Result<NymNodeHTTPServer, NymNodeError> { pub(crate) async fn build_http_server(&self) -> Result<NymNodeHTTPServer, NymNodeError> {
let host_details = sign_host_details( let host_details = sign_host_details(
&self.config, &self.config,
self.x25519_sphinx_keys.public_key(), self.x25519_sphinx_keys.public_key(),
@@ -559,15 +559,23 @@ impl NymNode {
.with_metrics_key(self.config.http.access_token.clone()); .with_metrics_key(self.config.http.access_token.clone());
Ok(NymNodeRouter::new(config, Some(app_state), Some(wg_state)) Ok(NymNodeRouter::new(config, Some(app_state), Some(wg_state))
.build_server(&self.config.http.bind_address)?) .build_server(&self.config.http.bind_address)
.await?)
} }
pub(crate) async fn run(self) -> Result<(), NymNodeError> { pub(crate) async fn run(self) -> Result<(), NymNodeError> {
let mut task_manager = TaskManager::default().named("NymNode"); let mut task_manager = TaskManager::default().named("NymNode");
let http_server = self let http_server = self
.build_http_server()? .build_http_server()
.await?
.with_task_client(task_manager.subscribe_named("http-server")); .with_task_client(task_manager.subscribe_named("http-server"));
tokio::spawn(async move { http_server.run().await }); let bind_address = self.config.http.bind_address;
tokio::spawn(async move {
{
info!("Started NymNodeHTTPServer on {bind_address}");
http_server.run().await
}
});
match self.config.mode { match self.config.mode {
NodeMode::Mixnode => { NodeMode::Mixnode => {
+173 -20
View File
@@ -220,7 +220,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1fcf00bc6d5abb29b5f97e3c61a90b6d3caa12f3faf897d4a3e3607c050a35a7" checksum = "1fcf00bc6d5abb29b5f97e3c61a90b6d3caa12f3faf897d4a3e3607c050a35a7"
dependencies = [ dependencies = [
"flate2", "flate2",
"http", "http 0.2.9",
"log", "log",
"native-tls", "native-tls",
"serde", "serde",
@@ -279,6 +279,12 @@ version = "0.21.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2"
[[package]]
name = "base64"
version = "0.22.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
[[package]] [[package]]
name = "base64ct" name = "base64ct"
version = "1.6.0" version = "1.6.0"
@@ -2178,7 +2184,7 @@ dependencies = [
"futures-core", "futures-core",
"futures-sink", "futures-sink",
"futures-util", "futures-util",
"http", "http 0.2.9",
"indexmap 1.9.3", "indexmap 1.9.3",
"slab", "slab",
"tokio", "tokio",
@@ -2311,6 +2317,17 @@ dependencies = [
"itoa 1.0.9", "itoa 1.0.9",
] ]
[[package]]
name = "http"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258"
dependencies = [
"bytes",
"fnv",
"itoa 1.0.9",
]
[[package]] [[package]]
name = "http-body" name = "http-body"
version = "0.4.5" version = "0.4.5"
@@ -2318,7 +2335,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
dependencies = [ dependencies = [
"bytes", "bytes",
"http", "http 0.2.9",
"pin-project-lite",
]
[[package]]
name = "http-body"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643"
dependencies = [
"bytes",
"http 1.1.0",
]
[[package]]
name = "http-body-util"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d"
dependencies = [
"bytes",
"futures-core",
"http 1.1.0",
"http-body 1.0.0",
"pin-project-lite", "pin-project-lite",
] ]
@@ -2376,8 +2416,8 @@ dependencies = [
"futures-core", "futures-core",
"futures-util", "futures-util",
"h2", "h2",
"http", "http 0.2.9",
"http-body", "http-body 0.4.5",
"httparse", "httparse",
"httpdate", "httpdate",
"itoa 1.0.9", "itoa 1.0.9",
@@ -2389,6 +2429,25 @@ dependencies = [
"want", "want",
] ]
[[package]]
name = "hyper"
version = "1.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d"
dependencies = [
"bytes",
"futures-channel",
"futures-util",
"http 1.1.0",
"http-body 1.0.0",
"httparse",
"itoa 1.0.9",
"pin-project-lite",
"smallvec",
"tokio",
"want",
]
[[package]] [[package]]
name = "hyper-rustls" name = "hyper-rustls"
version = "0.24.2" version = "0.24.2"
@@ -2396,8 +2455,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590"
dependencies = [ dependencies = [
"futures-util", "futures-util",
"http", "http 0.2.9",
"hyper", "hyper 0.14.27",
"rustls", "rustls",
"tokio", "tokio",
"tokio-rustls", "tokio-rustls",
@@ -2410,12 +2469,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
dependencies = [ dependencies = [
"bytes", "bytes",
"hyper", "hyper 0.14.27",
"native-tls", "native-tls",
"tokio", "tokio",
"tokio-native-tls", "tokio-native-tls",
] ]
[[package]]
name = "hyper-util"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa"
dependencies = [
"bytes",
"futures-channel",
"futures-util",
"http 1.1.0",
"http-body 1.0.0",
"hyper 1.3.1",
"pin-project-lite",
"socket2 0.5.5",
"tokio",
"tower",
"tower-service",
"tracing",
]
[[package]] [[package]]
name = "ico" name = "ico"
version = "0.2.0" version = "0.2.0"
@@ -3174,7 +3253,7 @@ name = "nym-http-api-client"
version = "0.1.0" version = "0.1.0"
dependencies = [ dependencies = [
"async-trait", "async-trait",
"reqwest", "reqwest 0.12.4",
"serde", "serde",
"serde_json", "serde_json",
"thiserror", "thiserror",
@@ -3321,7 +3400,7 @@ dependencies = [
"nym-mixnet-contract-common", "nym-mixnet-contract-common",
"nym-validator-client", "nym-validator-client",
"nym-vesting-contract-common", "nym-vesting-contract-common",
"reqwest", "reqwest 0.12.4",
"schemars", "schemars",
"serde", "serde",
"serde_json", "serde_json",
@@ -3370,7 +3449,7 @@ dependencies = [
"nym-service-provider-directory-common", "nym-service-provider-directory-common",
"nym-vesting-contract-common", "nym-vesting-contract-common",
"prost", "prost",
"reqwest", "reqwest 0.12.4",
"serde", "serde",
"serde_json", "serde_json",
"sha2 0.9.9", "sha2 0.9.9",
@@ -3472,7 +3551,7 @@ dependencies = [
"once_cell", "once_cell",
"pretty_env_logger", "pretty_env_logger",
"rand_chacha 0.2.2", "rand_chacha 0.2.2",
"reqwest", "reqwest 0.11.22",
"serde", "serde",
"serde_json", "serde_json",
"serde_repr", "serde_repr",
@@ -4320,9 +4399,9 @@ dependencies = [
"futures-core", "futures-core",
"futures-util", "futures-util",
"h2", "h2",
"http", "http 0.2.9",
"http-body", "http-body 0.4.5",
"hyper", "hyper 0.14.27",
"hyper-rustls", "hyper-rustls",
"hyper-tls", "hyper-tls",
"ipnet", "ipnet",
@@ -4348,7 +4427,42 @@ dependencies = [
"wasm-bindgen", "wasm-bindgen",
"wasm-bindgen-futures", "wasm-bindgen-futures",
"web-sys", "web-sys",
"winreg", "winreg 0.50.0",
]
[[package]]
name = "reqwest"
version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10"
dependencies = [
"base64 0.22.1",
"bytes",
"futures-core",
"futures-util",
"http 1.1.0",
"http-body 1.0.0",
"http-body-util",
"hyper 1.3.1",
"hyper-util",
"ipnet",
"js-sys",
"log",
"mime",
"once_cell",
"percent-encoding",
"pin-project-lite",
"serde",
"serde_json",
"serde_urlencoded",
"sync_wrapper",
"tokio",
"tower-service",
"url",
"wasm-bindgen",
"wasm-bindgen-futures",
"web-sys",
"winreg 0.52.0",
] ]
[[package]] [[package]]
@@ -5116,6 +5230,12 @@ dependencies = [
"unicode-ident", "unicode-ident",
] ]
[[package]]
name = "sync_wrapper"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
[[package]] [[package]]
name = "system-configuration" name = "system-configuration"
version = "0.5.1" version = "0.5.1"
@@ -5251,7 +5371,7 @@ dependencies = [
"glob", "glob",
"gtk", "gtk",
"heck 0.4.1", "heck 0.4.1",
"http", "http 0.2.9",
"ignore", "ignore",
"minisign-verify", "minisign-verify",
"objc", "objc",
@@ -5348,7 +5468,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c507d954d08ac8705d235bc70ec6975b9054fb95ff7823af72dbb04186596f3b" checksum = "c507d954d08ac8705d235bc70ec6975b9054fb95ff7823af72dbb04186596f3b"
dependencies = [ dependencies = [
"gtk", "gtk",
"http", "http 0.2.9",
"http-range", "http-range",
"rand 0.8.5", "rand 0.8.5",
"raw-window-handle", "raw-window-handle",
@@ -5498,7 +5618,7 @@ dependencies = [
"getrandom 0.2.10", "getrandom 0.2.10",
"peg", "peg",
"pin-project", "pin-project",
"reqwest", "reqwest 0.11.22",
"semver 1.0.22", "semver 1.0.22",
"serde", "serde",
"serde_bytes", "serde_bytes",
@@ -5726,6 +5846,28 @@ dependencies = [
"winnow", "winnow",
] ]
[[package]]
name = "tower"
version = "0.4.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c"
dependencies = [
"futures-core",
"futures-util",
"pin-project",
"pin-project-lite",
"tokio",
"tower-layer",
"tower-service",
"tracing",
]
[[package]]
name = "tower-layer"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0"
[[package]] [[package]]
name = "tower-service" name = "tower-service"
version = "0.3.2" version = "0.3.2"
@@ -5739,6 +5881,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"log",
"pin-project-lite", "pin-project-lite",
"tracing-attributes", "tracing-attributes",
"tracing-core", "tracing-core",
@@ -6475,6 +6618,16 @@ dependencies = [
"windows-sys 0.48.0", "windows-sys 0.48.0",
] ]
[[package]]
name = "winreg"
version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5"
dependencies = [
"cfg-if",
"windows-sys 0.48.0",
]
[[package]] [[package]]
name = "winres" name = "winres"
version = "0.1.12" version = "0.1.12"
@@ -6501,7 +6654,7 @@ dependencies = [
"glib", "glib",
"gtk", "gtk",
"html5ever", "html5ever",
"http", "http 0.2.9",
"kuchiki", "kuchiki",
"libc", "libc",
"log", "log",