From 18a480a5aac7a01e07e95f344e4ee30dee880d60 Mon Sep 17 00:00:00 2001 From: Chris O'Neil Date: Mon, 2 Dec 2024 18:21:27 +0000 Subject: [PATCH 1/3] chore: replace old binary/repo references Various things were updated in accordance with the branding alignment for the binaries and repository: * Renamed version arguments on various commands from `safe` -> `ant` * Renamed version variables/arguments/fields from `safe` -> `ant` * Ansible: renamed `safe_user` role -> `ant_user` * Ansible: renamed `node-manager` role -> `antctl` * General: updated lots of small references over the whole codebase, from `safe` -> `ant`. --- Cargo.lock | 2035 ++++++++++------- Cargo.toml | 12 +- ...ger_inventory.yml => antctl_inventory.yml} | 6 +- resources/ansible/build.yml | 14 +- resources/ansible/cleanup_logs.yml | 6 +- resources/ansible/evm_nodes.yml | 4 +- resources/ansible/genesis_node.yml | 4 +- resources/ansible/nodes.yml | 19 +- .../{safe_user => ant_user}/tasks/main.yml | 32 +- .../ansible/roles/antctl/defaults/main.yml | 9 + resources/ansible/roles/antctl/tasks/main.yml | 52 + .../roles/attach_volume/tasks/main.yml | 10 +- .../defaults/main.yml | 4 +- .../build_safe_network_binary/tasks/main.yml | 18 +- .../ansible/roles/evm_node/defaults/main.yml | 2 +- .../ansible/roles/evm_node/tasks/main.yml | 16 +- .../evm_node/templates/evm_node.service.j2 | 4 +- .../roles/genesis-node/defaults/main.yml | 8 +- .../ansible/roles/genesis-node/tasks/main.yml | 10 +- .../roles/node-manager/defaults/main.yml | 9 - .../ansible/roles/node-manager/tasks/main.yml | 52 - resources/ansible/roles/node/tasks/main.yml | 10 +- .../safenode_rpc_client/defaults/main.yml | 8 +- .../roles/safenode_rpc_client/tasks/main.yml | 28 +- .../telegraf-configuration/tasks/main.yml | 10 +- .../ansible/roles/uploaders/defaults/main.yml | 4 +- .../ansible/roles/uploaders/tasks/main.yml | 60 +- ...der.service.j2 => ant_uploader.service.j2} | 8 +- .../templates/upload-random-data.sh.j2 | 8 +- resources/ansible/start_uploaders.yml | 6 +- resources/ansible/stop_uploaders.yml | 6 +- resources/ansible/upgrade_uploaders.yml | 50 +- resources/scripts/copy_node_logs.sh | 2 +- resources/scripts/get_peer_multiaddr.sh | 2 +- resources/scripts/resource-usage.sh | 8 +- src/ansible/extra_vars.rs | 111 +- src/ansible/mod.rs | 12 +- src/ansible/provisioning.rs | 16 +- src/funding.rs | 4 +- src/inventory.rs | 42 +- src/lib.rs | 25 +- src/logs.rs | 4 +- src/main.rs | 317 ++- src/network_commands.rs | 17 +- src/upscale.rs | 4 +- 45 files changed, 1688 insertions(+), 1400 deletions(-) rename resources/ansible/{node_manager_inventory.yml => antctl_inventory.yml} (64%) rename resources/ansible/roles/{safe_user => ant_user}/tasks/main.yml (54%) create mode 100644 resources/ansible/roles/antctl/defaults/main.yml create mode 100644 resources/ansible/roles/antctl/tasks/main.yml delete mode 100644 resources/ansible/roles/node-manager/defaults/main.yml delete mode 100644 resources/ansible/roles/node-manager/tasks/main.yml rename resources/ansible/roles/uploaders/templates/{autonomi_uploader.service.j2 => ant_uploader.service.j2} (77%) diff --git a/Cargo.lock b/Cargo.lock index cc989a89..dafa7ef2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "addr2line" @@ -17,6 +17,12 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "adler2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" + [[package]] name = "aes" version = "0.8.4" @@ -52,9 +58,9 @@ dependencies = [ [[package]] name = "allocator-api2" -version = "0.2.18" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "alloy" @@ -81,9 +87,9 @@ dependencies = [ [[package]] name = "alloy-chains" -version = "0.1.40" +version = "0.1.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4932d790c723181807738cf1ac68198ab581cd699545b155601332541ee47bd" +checksum = "18c5c520273946ecf715c0010b4e3503d7eba9893cd9ce6b7fff5654c4a3c470" dependencies = [ "alloy-primitives", "num_enum", @@ -123,14 +129,14 @@ dependencies = [ "alloy-transport", "futures", "futures-util", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "alloy-core" -version = "0.8.9" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cce174ca699ddee3bfb2ec1fbd99ad7efd05eca20c5c888d8320db41f7e8f04" +checksum = "c3d14d531c99995de71558e8e2206c27d709559ee8e5a0452b965ea82405a013" dependencies = [ "alloy-dyn-abi", "alloy-json-abi", @@ -141,9 +147,9 @@ dependencies = [ [[package]] name = "alloy-dyn-abi" -version = "0.8.9" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5647fce5a168f9630f935bf7821c4207b1755184edaeba783cb4e11d35058484" +checksum = "80759b3f57b3b20fa7cd8fef6479930fc95461b58ff8adea6e87e618449c8a1d" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -210,9 +216,9 @@ dependencies = [ [[package]] name = "alloy-json-abi" -version = "0.8.9" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b5671117c38b1c2306891f97ad3828d85487087f54ebe2c7591a055ea5bcea7" +checksum = "ac4b22b3e51cac09fd2adfcc73b55f447b4df669f983c13f7894ec82b607c63f" dependencies = [ "alloy-primitives", "alloy-sol-type-parser", @@ -230,7 +236,7 @@ dependencies = [ "alloy-sol-types", "serde", "serde_json", - "thiserror", + "thiserror 1.0.69", "tracing", ] @@ -252,7 +258,7 @@ dependencies = [ "async-trait", "auto_impl", "futures-utils-wasm", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -280,16 +286,16 @@ dependencies = [ "rand", "serde_json", "tempfile", - "thiserror", + "thiserror 1.0.69", "tracing", "url", ] [[package]] name = "alloy-primitives" -version = "0.8.9" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c71738eb20c42c5fb149571e76536a0f309d142f3957c28791662b96baf77a3d" +checksum = "9db948902dfbae96a73c2fbf1f7abec62af034ab883e4c777c3fd29702bd6e2c" dependencies = [ "alloy-rlp", "bytes", @@ -297,9 +303,9 @@ dependencies = [ "const-hex", "derive_more", "foldhash", - "hashbrown 0.15.0", + "hashbrown 0.15.2", "hex-literal", - "indexmap 2.6.0", + "indexmap 2.7.0", "itoa", "k256", "keccak-asm", @@ -307,7 +313,7 @@ dependencies = [ "proptest", "rand", "ruint", - "rustc-hash 2.0.0", + "rustc-hash", "serde", "sha3", "tiny-keccak", @@ -343,11 +349,11 @@ dependencies = [ "lru", "parking_lot", "pin-project", - "reqwest 0.12.5", + "reqwest 0.12.9", "schnellru", "serde", "serde_json", - "thiserror", + "thiserror 1.0.69", "tokio", "tracing", "url", @@ -356,9 +362,9 @@ dependencies = [ [[package]] name = "alloy-rlp" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26154390b1d205a4a7ac7352aa2eb4f81f391399d4e2f546fb81a2f8bb383f62" +checksum = "da0822426598f95e45dd1ea32a738dac057529a709ee645fcc516ffa4cbde08f" dependencies = [ "alloy-rlp-derive", "arrayvec", @@ -367,13 +373,13 @@ dependencies = [ [[package]] name = "alloy-rlp-derive" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d0f2d905ebd295e7effec65e5f6868d153936130ae718352771de3e7d03c75c" +checksum = "2b09cae092c27b6f1bde952653a22708691802e57bfef4a2973b80bea21efd3f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -388,7 +394,7 @@ dependencies = [ "alloy-transport-http", "futures", "pin-project", - "reqwest 0.12.5", + "reqwest 0.12.9", "serde", "serde_json", "tokio", @@ -464,7 +470,7 @@ dependencies = [ "auto_impl", "elliptic-curve", "k256", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -480,47 +486,47 @@ dependencies = [ "async-trait", "k256", "rand", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "alloy-sol-macro" -version = "0.8.9" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0900b83f4ee1f45c640ceee596afbc118051921b9438fdb5a3175c1a7e05f8b" +checksum = "3bfd7853b65a2b4f49629ec975fee274faf6dff15ab8894c620943398ef283c0" dependencies = [ "alloy-sol-macro-expander", "alloy-sol-macro-input", "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] name = "alloy-sol-macro-expander" -version = "0.8.9" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a41b1e78dde06b5e12e6702fa8c1d30621bf07728ba75b801fb801c9c6a0ba10" +checksum = "82ec42f342d9a9261699f8078e57a7a4fda8aaa73c1a212ed3987080e6a9cd13" dependencies = [ "alloy-json-abi", "alloy-sol-macro-input", "const-hex", "heck 0.5.0", - "indexmap 2.6.0", + "indexmap 2.7.0", "proc-macro-error2", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", "syn-solidity", "tiny-keccak", ] [[package]] name = "alloy-sol-macro-input" -version = "0.8.9" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91dc311a561a306664393407b88d3e53ae58581624128afd8a15faa5de3627dc" +checksum = "ed2c50e6a62ee2b4f7ab3c6d0366e5770a21cad426e109c2f40335a1b3aff3df" dependencies = [ "alloy-json-abi", "const-hex", @@ -529,15 +535,15 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.72", + "syn 2.0.90", "syn-solidity", ] [[package]] name = "alloy-sol-type-parser" -version = "0.8.9" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45d1fbee9e698f3ba176b6e7a145f4aefe6d2b746b611e8bb246fe11a0e9f6c4" +checksum = "ac17c6e89a50fb4a758012e4b409d9a0ba575228e69b539fe37d7a1bd507ca4a" dependencies = [ "serde", "winnow", @@ -545,9 +551,9 @@ dependencies = [ [[package]] name = "alloy-sol-types" -version = "0.8.9" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "086f41bc6ebcd8cb15f38ba20e47be38dd03692149681ce8061c35d960dbf850" +checksum = "c9dc0fffe397aa17628160e16b89f704098bf3c9d74d5d369ebc239575936de5" dependencies = [ "alloy-json-abi", "alloy-primitives", @@ -568,7 +574,7 @@ dependencies = [ "futures-utils-wasm", "serde", "serde_json", - "thiserror", + "thiserror 1.0.69", "tokio", "tower 0.5.1", "tracing", @@ -584,7 +590,7 @@ checksum = "91fd1a5d0827939847983b46f2f79510361f901dc82f8e3c38ac7397af142c6e" dependencies = [ "alloy-json-rpc", "alloy-transport", - "reqwest 0.12.5", + "reqwest 0.12.9", "serde_json", "tower 0.5.1", "tracing", @@ -608,9 +614,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.15" +version = "0.6.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" +checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" dependencies = [ "anstyle", "anstyle-parse", @@ -623,43 +629,184 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.8" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" [[package]] name = "anstyle-parse" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" +checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" +checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.4" +version = "3.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" +checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" dependencies = [ "anstyle", - "windows-sys 0.52.0", + "windows-sys 0.59.0", +] + +[[package]] +name = "ant-build-info" +version = "0.1.19" +source = "git+https://github.com/maidsafe/autonomi.git?branch=main#60913ec865cf8621edb82bb0e255460fdac1c42b" +dependencies = [ + "chrono", + "tracing", + "vergen", +] + +[[package]] +name = "ant-evm" +version = "0.1.4" +source = "git+https://github.com/maidsafe/autonomi.git?branch=main#60913ec865cf8621edb82bb0e255460fdac1c42b" +dependencies = [ + "custom_debug", + "evmlib 0.1.4 (git+https://github.com/maidsafe/autonomi.git?branch=main)", + "hex", + "lazy_static", + "libp2p 0.54.1 (git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2)", + "rand", + "ring 0.17.8", + "rmp-serde", + "serde", + "serde_json", + "tempfile", + "thiserror 1.0.69", + "tiny-keccak", + "tracing", + "wasmtimer", + "xor_name", +] + +[[package]] +name = "ant-logging" +version = "0.2.40" +source = "git+https://github.com/maidsafe/autonomi.git?branch=main#60913ec865cf8621edb82bb0e255460fdac1c42b" +dependencies = [ + "chrono", + "dirs-next", + "file-rotate", + "serde", + "serde_json", + "thiserror 1.0.69", + "tracing", + "tracing-appender", + "tracing-core", + "tracing-subscriber", +] + +[[package]] +name = "ant-protocol" +version = "0.17.15" +source = "git+https://github.com/maidsafe/autonomi.git?branch=main#60913ec865cf8621edb82bb0e255460fdac1c42b" +dependencies = [ + "ant-build-info", + "ant-evm", + "ant-registers", + "blsttc", + "bytes", + "color-eyre", + "crdts", + "custom_debug", + "dirs-next", + "exponential-backoff", + "hex", + "lazy_static", + "libp2p 0.54.1 (git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2)", + "prost", + "rmp-serde", + "serde", + "serde_json", + "sha2", + "thiserror 1.0.69", + "tiny-keccak", + "tonic", + "tonic-build", + "tracing", + "xor_name", +] + +[[package]] +name = "ant-registers" +version = "0.4.3" +source = "git+https://github.com/maidsafe/autonomi.git?branch=main#60913ec865cf8621edb82bb0e255460fdac1c42b" +dependencies = [ + "blsttc", + "crdts", + "hex", + "rmp-serde", + "serde", + "thiserror 1.0.69", + "tiny-keccak", + "xor_name", +] + +[[package]] +name = "ant-releases" +version = "0.3.1" +source = "git+https://github.com/jacderida/ant-releases.git?branch=chore-rename_binaries#9747746fbef12b63c49cdb9dbb08ecd42b18794b" +dependencies = [ + "async-trait", + "chrono", + "flate2", + "lazy_static", + "regex", + "reqwest 0.12.9", + "semver 1.0.23", + "serde_json", + "tar", + "thiserror 1.0.69", + "tokio", + "zip", +] + +[[package]] +name = "ant-service-management" +version = "0.4.3" +source = "git+https://github.com/maidsafe/autonomi.git?branch=main#60913ec865cf8621edb82bb0e255460fdac1c42b" +dependencies = [ + "ant-evm", + "ant-logging", + "ant-protocol", + "async-trait", + "dirs-next", + "libp2p 0.54.1 (git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2)", + "libp2p-identity", + "prost", + "semver 1.0.23", + "serde", + "serde_json", + "service-manager", + "sysinfo", + "thiserror 1.0.69", + "tokio", + "tonic", + "tonic-build", + "tracing", + "tracing-core", ] [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "4c95c10ba0b00a02636238b814946408b1322d5ac4760326e6fb8ec956d85775" [[package]] name = "ark-ff" @@ -695,7 +842,7 @@ dependencies = [ "num-bigint", "num-traits", "paste", - "rustc_version 0.4.0", + "rustc_version 0.4.1", "zeroize", ] @@ -787,15 +934,15 @@ dependencies = [ [[package]] name = "arrayref" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "ascii-canvas" @@ -841,14 +988,14 @@ dependencies = [ [[package]] name = "async-executor" -version = "1.13.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7ebdfa2ebdab6b1760375fa7d6f382b9f486eac35fc994625a00e89280bdbb7" +checksum = "30ca9a001c1e8ba5149f91a74362376cc6bc5b919d92d988668657bd570bdcec" dependencies = [ "async-task", "concurrent-queue", - "fastrand 2.1.0", - "futures-lite 2.3.0", + "fastrand 2.2.0", + "futures-lite 2.5.0", "slab", ] @@ -860,59 +1007,30 @@ checksum = "05b1b633a2115cd122d73b955eadd9916c18c8f510ec9cd1686404c60ad1c29c" dependencies = [ "async-channel 2.3.1", "async-executor", - "async-io 2.3.3", - "async-lock 3.4.0", + "async-io", + "async-lock", "blocking", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "once_cell", ] [[package]] name = "async-io" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" -dependencies = [ - "async-lock 2.8.0", - "autocfg", - "cfg-if", - "concurrent-queue", - "futures-lite 1.13.0", - "log", - "parking", - "polling 2.8.0", - "rustix 0.37.27", - "slab", - "socket2 0.4.10", - "waker-fn", -] - -[[package]] -name = "async-io" -version = "2.3.3" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d6baa8f0178795da0e71bc42c9e5d13261aac7ee549853162e66a241ba17964" +checksum = "43a2b323ccce0a1d90b449fd71f2a06ca7faa7c54c2751f06c9bd851fc061059" dependencies = [ - "async-lock 3.4.0", + "async-lock", "cfg-if", "concurrent-queue", "futures-io", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "parking", - "polling 3.7.2", - "rustix 0.38.34", + "polling 3.7.4", + "rustix", "slab", "tracing", - "windows-sys 0.52.0", -] - -[[package]] -name = "async-lock" -version = "2.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" -dependencies = [ - "event-listener 2.5.3", + "windows-sys 0.59.0", ] [[package]] @@ -928,28 +1046,30 @@ dependencies = [ [[package]] name = "async-object-pool" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aeb901c30ebc2fc4ab46395bbfbdba9542c16559d853645d75190c3056caf3bc" +checksum = "333c456b97c3f2d50604e8b2624253b7f787208cb72eb75e64b0ad11b221652c" dependencies = [ "async-std", ] [[package]] name = "async-process" -version = "1.8.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88" +checksum = "63255f1dc2381611000436537bbedfe83183faa303a5a0edaf191edef06526bb" dependencies = [ - "async-io 1.13.0", - "async-lock 2.8.0", + "async-channel 2.3.1", + "async-io", + "async-lock", "async-signal", + "async-task", "blocking", "cfg-if", - "event-listener 3.1.0", - "futures-lite 1.13.0", - "rustix 0.38.34", - "windows-sys 0.48.0", + "event-listener 5.3.1", + "futures-lite 2.5.0", + "rustix", + "tracing", ] [[package]] @@ -960,43 +1080,43 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] name = "async-signal" -version = "0.2.9" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfb3634b73397aa844481f814fad23bbf07fdb0eabec10f2eb95e58944b1ec32" +checksum = "637e00349800c0bdf8bfc21ebbc0b6524abea702b0da4168ac00d070d0c0b9f3" dependencies = [ - "async-io 2.3.3", - "async-lock 3.4.0", + "async-io", + "async-lock", "atomic-waker", "cfg-if", "futures-core", "futures-io", - "rustix 0.38.34", + "rustix", "signal-hook-registry", "slab", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "async-std" -version = "1.12.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d" +checksum = "c634475f29802fde2b8f0b505b1bd00dfe4df7d4a000f0b36f7671197d5c3615" dependencies = [ "async-channel 1.9.0", "async-global-executor", - "async-io 1.13.0", - "async-lock 2.8.0", + "async-io", + "async-lock", "async-process", "crossbeam-utils", "futures-channel", "futures-core", "futures-io", - "futures-lite 1.13.0", + "futures-lite 2.5.0", "gloo-timers", "kv-log-macro", "log", @@ -1010,9 +1130,9 @@ dependencies = [ [[package]] name = "async-stream" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" +checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" dependencies = [ "async-stream-impl", "futures-core", @@ -1021,13 +1141,13 @@ dependencies = [ [[package]] name = "async-stream-impl" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" +checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -1038,13 +1158,13 @@ checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.81" +version = "0.1.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" +checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -1074,14 +1194,14 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] name = "autocfg" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "aws-config" @@ -1101,10 +1221,10 @@ dependencies = [ "aws-smithy-types", "aws-types", "bytes", - "fastrand 2.1.0", + "fastrand 2.2.0", "hex", "http 0.2.12", - "hyper 0.14.30", + "hyper 0.14.31", "ring 0.16.20", "time", "tokio", @@ -1121,7 +1241,7 @@ checksum = "70a66ac8ef5fa9cf01c2d999f39d16812e90ec1467bd382cbbb74ba23ea86201" dependencies = [ "aws-smithy-async", "aws-smithy-types", - "fastrand 2.1.0", + "fastrand 2.2.0", "tokio", "tracing", "zeroize", @@ -1161,7 +1281,7 @@ dependencies = [ "aws-smithy-runtime-api", "aws-smithy-types", "aws-types", - "fastrand 2.1.0", + "fastrand 2.2.0", "http 0.2.12", "percent-encoding", "tracing", @@ -1313,10 +1433,10 @@ dependencies = [ "aws-smithy-http-tower", "aws-smithy-types", "bytes", - "fastrand 2.1.0", + "fastrand 2.2.0", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.30", + "hyper 0.14.31", "hyper-rustls 0.24.2", "lazy_static", "pin-project-lite", @@ -1350,13 +1470,13 @@ dependencies = [ "futures-core", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.30", + "hyper 0.14.31", "once_cell", "percent-encoding", "pin-project-lite", "pin-utils", "tokio", - "tokio-util 0.7.11", + "tokio-util 0.7.12", "tracing", ] @@ -1407,7 +1527,7 @@ dependencies = [ "aws-smithy-runtime-api", "aws-smithy-types", "bytes", - "fastrand 2.1.0", + "fastrand 2.2.0", "http 0.2.12", "http-body 0.4.6", "once_cell", @@ -1467,7 +1587,7 @@ dependencies = [ "aws-smithy-http", "aws-smithy-types", "http 0.2.12", - "rustc_version 0.4.0", + "rustc_version 0.4.1", "tracing", ] @@ -1481,7 +1601,7 @@ dependencies = [ "cc", "cfg-if", "libc", - "miniz_oxide", + "miniz_oxide 0.7.4", "object", "rustc-demangle", ] @@ -1600,7 +1720,7 @@ dependencies = [ "async-channel 2.3.1", "async-task", "futures-io", - "futures-lite 2.3.0", + "futures-lite 2.5.0", "piper", ] @@ -1648,7 +1768,7 @@ dependencies = [ "rand", "rand_chacha", "serde", - "thiserror", + "thiserror 1.0.69", "tiny-keccak", "zeroize", ] @@ -1682,9 +1802,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.6.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12916984aab3fa6e39d655a33e09c0071eb36d6ab3aea5c2d78551f1df6d952" +checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" dependencies = [ "serde", ] @@ -1743,12 +1863,13 @@ checksum = "a2698f953def977c68f935bb0dfa959375ad4638570e969e2f1e9f433cbf1af6" [[package]] name = "cc" -version = "1.1.6" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aba8f4e9906c7ce3c73463f62a7f0c65183ada1a2d47e397cc8810827f9694f" +checksum = "f34d93e62b03caf570cccc334cbc6c2fceca82f39211051345108adcba3eebdc" dependencies = [ "jobserver", "libc", + "shlex", ] [[package]] @@ -1757,6 +1878,12 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + [[package]] name = "chrono" version = "0.4.38" @@ -1784,9 +1911,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.11" +version = "4.5.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35723e6a11662c2afb578bcf0b88bf6ea8e21282a953428f240574fcc3a2b5b3" +checksum = "fb3b4b9e5a7c7514dfa52869339ee98b3156b0bfb4e8a77c4ff4babb64b1604f" dependencies = [ "clap_builder", "clap_derive", @@ -1794,9 +1921,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.11" +version = "4.5.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49eb96cbfa7cfa35017b7cd548c75b14c3118c98b423041d70562665e07fb0fa" +checksum = "b17a95aa67cc7b5ebd32aa5370189aa0d79069ef1c64ce893bd30fb24bff20ec" dependencies = [ "anstream", "anstyle", @@ -1806,21 +1933,21 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.11" +version = "4.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d029b67f89d30bbb547c89fd5161293c0aec155fc691d7924b64550662db93e" +checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] name = "clap_lex" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" +checksum = "afb84c814227b90d6895e01398aee0d8033c00e7466aca416fb6a8e0eb19d8a7" [[package]] name = "color-eyre" @@ -1851,9 +1978,9 @@ dependencies = [ [[package]] name = "colorchoice" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" +checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" [[package]] name = "colored" @@ -1883,15 +2010,15 @@ dependencies = [ "encode_unicode", "lazy_static", "libc", - "unicode-width", + "unicode-width 0.1.14", "windows-sys 0.52.0", ] [[package]] name = "const-hex" -version = "1.13.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0121754e84117e65f9d90648ee6aa4882a6e63110307ab73967a4c5e7e69e586" +checksum = "4b0485bab839b018a8f1723fc5391819fea5f8f0f32288ef8a735fd096b6160c" dependencies = [ "cfg-if", "cpufeatures", @@ -1924,9 +2051,9 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "core2" @@ -1939,9 +2066,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.12" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" dependencies = [ "libc", ] @@ -1952,7 +2079,7 @@ version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a47af21622d091a8f0fb295b88bc886ac74efcc613efc19f5d0b21de5c89e47" dependencies = [ - "rustc_version 0.4.0", + "rustc_version 0.4.1", ] [[package]] @@ -1974,6 +2101,15 @@ dependencies = [ "tiny-keccak", ] +[[package]] +name = "crossbeam-channel" +version = "0.5.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" +dependencies = [ + "crossbeam-utils", +] + [[package]] name = "crossbeam-deque" version = "0.8.5" @@ -2054,24 +2190,24 @@ dependencies = [ [[package]] name = "curl" -version = "0.4.46" +version = "0.4.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e2161dd6eba090ff1594084e95fd67aeccf04382ffea77999ea94ed42ec67b6" +checksum = "d9fb4d13a1be2b58f14d60adba57c9834b78c62fd86c3e76a148f732686e9265" dependencies = [ "curl-sys", "libc", "openssl-probe", "openssl-sys", "schannel", - "socket2 0.5.7", + "socket2", "windows-sys 0.52.0", ] [[package]] name = "curl-sys" -version = "0.4.73+curl-8.8.0" +version = "0.4.78+curl-8.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "450ab250ecf17227c39afb9a2dd9261dc0035cb80f2612472fc0c4aac2dcb84d" +checksum = "8eec768341c5c7789611ae51cf6c459099f22e64a5d5d0ce4892434e33821eaf" dependencies = [ "cc", "libc", @@ -2094,7 +2230,7 @@ dependencies = [ "curve25519-dalek-derive", "digest 0.10.7", "fiat-crypto", - "rustc_version 0.4.0", + "rustc_version 0.4.1", "subtle", "zeroize", ] @@ -2107,29 +2243,28 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] name = "custom_debug" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14e715bf0e503e909c7076c052e39dd215202e8edeb32f1c194fd630c314d256" +checksum = "2da7d1ad9567b3e11e877f1d7a0fa0360f04162f94965fc4448fbed41a65298e" dependencies = [ "custom_debug_derive", ] [[package]] name = "custom_debug_derive" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f731440b39c73910e253cb465ec1fac97732b3c7af215639881ec0c2a38f4f69" +checksum = "a707ceda8652f6c7624f2be725652e9524c815bf3b9d55a0b2320be2303f9c11" dependencies = [ "darling", - "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", "synstructure", ] @@ -2154,7 +2289,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -2165,7 +2300,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -2256,7 +2391,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", "unicode-xid", ] @@ -2322,6 +2457,17 @@ dependencies = [ "winapi", ] +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", +] + [[package]] name = "dotenv" version = "0.15.0" @@ -2427,9 +2573,9 @@ checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" [[package]] name = "encoding_rs" -version = "0.8.34" +version = "0.8.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" dependencies = [ "cfg-if", ] @@ -2455,12 +2601,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.9" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -2469,17 +2615,6 @@ version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" -[[package]] -name = "event-listener" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - [[package]] name = "event-listener" version = "5.3.1" @@ -2493,9 +2628,9 @@ dependencies = [ [[package]] name = "event-listener-strategy" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" +checksum = "3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2" dependencies = [ "event-listener 5.3.1", "pin-project-lite", @@ -2503,9 +2638,25 @@ dependencies = [ [[package]] name = "evmlib" -version = "0.1.2" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc3aa8c834024f43d63a60956645e3f016ecd56db9986b7dd34553474decb4d" +checksum = "696d29383d15c3c9262d2cbe44cc45f65c6ebfda689c6780f8aed8a0d5b1ae11" +dependencies = [ + "alloy", + "dirs-next", + "getrandom", + "rand", + "serde", + "serde_with", + "thiserror 1.0.69", + "tokio", + "tracing", +] + +[[package]] +name = "evmlib" +version = "0.1.4" +source = "git+https://github.com/maidsafe/autonomi.git?branch=main#60913ec865cf8621edb82bb0e255460fdac1c42b" dependencies = [ "alloy", "dirs-next", @@ -2513,11 +2664,20 @@ dependencies = [ "rand", "serde", "serde_with", - "thiserror", + "thiserror 1.0.69", "tokio", "tracing", ] +[[package]] +name = "exponential-backoff" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ffb309d235a642598183aeda8925e871e85dd5a433c2c877e69ff0a960f4c02" +dependencies = [ + "fastrand 2.2.0", +] + [[package]] name = "eyre" version = "0.6.12" @@ -2539,9 +2699,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" +checksum = "486f806e73c5707928240ddc295403b1b93c96a02038563881c4a2fd84b81ac4" [[package]] name = "fastrlp" @@ -2581,16 +2741,26 @@ version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" +[[package]] +name = "file-rotate" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a3ed82142801f5b1363f7d463963d114db80f467e860b1cd82228eaebc627a0" +dependencies = [ + "chrono", + "flate2", +] + [[package]] name = "filetime" -version = "0.2.23" +version = "0.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" +checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.4.1", - "windows-sys 0.52.0", + "libredox", + "windows-sys 0.59.0", ] [[package]] @@ -2613,12 +2783,12 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.30" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" +checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c" dependencies = [ "crc32fast", - "miniz_oxide", + "miniz_oxide 0.8.0", ] [[package]] @@ -2643,18 +2813,8 @@ dependencies = [ ] [[package]] -name = "fs2" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "fs_extra" -version = "1.3.0" +name = "fs_extra" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" @@ -2666,9 +2826,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" dependencies = [ "futures-channel", "futures-core", @@ -2691,9 +2851,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -2701,15 +2861,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-executor" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" dependencies = [ "futures-core", "futures-task", @@ -2719,9 +2879,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-lite" @@ -2740,11 +2900,11 @@ dependencies = [ [[package]] name = "futures-lite" -version = "2.3.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" +checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1" dependencies = [ - "fastrand 2.1.0", + "fastrand 2.2.0", "futures-core", "futures-io", "parking", @@ -2753,26 +2913,26 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-timer" @@ -2782,9 +2942,9 @@ checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-channel", "futures-core", @@ -2842,9 +3002,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "gloo-timers" -version = "0.2.6" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" +checksum = "bbb143cf96099802033e0d4f4963b19fd2e0b728bcf076cd9cf7f6634f092994" dependencies = [ "futures-channel", "futures-core", @@ -2888,10 +3048,10 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.6.0", + "indexmap 2.7.0", "slab", "tokio", - "tokio-util 0.7.11", + "tokio-util 0.7.12", "tracing", ] @@ -2912,17 +3072,15 @@ name = "hashbrown" version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" -dependencies = [ - "ahash", - "allocator-api2", -] [[package]] name = "hashbrown" -version = "0.15.0" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" dependencies = [ + "allocator-api2", + "equivalent", "foldhash", "serde", ] @@ -3060,9 +3218,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.9.4" +version = "1.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" +checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" [[package]] name = "httpdate" @@ -3084,7 +3242,7 @@ dependencies = [ "crossbeam-utils", "form_urlencoded", "futures-util", - "hyper 0.14.30", + "hyper 0.14.31", "isahc", "lazy_static", "levenshtein", @@ -3106,9 +3264,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.30" +version = "0.14.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" +checksum = "8c08302e8fa335b151b788c775ff56e7a03ae64ff85c548ee820fecb70356e85" dependencies = [ "bytes", "futures-channel", @@ -3121,7 +3279,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.5.7", + "socket2", "tokio", "tower-service", "tracing", @@ -3130,9 +3288,9 @@ dependencies = [ [[package]] name = "hyper" -version = "1.4.1" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" +checksum = "97818827ef4f364230e16705d4706e2897df2bb60617d6ca15d598025a3c481f" dependencies = [ "bytes", "futures-channel", @@ -3155,7 +3313,7 @@ checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", "http 0.2.12", - "hyper 0.14.30", + "hyper 0.14.31", "log", "rustls 0.21.12", "rustls-native-certs", @@ -3165,20 +3323,20 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.2" +version = "0.27.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" +checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" dependencies = [ "futures-util", "http 1.1.0", - "hyper 1.4.1", + "hyper 1.5.1", "hyper-util", - "rustls 0.23.12", + "rustls 0.23.19", "rustls-pki-types", "tokio", "tokio-rustls 0.26.0", "tower-service", - "webpki-roots 0.26.3", + "webpki-roots 0.26.7", ] [[package]] @@ -3187,7 +3345,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" dependencies = [ - "hyper 0.14.30", + "hyper 0.14.31", "pin-project-lite", "tokio", "tokio-io-timeout", @@ -3195,29 +3353,28 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.6" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ab92f4f49ee4fb4f997c784b7a2e0fa70050211e0b6a287f898c3c9785ca956" +checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" dependencies = [ "bytes", "futures-channel", "futures-util", "http 1.1.0", "http-body 1.0.1", - "hyper 1.4.1", + "hyper 1.5.1", "pin-project-lite", - "socket2 0.5.7", + "socket2", "tokio", - "tower 0.4.13", "tower-service", "tracing", ] [[package]] name = "iana-time-zone" -version = "0.1.60" +version = "0.1.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -3236,6 +3393,124 @@ dependencies = [ "cc", ] +[[package]] +name = "icu_collections" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", +] + [[package]] name = "ident_case" version = "1.0.1" @@ -3244,12 +3519,23 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.5.0" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" dependencies = [ - "unicode-bidi", - "unicode-normalization", + "icu_normalizer", + "icu_properties", ] [[package]] @@ -3263,13 +3549,13 @@ dependencies = [ [[package]] name = "impl-trait-for-tuples" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" +checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.90", ] [[package]] @@ -3291,26 +3577,26 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.6.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" +checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" dependencies = [ "equivalent", - "hashbrown 0.15.0", + "hashbrown 0.15.2", "serde", ] [[package]] name = "indicatif" -version = "0.17.8" +version = "0.17.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3" +checksum = "cbf675b85ed934d3c67b5c5469701eec7db22689d0a2139d856e0925fa28b281" dependencies = [ "console", - "instant", "number_prefix", "portable-atomic", - "unicode-width", + "unicode-width 0.2.0", + "web-time", ] [[package]] @@ -3333,9 +3619,9 @@ dependencies = [ "dyn-clone", "lazy_static", "newline-converter", - "thiserror", + "thiserror 1.0.69", "unicode-segmentation", - "unicode-width", + "unicode-width 0.1.14", ] [[package]] @@ -3347,30 +3633,19 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "io-lifetimes" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" -dependencies = [ - "hermit-abi 0.3.9", - "libc", - "windows-sys 0.48.0", -] - [[package]] name = "ipnet" -version = "2.9.0" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" +checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" [[package]] name = "is-terminal" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" +checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" dependencies = [ - "hermit-abi 0.3.9", + "hermit-abi 0.4.0", "libc", "windows-sys 0.52.0", ] @@ -3426,15 +3701,6 @@ dependencies = [ "either", ] -[[package]] -name = "itertools" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" -dependencies = [ - "either", -] - [[package]] name = "itertools" version = "0.13.0" @@ -3446,9 +3712,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.11" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" [[package]] name = "jobserver" @@ -3461,10 +3727,11 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.69" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +checksum = "a865e038f7f6ed956f788f0d7d60c541fff74c7bd74272c5d4cf15c63743e705" dependencies = [ + "once_cell", "wasm-bindgen", ] @@ -3554,15 +3821,15 @@ checksum = "db13adb97ab515a3691f56e4dbab09283d0b86cb45abd991d8634a9d6f501760" [[package]] name = "libc" -version = "0.2.155" +version = "0.2.167" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" +checksum = "09d6582e104315a817dff97f75133544b2e094ee22447d2acf4a74e189ba06fc" [[package]] name = "libm" -version = "0.2.8" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" [[package]] name = "libnghttp2-sys" @@ -3576,105 +3843,101 @@ dependencies = [ [[package]] name = "libp2p" -version = "0.53.2" +version = "0.54.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "681fb3f183edfbedd7a57d32ebe5dcdc0b9f94061185acf3c30249349cc6fc99" +checksum = "bbbe80f9c7e00526cd6b838075b9c171919404a4732cb2fa8ece0a093223bfc4" dependencies = [ "bytes", "either", "futures", "futures-timer", "getrandom", - "instant", - "libp2p-allow-block-list 0.3.0", - "libp2p-connection-limits 0.3.1", - "libp2p-core 0.41.3", - "libp2p-identify", + "libp2p-allow-block-list 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-connection-limits 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libp2p-core 0.42.0 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-identity", - "libp2p-kad", - "libp2p-metrics", - "libp2p-swarm 0.44.2", + "libp2p-swarm 0.45.1 (registry+https://github.com/rust-lang/crates.io-index)", "multiaddr", "pin-project", - "rw-stream-sink", - "thiserror", + "rw-stream-sink 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "thiserror 1.0.69", ] [[package]] name = "libp2p" version = "0.54.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbbe80f9c7e00526cd6b838075b9c171919404a4732cb2fa8ece0a093223bfc4" +source = "git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2#15f0535f87256ff141963006af129cc2c839b472" dependencies = [ "bytes", "either", "futures", "futures-timer", "getrandom", - "libp2p-allow-block-list 0.4.0", - "libp2p-connection-limits 0.4.0", - "libp2p-core 0.42.0", + "libp2p-allow-block-list 0.4.0 (git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2)", + "libp2p-connection-limits 0.4.0 (git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2)", + "libp2p-core 0.42.0 (git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2)", + "libp2p-identify", "libp2p-identity", - "libp2p-swarm 0.45.1", + "libp2p-kad", + "libp2p-metrics", + "libp2p-swarm 0.45.1 (git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2)", "multiaddr", "pin-project", - "rw-stream-sink", - "thiserror", + "rw-stream-sink 0.4.0 (git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2)", + "thiserror 1.0.69", ] [[package]] name = "libp2p-allow-block-list" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "107b238b794cb83ab53b74ad5dcf7cca3200899b72fe662840cfb52f5b0a32e6" +checksum = "d1027ccf8d70320ed77e984f273bc8ce952f623762cb9bf2d126df73caef8041" dependencies = [ - "libp2p-core 0.41.3", + "libp2p-core 0.42.0 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-identity", - "libp2p-swarm 0.44.2", + "libp2p-swarm 0.45.1 (registry+https://github.com/rust-lang/crates.io-index)", "void", ] [[package]] name = "libp2p-allow-block-list" version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1027ccf8d70320ed77e984f273bc8ce952f623762cb9bf2d126df73caef8041" +source = "git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2#15f0535f87256ff141963006af129cc2c839b472" dependencies = [ - "libp2p-core 0.42.0", + "libp2p-core 0.42.0 (git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2)", "libp2p-identity", - "libp2p-swarm 0.45.1", + "libp2p-swarm 0.45.1 (git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2)", "void", ] [[package]] name = "libp2p-connection-limits" -version = "0.3.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7cd50a78ccfada14de94cbacd3ce4b0138157f376870f13d3a8422cd075b4fd" +checksum = "8d003540ee8baef0d254f7b6bfd79bac3ddf774662ca0abf69186d517ef82ad8" dependencies = [ - "libp2p-core 0.41.3", + "libp2p-core 0.42.0 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-identity", - "libp2p-swarm 0.44.2", + "libp2p-swarm 0.45.1 (registry+https://github.com/rust-lang/crates.io-index)", "void", ] [[package]] name = "libp2p-connection-limits" version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d003540ee8baef0d254f7b6bfd79bac3ddf774662ca0abf69186d517ef82ad8" +source = "git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2#15f0535f87256ff141963006af129cc2c839b472" dependencies = [ - "libp2p-core 0.42.0", + "libp2p-core 0.42.0 (git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2)", "libp2p-identity", - "libp2p-swarm 0.45.1", + "libp2p-swarm 0.45.1 (git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2)", "void", ] [[package]] name = "libp2p-core" -version = "0.41.3" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5a8920cbd8540059a01950c1e5c96ea8d89eb50c51cd366fc18bdf540a6e48f" +checksum = "a61f26c83ed111104cd820fe9bc3aaabbac5f1652a1d213ed6e900b7918a1298" dependencies = [ "either", "fnv", @@ -3683,15 +3946,15 @@ dependencies = [ "libp2p-identity", "multiaddr", "multihash", - "multistream-select", + "multistream-select 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", "once_cell", "parking_lot", "pin-project", "quick-protobuf", "rand", - "rw-stream-sink", + "rw-stream-sink 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec", - "thiserror", + "thiserror 1.0.69", "tracing", "unsigned-varint 0.8.0", "void", @@ -3701,8 +3964,7 @@ dependencies = [ [[package]] name = "libp2p-core" version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a61f26c83ed111104cd820fe9bc3aaabbac5f1652a1d213ed6e900b7918a1298" +source = "git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2#15f0535f87256ff141963006af129cc2c839b472" dependencies = [ "either", "fnv", @@ -3711,15 +3973,15 @@ dependencies = [ "libp2p-identity", "multiaddr", "multihash", - "multistream-select", + "multistream-select 0.13.0 (git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2)", "once_cell", "parking_lot", "pin-project", "quick-protobuf", "rand", - "rw-stream-sink", + "rw-stream-sink 0.4.0 (git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2)", "smallvec", - "thiserror", + "thiserror 1.0.69", "tracing", "unsigned-varint 0.8.0", "void", @@ -3728,32 +3990,31 @@ dependencies = [ [[package]] name = "libp2p-identify" -version = "0.44.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5d635ebea5ca0c3c3e77d414ae9b67eccf2a822be06091b9c1a0d13029a1e2f" +version = "0.45.0" +source = "git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2#15f0535f87256ff141963006af129cc2c839b472" dependencies = [ "asynchronous-codec", "either", "futures", "futures-bounded", "futures-timer", - "libp2p-core 0.41.3", + "libp2p-core 0.42.0 (git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2)", "libp2p-identity", - "libp2p-swarm 0.44.2", + "libp2p-swarm 0.45.1 (git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2)", "lru", "quick-protobuf", "quick-protobuf-codec", "smallvec", - "thiserror", + "thiserror 1.0.69", "tracing", "void", ] [[package]] name = "libp2p-identity" -version = "0.2.9" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55cca1eb2bc1fd29f099f3daaab7effd01e1a54b7c577d0ed082521034d912e8" +checksum = "257b5621d159b32282eac446bed6670c39c7dc68a200a992d8f056afa0066f6d" dependencies = [ "bs58", "ed25519-dalek", @@ -3762,16 +4023,15 @@ dependencies = [ "quick-protobuf", "rand", "sha2", - "thiserror", + "thiserror 1.0.69", "tracing", "zeroize", ] [[package]] name = "libp2p-kad" -version = "0.45.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc5767727d062c4eac74dd812c998f0e488008e82cce9c33b463d38423f9ad2" +version = "0.46.2" +source = "git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2#15f0535f87256ff141963006af129cc2c839b472" dependencies = [ "arrayvec", "asynchronous-codec", @@ -3781,74 +4041,72 @@ dependencies = [ "futures", "futures-bounded", "futures-timer", - "instant", - "libp2p-core 0.41.3", + "libp2p-core 0.42.0 (git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2)", "libp2p-identity", - "libp2p-swarm 0.44.2", + "libp2p-swarm 0.45.1 (git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2)", "quick-protobuf", "quick-protobuf-codec", "rand", "sha2", "smallvec", - "thiserror", + "thiserror 1.0.69", "tracing", "uint", "void", + "web-time", ] [[package]] name = "libp2p-metrics" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdac91ae4f291046a3b2660c039a2830c931f84df2ee227989af92f7692d3357" +version = "0.15.0" +source = "git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2#15f0535f87256ff141963006af129cc2c839b472" dependencies = [ "futures", - "instant", - "libp2p-core 0.41.3", + "libp2p-core 0.42.0 (git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2)", "libp2p-identify", "libp2p-identity", "libp2p-kad", - "libp2p-swarm 0.44.2", + "libp2p-swarm 0.45.1 (git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2)", "pin-project", "prometheus-client", + "web-time", ] [[package]] name = "libp2p-swarm" -version = "0.44.2" +version = "0.45.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80cae6cb75f89dbca53862f9ebe0b9f463aa7b302762fcfaafb9e51dcc9b0f7e" +checksum = "d7dd6741793d2c1fb2088f67f82cf07261f25272ebe3c0b0c311e0c6b50e851a" dependencies = [ "either", "fnv", "futures", "futures-timer", - "instant", - "libp2p-core 0.41.3", + "libp2p-core 0.42.0 (registry+https://github.com/rust-lang/crates.io-index)", "libp2p-identity", "lru", - "multistream-select", + "multistream-select 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", "once_cell", "rand", "smallvec", "tracing", "void", + "web-time", ] [[package]] name = "libp2p-swarm" version = "0.45.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7dd6741793d2c1fb2088f67f82cf07261f25272ebe3c0b0c311e0c6b50e851a" +source = "git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2#15f0535f87256ff141963006af129cc2c839b472" dependencies = [ "either", "fnv", "futures", "futures-timer", - "libp2p-core 0.42.0", + "libp2p-core 0.42.0 (git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2)", "libp2p-identity", "lru", - "multistream-select", + "multistream-select 0.13.0 (git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2)", "once_cell", "rand", "smallvec", @@ -3865,13 +4123,14 @@ checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ "bitflags 2.6.0", "libc", + "redox_syscall", ] [[package]] name = "libz-sys" -version = "1.1.18" +version = "1.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c15da26e5af7e25c90b37a2d75cdbf940cf4a55316de9d84c679c9b8bfabf82e" +checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472" dependencies = [ "cc", "libc", @@ -3881,15 +4140,15 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.3.8" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" [[package]] -name = "linux-raw-sys" -version = "0.4.14" +name = "litemap" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +checksum = "4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104" [[package]] name = "lock_api" @@ -3912,11 +4171,11 @@ dependencies = [ [[package]] name = "lru" -version = "0.12.3" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc" +checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" dependencies = [ - "hashbrown 0.14.5", + "hashbrown 0.15.2", ] [[package]] @@ -3950,6 +4209,15 @@ dependencies = [ "adler", ] +[[package]] +name = "miniz_oxide" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +dependencies = [ + "adler2", +] + [[package]] name = "mio" version = "0.8.11" @@ -3964,11 +4232,10 @@ dependencies = [ [[package]] name = "mio" -version = "1.0.1" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4569e456d394deccd22ce1c1913e6ea0e54519f577285001215d33557431afe4" +checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ - "hermit-abi 0.3.9", "libc", "wasi", "windows-sys 0.52.0", @@ -3976,9 +4243,9 @@ dependencies = [ [[package]] name = "multiaddr" -version = "0.18.1" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b852bc02a2da5feed68cd14fa50d0774b92790a5bdbfa932a813926c8472070" +checksum = "fe6351f60b488e04c1d21bc69e56b89cb3f5e8f5d22557d6e8031bdfd79b6961" dependencies = [ "arrayref", "byteorder", @@ -3989,7 +4256,7 @@ dependencies = [ "percent-encoding", "serde", "static_assertions", - "unsigned-varint 0.7.2", + "unsigned-varint 0.8.0", "url", ] @@ -4006,12 +4273,12 @@ dependencies = [ [[package]] name = "multihash" -version = "0.19.1" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "076d548d76a0e2a0d4ab471d0b1c36c577786dfc4471242035d97a12a735c492" +checksum = "cc41f430805af9d1cf4adae4ed2149c759b877b01d909a1f40256188d09345d2" dependencies = [ "core2", - "unsigned-varint 0.7.2", + "unsigned-varint 0.8.0", ] [[package]] @@ -4034,6 +4301,19 @@ dependencies = [ "unsigned-varint 0.7.2", ] +[[package]] +name = "multistream-select" +version = "0.13.0" +source = "git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2#15f0535f87256ff141963006af129cc2c839b472" +dependencies = [ + "bytes", + "futures", + "pin-project", + "smallvec", + "tracing", + "unsigned-varint 0.8.0", +] + [[package]] name = "new_debug_unreachable" version = "1.0.6" @@ -4058,6 +4338,16 @@ dependencies = [ "winapi", ] +[[package]] +name = "nu-ansi-term" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +dependencies = [ + "overload", + "winapi", +] + [[package]] name = "num-bigint" version = "0.4.6" @@ -4120,7 +4410,7 @@ checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -4149,9 +4439,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.19.0" +version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" [[package]] name = "openssl-probe" @@ -4161,9 +4451,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.103" +version = "0.9.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" +checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" dependencies = [ "cc", "libc", @@ -4177,6 +4467,12 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4030760ffd992bef45b0ae3f10ce1aba99e33464c90d14dd7c039884963ddc7a" +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + [[package]] name = "owo-colors" version = "3.5.0" @@ -4208,21 +4504,21 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.6.12" +version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d830939c76d294956402033aee57a6da7b438f2294eb94864c37b0569053a42c" +checksum = "8781a75c6205af67215f382092b6e0a4ff3734798523e69073d4bcd294ec767b" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.90", ] [[package]] name = "parking" -version = "2.2.0" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "parking_lot" @@ -4242,7 +4538,7 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.3", + "redox_syscall", "smallvec", "windows-targets 0.52.6", ] @@ -4289,7 +4585,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442" dependencies = [ "memchr", - "thiserror", + "thiserror 1.0.69", "ucd-trie", ] @@ -4300,7 +4596,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", - "indexmap 2.6.0", + "indexmap 2.7.0", ] [[package]] @@ -4320,29 +4616,29 @@ checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315" [[package]] name = "pin-project" -version = "1.1.5" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +checksum = "be57f64e946e500c8ee36ef6331845d40a93055567ec57e8fae13efd33759b95" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.5" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] name = "pin-project-lite" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" +checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" [[package]] name = "pin-utils" @@ -4352,12 +4648,12 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "piper" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae1d5c74c9876f070d3e8fd503d748c7d974c3e48da8f41350fa5222ef9b4391" +checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" dependencies = [ "atomic-waker", - "fastrand 2.1.0", + "fastrand 2.2.0", "futures-io", ] @@ -4373,9 +4669,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" +checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" [[package]] name = "plist" @@ -4384,7 +4680,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42cf17e9a1800f5f396bc67d193dc9411b59012a5876445ef450d449881e1016" dependencies = [ "base64 0.22.1", - "indexmap 2.6.0", + "indexmap 2.7.0", "quick-xml", "serde", "time", @@ -4408,24 +4704,24 @@ dependencies = [ [[package]] name = "polling" -version = "3.7.2" +version = "3.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3ed00ed3fbf728b5816498ecd316d1716eecaced9c0c8d2c5a6740ca214985b" +checksum = "a604568c3202727d1507653cb121dbd627a58684eb09a820fd746bee38b4442f" dependencies = [ "cfg-if", "concurrent-queue", "hermit-abi 0.4.0", "pin-project-lite", - "rustix 0.38.34", + "rustix", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "portable-atomic" -version = "1.7.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da544ee218f0d287a911e9c99a39a8c9bc8fcad3cb8db5959940044ecfc67265" +checksum = "280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6" [[package]] name = "powerfmt" @@ -4435,9 +4731,12 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.17" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] [[package]] name = "precomputed-hash" @@ -4484,14 +4783,14 @@ dependencies = [ "proc-macro-error-attr2", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" dependencies = [ "unicode-ident", ] @@ -4516,7 +4815,7 @@ checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -4610,13 +4909,12 @@ dependencies = [ [[package]] name = "quick-protobuf-codec" version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15a0580ab32b169745d7a39db2ba969226ca16738931be152a3209b409de2474" +source = "git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2#15f0535f87256ff141963006af129cc2c839b472" dependencies = [ "asynchronous-codec", "bytes", "quick-protobuf", - "thiserror", + "thiserror 1.0.69", "unsigned-varint 0.8.0", ] @@ -4631,55 +4929,61 @@ dependencies = [ [[package]] name = "quinn" -version = "0.11.2" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4ceeeeabace7857413798eb1ffa1e9c905a9946a57d81fb69b4b71c4d8eb3ad" +checksum = "62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef" dependencies = [ "bytes", "pin-project-lite", "quinn-proto", "quinn-udp", - "rustc-hash 1.1.0", - "rustls 0.23.12", - "thiserror", + "rustc-hash", + "rustls 0.23.19", + "socket2", + "thiserror 2.0.3", "tokio", "tracing", ] [[package]] name = "quinn-proto" -version = "0.11.3" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddf517c03a109db8100448a4be38d498df8a210a99fe0e1b9eaf39e78c640efe" +checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" dependencies = [ "bytes", + "getrandom", "rand", "ring 0.17.8", - "rustc-hash 1.1.0", - "rustls 0.23.12", + "rustc-hash", + "rustls 0.23.19", + "rustls-pki-types", "slab", - "thiserror", + "thiserror 2.0.3", "tinyvec", "tracing", + "web-time", ] [[package]] name = "quinn-udp" -version = "0.5.4" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bffec3605b73c6f1754535084a85229fa8a30f86014e6c81aeec4abb68b0285" +checksum = "7d5a626c6807713b15cac82a6acaccd6043c9a5408c24baae07611fec3f243da" dependencies = [ + "cfg_aliases", "libc", "once_cell", - "socket2 0.5.7", - "windows-sys 0.52.0", + "socket2", + "tracing", + "windows-sys 0.59.0", ] [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -4752,38 +5056,29 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "redox_syscall" -version = "0.5.3" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" +checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" dependencies = [ "bitflags 2.6.0", ] [[package]] name = "redox_users" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom", "libredox", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "regex" -version = "1.10.5" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", @@ -4793,9 +5088,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" dependencies = [ "aho-corasick", "memchr", @@ -4804,9 +5099,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "reqwest" @@ -4822,7 +5117,7 @@ dependencies = [ "h2", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.30", + "hyper 0.14.31", "hyper-rustls 0.24.2", "ipnet", "js-sys", @@ -4846,14 +5141,14 @@ dependencies = [ "wasm-bindgen-futures", "web-sys", "webpki-roots 0.25.4", - "winreg 0.50.0", + "winreg", ] [[package]] name = "reqwest" -version = "0.12.5" +version = "0.12.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37" +checksum = "a77c62af46e79de0a562e1a9849205ffcb7fc1238876e9bd743357570e04046f" dependencies = [ "base64 0.22.1", "bytes", @@ -4862,8 +5157,8 @@ dependencies = [ "http 1.1.0", "http-body 1.0.1", "http-body-util", - "hyper 1.4.1", - "hyper-rustls 0.27.2", + "hyper 1.5.1", + "hyper-rustls 0.27.3", "hyper-util", "ipnet", "js-sys", @@ -4873,13 +5168,13 @@ dependencies = [ "percent-encoding", "pin-project-lite", "quinn", - "rustls 0.23.12", - "rustls-pemfile 2.1.2", + "rustls 0.23.19", + "rustls-pemfile 2.2.0", "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", - "sync_wrapper 1.0.1", + "sync_wrapper 1.0.2", "tokio", "tokio-rustls 0.26.0", "tower-service", @@ -4887,8 +5182,8 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "webpki-roots 0.26.3", - "winreg 0.52.0", + "webpki-roots 0.26.7", + "windows-registry", ] [[package]] @@ -5001,15 +5296,9 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - -[[package]] -name = "rustc-hash" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" +checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497" [[package]] name = "rustc-hex" @@ -5028,45 +5317,31 @@ dependencies = [ [[package]] name = "rustc_version" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ "semver 1.0.23", ] [[package]] name = "rustix" -version = "0.37.27" +version = "0.38.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" +checksum = "d7f649912bc1495e167a6edee79151c84b1bad49748cb4f1f1167f459f6224f6" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "errno", - "io-lifetimes", "libc", - "linux-raw-sys 0.3.8", - "windows-sys 0.48.0", + "linux-raw-sys", + "windows-sys 0.52.0", ] [[package]] -name = "rustix" -version = "0.38.34" +name = "rustls" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" -dependencies = [ - "bitflags 2.6.0", - "errno", - "libc", - "linux-raw-sys 0.4.14", - "windows-sys 0.52.0", -] - -[[package]] -name = "rustls" -version = "0.19.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7" +checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7" dependencies = [ "base64 0.13.1", "log", @@ -5089,14 +5364,14 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.12" +version = "0.23.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" +checksum = "934b404430bb06b3fae2cba809eb45a1ab1aecd64491213d7c3301b88393f8d1" dependencies = [ "once_cell", "ring 0.17.8", "rustls-pki-types", - "rustls-webpki 0.102.6", + "rustls-webpki 0.102.8", "subtle", "zeroize", ] @@ -5124,19 +5399,21 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "2.1.2" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" +checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" dependencies = [ - "base64 0.22.1", "rustls-pki-types", ] [[package]] name = "rustls-pki-types" -version = "1.7.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" +checksum = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b" +dependencies = [ + "web-time", +] [[package]] name = "rustls-webpki" @@ -5150,9 +5427,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.102.6" +version = "0.102.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e6b52d4fda176fd835fdc55a835d4a89b8499cad995885a21149d5ad62f852e" +checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" dependencies = [ "ring 0.17.8", "rustls-pki-types", @@ -5161,9 +5438,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" +checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248" [[package]] name = "rusty-fork" @@ -5188,6 +5465,16 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "rw-stream-sink" +version = "0.4.0" +source = "git+https://github.com/maqi/rust-libp2p.git?branch=kad_0.46.2#15f0535f87256ff141963006af129cc2c839b472" +dependencies = [ + "futures", + "pin-project", + "static_assertions", +] + [[package]] name = "ryu" version = "1.0.18" @@ -5205,11 +5492,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.23" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -5278,9 +5565,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.11.1" +version = "2.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" +checksum = "fa39c7303dc58b5543c94d22c1766b0d31f2ee58306363ea622b10bbc075eaa2" dependencies = [ "core-foundation-sys", "libc", @@ -5306,9 +5593,9 @@ dependencies = [ [[package]] name = "semver-parser" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" +checksum = "9900206b54a3527fdc7b8a938bffd94a568bac4f4aa8113b209df75a09c0dec2" dependencies = [ "pest", ] @@ -5322,15 +5609,6 @@ dependencies = [ "serde_derive", ] -[[package]] -name = "serde_bytes" -version = "0.11.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a" -dependencies = [ - "serde", -] - [[package]] name = "serde_derive" version = "1.0.210" @@ -5339,16 +5617,17 @@ checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] name = "serde_json" -version = "1.0.120" +version = "1.0.133" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5" +checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" dependencies = [ "itoa", + "memchr", "ryu", "serde", ] @@ -5365,9 +5644,9 @@ dependencies = [ [[package]] name = "serde_test" -version = "1.0.176" +version = "1.0.177" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a2f49ace1498612d14f7e0b8245519584db8299541dfe31a06374a828d620ab" +checksum = "7f901ee573cab6b3060453d2d5f0bae4e6d628c23c0a962ff9b5f1d7c8d4f1ed" dependencies = [ "serde", ] @@ -5394,7 +5673,7 @@ dependencies = [ "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.6.0", + "indexmap 2.7.0", "serde", "serde_derive", "serde_json", @@ -5411,14 +5690,14 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] name = "service-manager" -version = "0.6.2" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6545ef17012cfacd4d8ac9124480fa12cdacee5ff59fb08627d67c12045573e6" +checksum = "59d7d62c9733631445d1b3fc7854c780088408d4b79a20dd928aaec41854ca3a" dependencies = [ "cfg-if", "dirs", @@ -5478,6 +5757,12 @@ dependencies = [ "lazy_static", ] +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + [[package]] name = "signal-hook" version = "0.3.17" @@ -5556,31 +5841,13 @@ version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" -[[package]] -name = "sn-releases" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7786e530f6940356aa4fbb110b6e9238d764653bc14df4a522f96096c26ac7d7" -dependencies = [ - "async-trait", - "chrono", - "flate2", - "lazy_static", - "regex", - "reqwest 0.12.5", - "semver 1.0.23", - "serde_json", - "tar", - "thiserror", - "tokio", - "zip", -] - [[package]] name = "sn-testnet-deploy" version = "0.1.77" dependencies = [ "alloy", + "ant-releases", + "ant-service-management", "async-recursion", "aws-config", "aws-sdk-s3", @@ -5591,14 +5858,14 @@ dependencies = [ "dirs-next", "dotenv", "env_logger", - "evmlib", + "evmlib 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "flate2", "fs_extra", "futures", "httpmock", "indicatif", "inquire", - "libp2p 0.54.1", + "libp2p 0.54.1 (registry+https://github.com/rust-lang/crates.io-index)", "log", "prost", "rand", @@ -5609,140 +5876,20 @@ dependencies = [ "serde", "serde_json", "sha2", - "sn-releases", - "sn_service_management", "tar", "tempfile", - "thiserror", + "thiserror 1.0.69", "tokio", "tokio-stream", "tonic", "walkdir", ] -[[package]] -name = "sn_build_info" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05d310eec811f2bbf1e90fa3cd187f2f6e85c6bf06c0bd7a72457c58cb678072" -dependencies = [ - "vergen", -] - -[[package]] -name = "sn_protocol" -version = "0.16.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ecf7c856f68c84f012e2e601694318135f12caeb4a425584f53cd047e6f405d" -dependencies = [ - "blsttc", - "bytes", - "color-eyre", - "crdts", - "custom_debug", - "dirs-next", - "hex", - "lazy_static", - "libp2p 0.53.2", - "prost", - "rmp-serde", - "serde", - "serde_json", - "sha2", - "sn_build_info", - "sn_registers", - "sn_transfers", - "thiserror", - "tiny-keccak", - "tonic", - "tonic-build", - "tracing", - "xor_name", -] - -[[package]] -name = "sn_registers" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37cd60033233e469d8e764cfffe22d0be8382617da646552c10e6a14d21550c5" -dependencies = [ - "blsttc", - "crdts", - "hex", - "rmp-serde", - "serde", - "thiserror", - "tiny-keccak", - "xor_name", -] - -[[package]] -name = "sn_service_management" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13dcad57c54dff30ce11db94e2fc306f2b693d81f7de9d61c2da9d5529778cae" -dependencies = [ - "async-trait", - "dirs-next", - "libp2p 0.53.2", - "libp2p-identity", - "prost", - "semver 1.0.23", - "serde", - "serde_json", - "service-manager", - "sn_protocol", - "sn_transfers", - "sysinfo", - "thiserror", - "tokio", - "tonic", - "tonic-build", - "tracing", - "tracing-core", -] - -[[package]] -name = "sn_transfers" -version = "0.18.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdd568eb234bdf596444e29f0c300e381c2166de165b7ad3d7c861a98a563967" -dependencies = [ - "blsttc", - "custom_debug", - "dirs-next", - "fs2", - "hex", - "lazy_static", - "libp2p 0.53.2", - "rand", - "rayon", - "rmp-serde", - "serde", - "serde_bytes", - "serde_json", - "thiserror", - "tiny-keccak", - "tracing", - "walkdir", - "xor_name", -] - [[package]] name = "socket2" -version = "0.4.10" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "socket2" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" dependencies = [ "libc", "windows-sys 0.52.0", @@ -5770,6 +5917,12 @@ dependencies = [ "der", ] +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + [[package]] name = "static_assertions" version = "1.1.0" @@ -5814,7 +5967,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -5836,9 +5989,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.72" +version = "2.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" dependencies = [ "proc-macro2", "quote", @@ -5847,14 +6000,14 @@ dependencies = [ [[package]] name = "syn-solidity" -version = "0.8.9" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d5e0c2ea8db64b2898b62ea2fbd60204ca95e0b2c6bdf53ff768bbe916fbe4d" +checksum = "da0523f59468a2696391f2a772edc089342aacd53c3caa2ac3264e598edf119b" dependencies = [ "paste", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -5865,9 +6018,12 @@ checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" [[package]] name = "sync_wrapper" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] [[package]] name = "synstructure" @@ -5877,7 +6033,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -5924,9 +6080,9 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tar" -version = "0.4.41" +version = "0.4.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb797dad5fb5b76fcf519e702f4a589483b5ef06567f160c392832c1f5e44909" +checksum = "c65998313f8e17d0d553d28f91a0df93e4dbbbf770279c7bc21ca0f09ea1a1f6" dependencies = [ "filetime", "libc", @@ -5935,14 +6091,15 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.10.1" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c" dependencies = [ "cfg-if", - "fastrand 2.1.0", - "rustix 0.38.34", - "windows-sys 0.52.0", + "fastrand 2.2.0", + "once_cell", + "rustix", + "windows-sys 0.59.0", ] [[package]] @@ -5967,22 +6124,42 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.63" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c006c85c7651b3cf2ada4584faa36773bd07bac24acfb39f3c431b36d7e667aa" +dependencies = [ + "thiserror-impl 2.0.3", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] name = "thiserror-impl" -version = "1.0.63" +version = "2.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" +checksum = "f077553d607adc1caf65430528a576c757a71ed73944b66ebb58ef2bbd243568" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -6046,6 +6223,16 @@ dependencies = [ "crunchy", ] +[[package]] +name = "tinystr" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +dependencies = [ + "displaydoc", + "zerovec", +] + [[package]] name = "tinyvec" version = "1.8.0" @@ -6063,18 +6250,18 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.39.2" +version = "1.41.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daa4fb1bc778bd6f04cbfc4bb2d06a7396a8f299dc33ea1900cedaa316f467b1" +checksum = "22cfb5bee7a6a52939ca9224d6ac897bb669134078daa8735560897f69de4d33" dependencies = [ "backtrace", "bytes", "libc", - "mio 1.0.1", + "mio 1.0.3", "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.7", + "socket2", "tokio-macros", "windows-sys 0.52.0", ] @@ -6097,7 +6284,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] @@ -6127,21 +6314,21 @@ version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" dependencies = [ - "rustls 0.23.12", + "rustls 0.23.19", "rustls-pki-types", "tokio", ] [[package]] name = "tokio-stream" -version = "0.1.15" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" +checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1" dependencies = [ "futures-core", "pin-project-lite", "tokio", - "tokio-util 0.7.11", + "tokio-util 0.7.12", ] [[package]] @@ -6160,9 +6347,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.11" +version = "0.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" +checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" dependencies = [ "bytes", "futures-core", @@ -6183,7 +6370,7 @@ version = "0.22.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ - "indexmap 2.6.0", + "indexmap 2.7.0", "toml_datetime", "winnow", ] @@ -6203,7 +6390,7 @@ dependencies = [ "h2", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.30", + "hyper 0.14.31", "hyper-timeout", "percent-encoding", "pin-project", @@ -6246,7 +6433,7 @@ dependencies = [ "rand", "slab", "tokio", - "tokio-util 0.7.11", + "tokio-util 0.7.12", "tower-layer", "tower-service", "tracing", @@ -6280,9 +6467,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.40" +version = "0.1.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" dependencies = [ "log", "pin-project-lite", @@ -6290,22 +6477,34 @@ dependencies = [ "tracing-core", ] +[[package]] +name = "tracing-appender" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3566e8ce28cc0a3fe42519fc80e6b4c943cc4c8cef275620eb8dac2d3d4e06cf" +dependencies = [ + "crossbeam-channel", + "thiserror 1.0.69", + "time", + "tracing-subscriber", +] + [[package]] name = "tracing-attributes" -version = "0.1.27" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", ] [[package]] name = "tracing-core" -version = "0.1.32" +version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" dependencies = [ "once_cell", "valuable", @@ -6313,9 +6512,9 @@ dependencies = [ [[package]] name = "tracing-error" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d686ec1c0f384b1277f097b2f279a2ecc11afe8c133c1aabf036a27cb4cd206e" +checksum = "8b1581020d7a273442f5b45074a6a57d5757ad0a47dac0e9f0bd57b81936f3db" dependencies = [ "tracing", "tracing-subscriber", @@ -6331,15 +6530,42 @@ dependencies = [ "tracing", ] +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-serde" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "704b1aeb7be0d0a84fc9828cae51dab5970fee5088f83d1dd7ee6f6246fc6ff1" +dependencies = [ + "serde", + "tracing-core", +] + [[package]] name = "tracing-subscriber" -version = "0.3.18" +version = "0.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" dependencies = [ + "nu-ansi-term", + "serde", + "serde_json", "sharded-slab", + "smallvec", "thread_local", "tracing-core", + "tracing-log", + "tracing-serde", ] [[package]] @@ -6378,44 +6604,35 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" -[[package]] -name = "unicode-bidi" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" - [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" [[package]] -name = "unicode-normalization" -version = "0.1.23" +name = "unicode-segmentation" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" -dependencies = [ - "tinyvec", -] +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" [[package]] -name = "unicode-segmentation" -version = "1.11.0" +name = "unicode-width" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" +checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" [[package]] name = "unicode-width" -version = "0.1.13" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" +checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" [[package]] name = "unicode-xid" -version = "0.2.4" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "unsigned-varint" @@ -6443,9 +6660,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.2" +version = "2.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" dependencies = [ "form_urlencoded", "idna", @@ -6458,6 +6675,18 @@ version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" +[[package]] +name = "utf16_iter" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + [[package]] name = "utf8parse" version = "0.2.2" @@ -6466,9 +6695,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" +checksum = "f8c5f0a0af699448548ad1a2fbf920fb4bee257eae39953ba95cb84891a0446a" [[package]] name = "valuable" @@ -6478,9 +6707,9 @@ checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" [[package]] name = "value-bag" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a84c137d37ab0142f0f2ddfe332651fdbf252e7b7dbb4e67b6c1f1b2e925101" +checksum = "3ef4c4aa54d5d05a279399bfa921ec387b7aba77caf7a682ae8d86785b8fdad2" [[package]] name = "vcpkg" @@ -6560,46 +6789,48 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.92" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +checksum = "d15e63b4482863c109d70a7b8706c1e364eb6ea449b201a76c5b89cedcec2d5c" dependencies = [ "cfg-if", + "once_cell", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.92" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +checksum = "8d36ef12e3aaca16ddd3f67922bc63e48e953f126de60bd33ccc0101ef9998cd" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.42" +version = "0.4.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +checksum = "9dfaf8f50e5f293737ee323940c7d8b08a66a95a419223d9f41610ca08b0833d" dependencies = [ "cfg-if", "js-sys", + "once_cell", "wasm-bindgen", "web-sys", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.92" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +checksum = "705440e08b42d3e4b36de7d66c944be628d579796b8090bfa3471478a2260051" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -6607,22 +6838,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.92" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +checksum = "98c9ae5a76e46f4deecd0f0255cc223cfa18dc9b261213b8aa0c7b36f61b3f1d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.92" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" +checksum = "6ee99da9c5ba11bd675621338ef6fa52296b76b83305e9b6e5c77d4c286d6d49" [[package]] name = "wasmtimer" @@ -6634,15 +6865,16 @@ dependencies = [ "js-sys", "parking_lot", "pin-utils", + "serde", "slab", "wasm-bindgen", ] [[package]] name = "web-sys" -version = "0.3.69" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +checksum = "a98bc3c33f0fe7e59ad7cd041b89034fa82a7c2d4365ca538dda6cdaf513863c" dependencies = [ "js-sys", "wasm-bindgen", @@ -6676,9 +6908,9 @@ checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "webpki-roots" -version = "0.26.3" +version = "0.26.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd7c23921eeb1713a4e851530e9b9756e4fb0e89978582942612524cf09f01cd" +checksum = "5d642ff16b7e79272ae451b7322067cdc17cadf68c23264be9d94a32319efe7e" dependencies = [ "rustls-pki-types", ] @@ -6692,7 +6924,7 @@ dependencies = [ "either", "home", "once_cell", - "rustix 0.38.34", + "rustix", ] [[package]] @@ -6713,11 +6945,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -6745,6 +6977,36 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-registry" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +dependencies = [ + "windows-result", + "windows-strings", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-result" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-strings" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" +dependencies = [ + "windows-result", + "windows-targets 0.52.6", +] + [[package]] name = "windows-sys" version = "0.48.0" @@ -6763,6 +7025,15 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + [[package]] name = "windows-targets" version = "0.48.5" @@ -6904,14 +7175,16 @@ dependencies = [ ] [[package]] -name = "winreg" -version = "0.52.0" +name = "write16" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" [[package]] name = "wyz" @@ -6929,15 +7202,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" dependencies = [ "libc", - "linux-raw-sys 0.4.14", - "rustix 0.38.34", + "linux-raw-sys", + "rustix", ] [[package]] name = "xml-rs" -version = "0.8.20" +version = "0.8.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "791978798f0597cfc70478424c2b4fdc2b7a8024aaff78497ef00f24ef674193" +checksum = "af310deaae937e48a26602b730250b4949e125f468f11e6990be3e5304ddd96f" [[package]] name = "xmlparser" @@ -6959,12 +7232,37 @@ dependencies = [ "tiny-keccak", ] +[[package]] +name = "yoke" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", + "synstructure", +] + [[package]] name = "zerocopy" version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ + "byteorder", "zerocopy-derive", ] @@ -6976,7 +7274,28 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", +] + +[[package]] +name = "zerofrom" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", + "synstructure", ] [[package]] @@ -6996,7 +7315,29 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.90", +] + +[[package]] +name = "zerovec" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", ] [[package]] @@ -7040,9 +7381,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.12+zstd.1.5.6" +version = "2.0.13+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a4e40c320c3cb459d9a9ff6de98cff88f4751ee9275d140e2be94a2b74e4c13" +checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" dependencies = [ "cc", "pkg-config", diff --git a/Cargo.toml b/Cargo.toml index 4563524b..cacf95c5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,6 +14,8 @@ name="testnet-deploy" [dependencies] alloy = { version = "0.5.3", default-features = false, features = ["signers"] } +ant-releases = { git = "https://github.com/jacderida/ant-releases.git", branch = "chore-rename_binaries" } +ant-service-management = { git = "https://github.com/maidsafe/autonomi.git", branch = "main" } async-recursion = "1.0.4" aws-config = "0.56.0" aws-sdk-s3 = "0.29.0" @@ -32,6 +34,9 @@ libp2p = { version = "0.54.1", features = [] } log = "0.4" indicatif = "0.17.3" inquire = "0.6.2" +# watch out updating this, protoc compiler needs to be installed on all build systems +# arm builds + musl are very problematic +prost = { version = "0.9" } rand = "0.8.5" rayon = "1.8.0" regex = "1.9.5" @@ -40,18 +45,13 @@ sha2 = "0.10.7" semver = { version = "1.0.20", features = ["serde"] } serde = { version = "1.0", features = ["derive"] } serde_json = "~1.0.108" -sn_service_management = "~0.2.8" -sn-releases = "0.3.1" thiserror = "1.0.23" tar = "0.4" tempfile = "3.8.0" tokio = { version = "1.26", features = ["full"] } tokio-stream = "0.1.14" -walkdir = "~2.5.0" -# watch out updating this, protoc compiler needs to be installed on all build systems -# arm builds + musl are very problematic -prost = { version = "0.9" } tonic = { version = "0.6.2" } +walkdir = "~2.5.0" [dev-dependencies] httpmock = "0.6" diff --git a/resources/ansible/node_manager_inventory.yml b/resources/ansible/antctl_inventory.yml similarity index 64% rename from resources/ansible/node_manager_inventory.yml rename to resources/ansible/antctl_inventory.yml index 8af4d086..09ab6898 100644 --- a/resources/ansible/node_manager_inventory.yml +++ b/resources/ansible/antctl_inventory.yml @@ -1,17 +1,17 @@ --- -- name: fetch node manager inventory from remote machines +- name: fetch antctl inventory from remote machines hosts: all ignore_unreachable: yes max_fail_percentage: 10 tasks: - name: check if node registry file exists stat: - path: "/var/safenode-manager/node_registry.json" + path: "/var/antctl/node_registry.json" register: file_stat - name: fetch inventory file fetch: - src: "/var/safenode-manager/node_registry.json" + src: "/var/antctl/node_registry.json" dest: "{{dest}}" flat: no validate_checksum: no diff --git a/resources/ansible/build.yml b/resources/ansible/build.yml index 90e2625f..52d6ba3a 100644 --- a/resources/ansible/build.yml +++ b/resources/ansible/build.yml @@ -1,31 +1,25 @@ --- -# We always build the faucet binary, but safenode only applies for using a custom branch. - name: build binaries hosts: all become: False roles: - { role: build_safe_network_binary, - bin_name: "autonomi", + bin_name: "ant", when: custom_bin == "true" } - { role: build_safe_network_binary, - bin_name: "safenode", + bin_name: "antnode", when: custom_bin == "true" } - { role: build_safe_network_binary, - bin_name: "safenode_rpc_client", + bin_name: "antctl", when: custom_bin == "true" } - { role: build_safe_network_binary, - bin_name: "safenode-manager", - when: custom_bin == "true" - } - - { - role: build_safe_network_binary, - bin_name: "safenodemand", + bin_name: "antctld", when: custom_bin == "true" } diff --git a/resources/ansible/cleanup_logs.yml b/resources/ansible/cleanup_logs.yml index 818c4bc9..b298d653 100644 --- a/resources/ansible/cleanup_logs.yml +++ b/resources/ansible/cleanup_logs.yml @@ -6,7 +6,7 @@ tasks: - name: remove rotated logs shell: | - for file in $(find /mnt/safenode-storage/log/safenode/ -name "*.gz"); do + for file in $(find /mnt/antnode-storage/log/antnode/ -name "*.gz"); do rm $file done @@ -14,6 +14,6 @@ ansible.builtin.cron: name: "cleanup_logs" minute: "*/10" - job: "find /mnt/safenode-storage/log/safenode/ -name \"*.gz\" -exec rm {} \\;" + job: "find /mnt/antnode-storage/log/antnode/ -name \"*.gz\" -exec rm {} \\;" state: present - when: setup_cron == "true" \ No newline at end of file + when: setup_cron == "true" diff --git a/resources/ansible/evm_nodes.yml b/resources/ansible/evm_nodes.yml index 880193f1..68eb826c 100644 --- a/resources/ansible/evm_nodes.yml +++ b/resources/ansible/evm_nodes.yml @@ -5,7 +5,7 @@ max_fail_percentage: 10 ignore_unreachable: yes roles: - - safe_user + - ant_user - evm_node tasks: # Something is wrong with the journal service on Ubuntu that causes no @@ -16,4 +16,4 @@ ansible.builtin.systemd: name: systemd-journald state: restarted - enabled: yes \ No newline at end of file + enabled: yes diff --git a/resources/ansible/genesis_node.yml b/resources/ansible/genesis_node.yml index d91b247e..de5ae473 100644 --- a/resources/ansible/genesis_node.yml +++ b/resources/ansible/genesis_node.yml @@ -16,7 +16,7 @@ vars: is_genesis: True roles: - - role: safe_user + - role: ant_user become: True - role: attach_volume become: True @@ -28,5 +28,5 @@ { name: "{{ node_data_mount_path }}", owner: "root", group: "root", mode: 0755 }, when: provider == "aws" } - - node-manager + - antctl - genesis-node diff --git a/resources/ansible/nodes.yml b/resources/ansible/nodes.yml index c992e24a..c45f234c 100644 --- a/resources/ansible/nodes.yml +++ b/resources/ansible/nodes.yml @@ -12,17 +12,15 @@ mode: 0644 when: logstash_stack_name is defined and logstash_stack_name | length > 0 -- name: deploy safenode to remaining nodes +- name: deploy antnode to remaining nodes hosts: all become: False max_fail_percentage: 10 ignore_unreachable: yes vars: is_genesis: False - safenode_rpc_client_archive_filename: safenode_rpc_client-latest-x86_64-unknown-linux-musl.tar.gz - safenode_rpc_client_archive_url: https://sn-node-rpc-client.s3.eu-west-2.amazonaws.com/{{ safenode_rpc_client_archive_filename }} roles: - - role: safe_user + - role: ant_user become: True - role: attach_volume become: True @@ -34,7 +32,7 @@ { name: "{{ node_data_mount_path }}", owner: "root", group: "root", mode: 0755 }, when: provider == "aws" } - - node-manager + - antctl - { role: private_node, become: True, @@ -54,17 +52,6 @@ name: systemd-journald state: restarted enabled: yes - # The RPC client is setup on all nodes for use with the metrics solution - - name: get the latest version or a custom build of the RPC client - ansible.builtin.get_url: - url: "{{ safenode_rpc_client_archive_url }}" - dest: /tmp/{{ safenode_rpc_client_archive_filename }} - - name: extract the RPC client binary to /usr/local/bin - become: True - ansible.builtin.unarchive: - src: "/tmp/{{ safenode_rpc_client_archive_filename }}" - dest: /usr/local/bin - remote_src: True - name: restart telegraf become: True ansible.builtin.systemd: diff --git a/resources/ansible/roles/safe_user/tasks/main.yml b/resources/ansible/roles/ant_user/tasks/main.yml similarity index 54% rename from resources/ansible/roles/safe_user/tasks/main.yml rename to resources/ansible/roles/ant_user/tasks/main.yml index 221c8fb7..d1a3be4b 100644 --- a/resources/ansible/roles/safe_user/tasks/main.yml +++ b/resources/ansible/roles/ant_user/tasks/main.yml @@ -1,40 +1,40 @@ - name: user for running node ansible.builtin.user: - name: safe + name: ant shell: /bin/bash -- name: create .ssh directory for safe user +- name: create .ssh directory for ant user ansible.builtin.file: - path: /home/safe/.ssh - owner: safe - group: safe + path: /home/ant/.ssh + owner: ant + group: ant state: directory mode: '0755' # This is necessary for the logstash service, which runs as the logstash user, to -# read the log files under /home/safe/.local/share/safe/node. +# read the log files under /home/ant/.local/share/ant/node. - name: make home directory accessible for logstash user ansible.builtin.file: - path: /home/safe + path: /home/ant mode: '0755' -# This is a bit of a hack, but it allows the `safe` user to have SSH access using the same +# This is a bit of a hack, but it allows the `ant` user to have SSH access using the same # authorized_keys, which is useful for running utility scripts. -- name: create .ssh directory for safe user +- name: create .ssh directory for ant user ansible.builtin.file: - path: /home/safe/.ssh - owner: safe - group: safe + path: /home/ant/.ssh + owner: ant + group: ant state: directory mode: '0755' when: provider == "digital-ocean" -- name: copy authorized_keys to safe user +- name: copy authorized_keys to ant user ansible.builtin.copy: src: /root/.ssh/authorized_keys - dest: /home/safe/.ssh/authorized_keys - owner: safe - group: safe + dest: /home/ant/.ssh/authorized_keys + owner: ant + group: ant remote_src: true mode: '0600' when: provider == "digital-ocean" diff --git a/resources/ansible/roles/antctl/defaults/main.yml b/resources/ansible/roles/antctl/defaults/main.yml new file mode 100644 index 00000000..772db365 --- /dev/null +++ b/resources/ansible/roles/antctl/defaults/main.yml @@ -0,0 +1,9 @@ +--- +public_rpc: False +node_rpc_ip: "127.0.0.1" +node_instance_count: 20 +binary_dir: /usr/local/bin +antctl_archive_filename: antctl-latest-x86_64-unknown-linux-musl.tar.gz +antctl_archive_url: https://antctl.s3.eu-west-2.amazonaws.com/{{ antctl_archive_filename }} +antctld_archive_filename: antctld-latest-x86_64-unknown-linux-musl.tar.gz +antctld_archive_url: https://antctld.s3.eu-west-2.amazonaws.com/{{ antctld_archive_filename }} diff --git a/resources/ansible/roles/antctl/tasks/main.yml b/resources/ansible/roles/antctl/tasks/main.yml new file mode 100644 index 00000000..93053125 --- /dev/null +++ b/resources/ansible/roles/antctl/tasks/main.yml @@ -0,0 +1,52 @@ +--- +- name: check if antctl binary exists + ansible.builtin.stat: + path: "{{ binary_dir}}/antctl" + register: antctl_binary + +- name: get the private IP for the instance + set_fact: + node_rpc_ip: "{{ instance_facts.instances[0].network_interfaces[0].private_ip_address }}" + when: provider == "aws" and public_rpc and not antctl_binary.stat.exists + +- name: use the public IP as the RPC address on DO + set_fact: + node_rpc_ip: "{{ ansible_host }}" + when: provider == "digital-ocean" and public_rpc and not antctl_binary.stat.exists + +- name: download the antctl binary + ansible.builtin.get_url: + url: "{{ antctl_archive_url }}" + dest: /tmp/{{ antctl_archive_filename }} + when: not antctl_binary.stat.exists + +- name: extract the antctl binary to /usr/local/bin + become: True + ansible.builtin.unarchive: + src: "/tmp/{{ antctl_archive_filename }}" + dest: "{{ binary_dir }}" + remote_src: True + when: not antctl_binary.stat.exists + +- name: download the antctld binary + ansible.builtin.get_url: + url: "{{ antctld_archive_url }}" + dest: /tmp/{{ antctld_archive_filename }} + when: not antctl_binary.stat.exists + +- name: extract the antctld binary to /tmp/antctld + become: True + ansible.builtin.unarchive: + src: "/tmp/{{ antctld_archive_filename }}" + dest: /tmp/ + remote_src: True + when: not antctl_binary.stat.exists + +- name: add antctld + become: true + command: antctl -v daemon add --address {{ node_rpc_ip }} --path /tmp/antctld + when: not antctl_binary.stat.exists + +- name: start antctld + become: true + command: antctl -v daemon start diff --git a/resources/ansible/roles/attach_volume/tasks/main.yml b/resources/ansible/roles/attach_volume/tasks/main.yml index ad8daf38..42b3c3cf 100644 --- a/resources/ansible/roles/attach_volume/tasks/main.yml +++ b/resources/ansible/roles/attach_volume/tasks/main.yml @@ -65,18 +65,18 @@ when: not volume_in_fstab - name: create dir for mount point - command: mkdir -p /mnt/safenode-storage + command: mkdir -p /mnt/antnode-storage when: not volume_in_fstab - name: create subdirs - command: mkdir -p /mnt/safenode-storage/{{ item }} + command: mkdir -p /mnt/antnode-storage/{{ item }} loop: - data - log when: not volume_in_fstab - name: mount the logical volume - command: mount -o discard,defaults,noatime /dev/lvm_vol_group/striped_logical_volume /mnt/safenode-storage + command: mount -o discard,defaults,noatime /dev/lvm_vol_group/striped_logical_volume /mnt/antnode-storage when: not volume_in_fstab - name: check fstab @@ -90,5 +90,5 @@ when: not volume_in_fstab - name: change fstab so the volume will be mounted after a reboot - command: echo '/dev/lvm_vol_group/striped_logical_volume /mnt/safenode-storage ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab - when: not volume_added_to_fstab and not volume_in_fstab \ No newline at end of file + command: echo '/dev/lvm_vol_group/striped_logical_volume /mnt/antnode-storage ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab + when: not volume_added_to_fstab and not volume_in_fstab diff --git a/resources/ansible/roles/build_safe_network_binary/defaults/main.yml b/resources/ansible/roles/build_safe_network_binary/defaults/main.yml index 13e3c8e2..67a0cfe6 100644 --- a/resources/ansible/roles/build_safe_network_binary/defaults/main.yml +++ b/resources/ansible/roles/build_safe_network_binary/defaults/main.yml @@ -1,7 +1,7 @@ -bin_name: safenode +bin_name: antnode org: maidsafe branch: main # The archive is stored inside "https://sn-node.s3.eu-west-2.amazonaws.com/{org}/{branch}/{bin_name}-{testnet_name}-x86_64-unknown-linux-musl.tar.gz" bin_archive_filename: "{{ bin_name }}-{{ testnet_name }}-x86_64-unknown-linux-musl.tar.gz" # csv of the features that you want to enable on safenode. By default, none of the features are enabled. -safenode_features_list: "" +antnode_features_list: "" diff --git a/resources/ansible/roles/build_safe_network_binary/tasks/main.yml b/resources/ansible/roles/build_safe_network_binary/tasks/main.yml index 93924cd0..08923856 100644 --- a/resources/ansible/roles/build_safe_network_binary/tasks/main.yml +++ b/resources/ansible/roles/build_safe_network_binary/tasks/main.yml @@ -3,11 +3,11 @@ set_fact: aws_secret_key: "{{ lookup('file', 'files/s3_deploy_secret_access_key') }}" -- name: clone safe_network repo +- name: clone autonomi repo ansible.builtin.git: - repo: https://github.com/{{ org }}/safe_network + repo: https://github.com/{{ org }}/autonomi version: "{{ branch }}" - dest: "{{ ansible_env.HOME }}/safe_network" + dest: "{{ ansible_env.HOME }}/autonomi" # only enable safenode features - name: "build {{ bin_name }} binary" @@ -34,21 +34,19 @@ export PAYMENT_FORWARD_PK={{ payment_forward_pk }} {% endif %} - {% if bin_name == 'safenode' and safenode_features_list != "" %} - cargo build --target x86_64-unknown-linux-musl --release --bin {{bin_name}} --no-default-features --features={{safenode_features_list}} - {% elif bin_name == 'faucet' %} - cargo build --target x86_64-unknown-linux-musl --release --bin {{bin_name}} --features="distribution" + {% if bin_name == 'antnode' and antnode_features_list != "" %} + cargo build --target x86_64-unknown-linux-musl --release --bin {{bin_name}} --no-default-features --features={{antnode_features_list}} {% else %} cargo build --target x86_64-unknown-linux-musl --release --bin {{bin_name}} {% endif %} args: - chdir: "{{ ansible_env.HOME }}/safe_network" - creates: "{{ ansible_env.HOME }}/safe_network/target/x86_64-unknown-linux-musl/release/{{bin_name}}" + chdir: "{{ ansible_env.HOME }}/autonomi" + creates: "{{ ansible_env.HOME }}/autonomi/target/x86_64-unknown-linux-musl/release/{{bin_name}}" executable: /bin/bash - name: copy binary to tmp directory ansible.builtin.command: - chdir: "{{ ansible_env.HOME }}/safe_network/target/x86_64-unknown-linux-musl/release" + chdir: "{{ ansible_env.HOME }}/autonomi/target/x86_64-unknown-linux-musl/release" cmd: cp {{bin_name}} /tmp/ - name: archive binary diff --git a/resources/ansible/roles/evm_node/defaults/main.yml b/resources/ansible/roles/evm_node/defaults/main.yml index 7e8a8bc9..04ce7faf 100644 --- a/resources/ansible/roles/evm_node/defaults/main.yml +++ b/resources/ansible/roles/evm_node/defaults/main.yml @@ -1,3 +1,3 @@ -bin_name: evm_testnet +bin_name: evm-testnet org: maidsafe branch: main diff --git a/resources/ansible/roles/evm_node/tasks/main.yml b/resources/ansible/roles/evm_node/tasks/main.yml index b428a8e8..48600786 100644 --- a/resources/ansible/roles/evm_node/tasks/main.yml +++ b/resources/ansible/roles/evm_node/tasks/main.yml @@ -16,27 +16,27 @@ - name: check if evm_testnet binary exists ansible.builtin.stat: - path: "/usr/local/bin/evm_testnet" + path: "/usr/local/bin/{{ bin_name }}" register: evm_testnet_binary -- name: clone safe_network repo +- name: clone autonomi repo ansible.builtin.git: - repo: https://github.com/{{ org }}/safe_network + repo: https://github.com/{{ org }}/autonomi version: "{{ branch }}" - dest: "{{ ansible_env.HOME }}/safe_network" + dest: "{{ ansible_env.HOME }}/autonomi" - name: "build {{ bin_name }} binary" ansible.builtin.shell: | source $HOME/.cargo/env cargo build --release --bin {{bin_name}} args: - chdir: "{{ ansible_env.HOME }}/safe_network" - creates: "{{ ansible_env.HOME }}/safe_network/target/release/{{bin_name}}" + chdir: "{{ ansible_env.HOME }}/autonomi" + creates: "{{ ansible_env.HOME }}/autonomi/target/release/{{bin_name}}" executable: /bin/bash - name: copy binary to /usr/local/bin ansible.builtin.command: - chdir: "{{ ansible_env.HOME }}/safe_network/target/release" + chdir: "{{ ansible_env.HOME }}/autonomi/target/release" cmd: cp {{bin_name}} /usr/local/bin when: not evm_testnet_binary.stat.exists @@ -53,4 +53,4 @@ ansible.builtin.systemd: name: evm_node state: started - enabled: yes \ No newline at end of file + enabled: yes diff --git a/resources/ansible/roles/evm_node/templates/evm_node.service.j2 b/resources/ansible/roles/evm_node/templates/evm_node.service.j2 index f47b8899..a9c0f515 100644 --- a/resources/ansible/roles/evm_node/templates/evm_node.service.j2 +++ b/resources/ansible/roles/evm_node/templates/evm_node.service.j2 @@ -3,10 +3,10 @@ Description=EVM Node After=network.target [Service] -User=safe +User=ant Environment=ANVIL_IP_ADDR={{ ansible_default_ipv4.address }} ExecStart=/usr/local/bin/{{ bin_name }} Restart=always [Install] -WantedBy=multi-user.target \ No newline at end of file +WantedBy=multi-user.target diff --git a/resources/ansible/roles/genesis-node/defaults/main.yml b/resources/ansible/roles/genesis-node/defaults/main.yml index 0b220e58..73a3a143 100644 --- a/resources/ansible/roles/genesis-node/defaults/main.yml +++ b/resources/ansible/roles/genesis-node/defaults/main.yml @@ -4,10 +4,10 @@ make_vm_private: False node_rpc_ip: "127.0.0.1" binary_dir: /usr/local/bin # If a custom branch / version is specified, this value must be overwritten. -node_archive_url: https://sn-node.s3.eu-west-2.amazonaws.com/safenode-latest-x86_64-unknown-linux-musl.tar.gz -node_archive_filename: safenode-latest-x86_64-unknown-linux-musl.tar.gz +antnode_archive_url: https://antnode.s3.eu-west-2.amazonaws.com/antnode-latest-x86_64-unknown-linux-musl.tar.gz +antnode_archive_filename: antnode-latest-x86_64-unknown-linux-musl.tar.gz # If a custom branch is specified, the URL must be changed to # "https://sn-node.s3.eu-west-2.amazonaws.com/{org}/{branch}/{bin_name}-{testnet_name}-x86_64-unknown-linux-musl.tar.gz" # Currently it is done directly inside the code -node_manager_archive_filename: safenode-manager-latest-x86_64-unknown-linux-musl.tar.gz -node_manager_archive_url: https://sn-node-manager.s3.eu-west-2.amazonaws.com/{{ node_manager_archive_filename }} \ No newline at end of file +antctl_archive_filename: antctl-latest-x86_64-unknown-linux-musl.tar.gz +antctl_archive_url: https://antctl.s3.eu-west-2.amazonaws.com/{{ antctl_archive_filename }} diff --git a/resources/ansible/roles/genesis-node/tasks/main.yml b/resources/ansible/roles/genesis-node/tasks/main.yml index 3107706c..c0fc6f64 100644 --- a/resources/ansible/roles/genesis-node/tasks/main.yml +++ b/resources/ansible/roles/genesis-node/tasks/main.yml @@ -12,7 +12,7 @@ - name: check if genesis node is already set up become: True - ansible.builtin.command: safenode-manager status --json + ansible.builtin.command: antctl status --json register: genesis_status - name: parse genesis node status @@ -26,12 +26,12 @@ argv: "{{ command_args | reject('equalto', omit) | list }}" vars: command_args: - - "{{ binary_dir }}/safenode-manager" + - "{{ binary_dir }}/antctl" - -v - add - --first - - --data-dir-path=/mnt/safenode-storage/data - - --log-dir-path=/mnt/safenode-storage/log + - --data-dir-path=/mnt/antnode-storage/data + - --log-dir-path=/mnt/antnode-storage/log - "--rpc-address={{ node_rpc_ip }}" - "--rewards-address={{ rewards_address }}" - "--max-archived-log-files={{ max_archived_log_files }}" @@ -47,4 +47,4 @@ - name: start the genesis node service become: True - command: safenode-manager -v start --interval {{ interval }} \ No newline at end of file + command: antctl -v start --interval {{ interval }} diff --git a/resources/ansible/roles/node-manager/defaults/main.yml b/resources/ansible/roles/node-manager/defaults/main.yml deleted file mode 100644 index 3ac96c3d..00000000 --- a/resources/ansible/roles/node-manager/defaults/main.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- -public_rpc: False -node_rpc_ip: "127.0.0.1" -node_instance_count: 20 -binary_dir: /usr/local/bin -node_manager_archive_filename: safenode-manager-latest-x86_64-unknown-linux-musl.tar.gz -node_manager_archive_url: https://sn-node-manager.s3.eu-west-2.amazonaws.com/{{ node_manager_archive_filename }} -safenodemand_archive_filename: safenodemand-latest-x86_64-unknown-linux-musl.tar.gz -safenodemand_archive_url: https://sn-node-manager.s3.eu-west-2.amazonaws.com/{{ safenodemand_archive_filename }} diff --git a/resources/ansible/roles/node-manager/tasks/main.yml b/resources/ansible/roles/node-manager/tasks/main.yml deleted file mode 100644 index d6176a89..00000000 --- a/resources/ansible/roles/node-manager/tasks/main.yml +++ /dev/null @@ -1,52 +0,0 @@ ---- -- name: check if safenode-manager binary exists - ansible.builtin.stat: - path: "{{ binary_dir}}/safenode-manager" - register: safenode_manager_binary - -- name: get the private IP for the instance - set_fact: - node_rpc_ip: "{{ instance_facts.instances[0].network_interfaces[0].private_ip_address }}" - when: provider == "aws" and public_rpc and not safenode_manager_binary.stat.exists - -- name: use the public IP as the RPC address on DO - set_fact: - node_rpc_ip: "{{ ansible_host }}" - when: provider == "digital-ocean" and public_rpc and not safenode_manager_binary.stat.exists - -- name: download the node manager binary - ansible.builtin.get_url: - url: "{{ node_manager_archive_url }}" - dest: /tmp/{{ node_manager_archive_filename }} - when: not safenode_manager_binary.stat.exists - -- name: extract the node manager binary to /usr/local/bin - become: True - ansible.builtin.unarchive: - src: "/tmp/{{ node_manager_archive_filename }}" - dest: "{{ binary_dir }}" - remote_src: True - when: not safenode_manager_binary.stat.exists - -- name: download the safenodemand binary - ansible.builtin.get_url: - url: "{{ safenodemand_archive_url }}" - dest: /tmp/{{ safenodemand_archive_filename }} - when: not safenode_manager_binary.stat.exists - -- name: extract the safenodemand binary to /tmp/safenodemand - become: True - ansible.builtin.unarchive: - src: "/tmp/{{ safenodemand_archive_filename }}" - dest: /tmp/ - remote_src: True - when: not safenode_manager_binary.stat.exists - -- name: add safenodemand - become: true - command: safenode-manager -v daemon add --address {{ node_rpc_ip }} --path /tmp/safenodemand - when: not safenode_manager_binary.stat.exists - -- name: start safenodemand - become: true - command: safenode-manager -v daemon start diff --git a/resources/ansible/roles/node/tasks/main.yml b/resources/ansible/roles/node/tasks/main.yml index 946fef60..20124126 100644 --- a/resources/ansible/roles/node/tasks/main.yml +++ b/resources/ansible/roles/node/tasks/main.yml @@ -15,7 +15,7 @@ # - name: check current number of node services become: True - ansible.builtin.command: safenode-manager status --json + ansible.builtin.command: antctl status --json register: node_status - name: calculate current non-genesis node count @@ -72,11 +72,11 @@ argv: "{{ command_args | reject('equalto', omit) | list }}" vars: command_args: - - "{{ binary_dir }}/safenode-manager" + - "{{ binary_dir }}/antctl" - -v - add - - --data-dir-path=/mnt/safenode-storage/data - - --log-dir-path=/mnt/safenode-storage/log + - --data-dir-path=/mnt/antnode-storage/data + - --log-dir-path=/mnt/antnode-storage/log - "--count={{ nodes_to_add }}" - "--owner=maidsafe" - "--peer={{ genesis_multiaddr }}" @@ -101,4 +101,4 @@ - name: start the node services become: True - command: safenode-manager -v start --interval {{ interval}} \ No newline at end of file + command: antctl -v start --interval {{ interval}} diff --git a/resources/ansible/roles/safenode_rpc_client/defaults/main.yml b/resources/ansible/roles/safenode_rpc_client/defaults/main.yml index 24aa3919..0f4dd4f6 100644 --- a/resources/ansible/roles/safenode_rpc_client/defaults/main.yml +++ b/resources/ansible/roles/safenode_rpc_client/defaults/main.yml @@ -4,7 +4,7 @@ branch: main # If a custom branch is specified, the URL must be changed to # "https://sn-node.s3.eu-west-2.amazonaws.com/{org}/{branch}/{bin_name}-{testnet_name}-x86_64-unknown-linux-musl.tar.gz" # Currently it is done directly inside the code -safenode_rpc_client_archive_filename: safenode_rpc_client-latest-x86_64-unknown-linux-musl.tar.gz -safenode_rpc_client_archive_url: https://sn-node-rpc-client.s3.eu-west-2.amazonaws.com/{{ safenode_rpc_client_archive_filename }} -safenode_rpc_client_archive_dest_path: /usr/local/bin -royalties_cash_notes_dir_path: /mnt/safenode-storage/log/safenode/royalties-cash-notes +antnode_rpc_client_archive_filename: antnode_rpc_client-latest-x86_64-unknown-linux-musl.tar.gz +antnode_rpc_client_archive_url: https://antnode-rpc-client.s3.eu-west-2.amazonaws.com/{{ antnode_rpc_client_archive_filename }} +antnode_rpc_client_archive_dest_path: /usr/local/bin +royalties_cash_notes_dir_path: /mnt/antnode-storage/log/antnode/royalties-cash-notes diff --git a/resources/ansible/roles/safenode_rpc_client/tasks/main.yml b/resources/ansible/roles/safenode_rpc_client/tasks/main.yml index 7ff765e2..9c4b1949 100644 --- a/resources/ansible/roles/safenode_rpc_client/tasks/main.yml +++ b/resources/ansible/roles/safenode_rpc_client/tasks/main.yml @@ -1,14 +1,14 @@ --- - name: get the latest version or a custom build of the RPC client ansible.builtin.get_url: - url: "{{ safenode_rpc_client_archive_url }}" - dest: /tmp/{{ safenode_rpc_client_archive_filename }} + url: "{{ antnode_rpc_client_archive_url }}" + dest: /tmp/{{ antnode_rpc_client_archive_filename }} - name: extract the RPC client binary to /usr/local/bin become: True ansible.builtin.unarchive: - src: "/tmp/{{ safenode_rpc_client_archive_filename }}" - dest: "{{ safenode_rpc_client_archive_dest_path }}" + src: "/tmp/{{ antnode_rpc_client_archive_filename }}" + dest: "{{ antnode_rpc_client_archive_dest_path }}" remote_src: True # The `node_rpc_ip` is used in the service definition file. @@ -22,21 +22,21 @@ node_rpc_ip: "{{ ansible_host }}" when: provider == "digital-ocean" -# Read the genesis RPC SocketAddr by parsing the safenode-manager registry file -- name: copy the safenode registry file +# Read the genesis RPC SocketAddr by parsing the antnode-manager registry file +- name: copy the antnode registry file become: true - shell: cat /var/safenode-manager/node_registry.json - register: safenode_registry + shell: cat /var/antctl/node_registry.json + register: antnode_registry - name: Parse genesis RPC socket addr set_fact: - genesis_rpc_socket_addr: "{{ (safenode_registry.stdout | from_json).nodes[0].rpc_socket_addr }}" + genesis_rpc_socket_addr: "{{ (antnode_registry.stdout | from_json).nodes[0].rpc_socket_addr }}" -- name: copy safenode_rpc_client service file +- name: copy antnode_rpc_client service file become: True template: - src: safenode_rpc_client.service.j2 - dest: /etc/systemd/system/safenode_rpc_client.service + src: antnode_rpc_client.service.j2 + dest: /etc/systemd/system/antnode_rpc_client.service register: service_template_created - name: reload the system manager configuration @@ -44,9 +44,9 @@ command: systemctl daemon-reload when: service_template_created.changed -- name: start the safenode_rpc_client service to store network royalties cash notes to disk +- name: start the antnode_rpc_client service to store network royalties cash notes to disk become: True systemd: - name: safenode_rpc_client + name: antnode_rpc_client state: started enabled: yes diff --git a/resources/ansible/roles/telegraf-configuration/tasks/main.yml b/resources/ansible/roles/telegraf-configuration/tasks/main.yml index 68800f36..11795a3f 100644 --- a/resources/ansible/roles/telegraf-configuration/tasks/main.yml +++ b/resources/ansible/roles/telegraf-configuration/tasks/main.yml @@ -113,8 +113,8 @@ become: True command: systemctl start telegraf-elasticsearch.service -- name: start telegraf service - systemd: - name: telegraf - enabled: yes - state: started +# - name: start telegraf service +# systemd: +# name: telegraf +# enabled: yes +# state: started diff --git a/resources/ansible/roles/uploaders/defaults/main.yml b/resources/ansible/roles/uploaders/defaults/main.yml index 31c4f0a1..b3c40697 100644 --- a/resources/ansible/roles/uploaders/defaults/main.yml +++ b/resources/ansible/roles/uploaders/defaults/main.yml @@ -1,3 +1,3 @@ binary_dir: /usr/local/bin -autonomi_archive_filename: autonomi-latest-x86_64-unknown-linux-musl.tar.gz -autonomi_archive_url: https://autonomi-cli.s3.eu-west-2.amazonaws.com/{{ autonomi_archive_filename }} \ No newline at end of file +ant_archive_filename: ant-latest-x86_64-unknown-linux-musl.tar.gz +ant_archive_url: https://autonomi-cli.s3.eu-west-2.amazonaws.com/{{ autonomi_archive_filename }} diff --git a/resources/ansible/roles/uploaders/tasks/main.yml b/resources/ansible/roles/uploaders/tasks/main.yml index e7927a1a..c8fa72ce 100644 --- a/resources/ansible/roles/uploaders/tasks/main.yml +++ b/resources/ansible/roles/uploaders/tasks/main.yml @@ -1,69 +1,69 @@ --- -- name: check if autonomi binary exists +- name: check if ant binary exists ansible.builtin.stat: - path: "{{ binary_dir }}/autonomi" - register: autonomi_binary + path: "{{ binary_dir }}/ant" + register: ant_binary -- name: download the autonomi binary +- name: download the ant binary ansible.builtin.get_url: - url: "{{ autonomi_archive_url }}" - dest: "/tmp/{{ autonomi_archive_filename }}" - when: not autonomi_binary.stat.exists + url: "{{ ant_archive_url }}" + dest: "/tmp/{{ ant_archive_filename }}" + when: not ant_binary.stat.exists -- name: extract the autonomi binary to /usr/local/bin +- name: extract the ant binary to /usr/local/bin ansible.builtin.unarchive: - src: "/tmp/{{ autonomi_archive_filename }}" + src: "/tmp/{{ ant_archive_filename }}" dest: "{{ binary_dir }}" remote_src: true become: true - when: not autonomi_binary.stat.exists + when: not ant_binary.stat.exists -- name: create safe users +- name: create ant users ansible.builtin.user: - name: "safe{{ item }}" + name: "ant{{ item }}" shell: /bin/bash state: present - loop: "{{ range(1, autonomi_uploader_instances | int + 1) | list }}" + loop: "{{ range(1, ant_uploader_instances | int + 1) | list }}" -- name: copy upload-random-data.sh to remote for each safe user +- name: copy upload-random-data.sh to remote for each ant user ansible.builtin.template: src: upload-random-data.sh.j2 - dest: "/home/safe{{ item }}/upload-random-data.sh" - owner: "safe{{ item }}" - group: "safe{{ item }}" + dest: "/home/ant{{ item }}/upload-random-data.sh" + owner: "ant{{ item }}" + group: "ant{{ item }}" mode: '0744' become: true - become_user: "safe{{ item }}" - loop: "{{ range(1, autonomi_uploader_instances | int + 1) | list }}" + become_user: "ant{{ item }}" + loop: "{{ range(1, ant_uploader_instances | int + 1) | list }}" - name: Check if systemd service file exists ansible.builtin.stat: - path: "/etc/systemd/system/autonomi_uploader_{{ item }}.service" + path: "/etc/systemd/system/ant_uploader_{{ item }}.service" register: service_file_stat - loop: "{{ range(1, autonomi_uploader_instances | int + 1) | list }}" + loop: "{{ range(1, ant_uploader_instances | int + 1) | list }}" - name: Retrieve secret keys set_fact: - secret_keys_per_machine: "{{ autonomi_secret_key_map[inventory_hostname] | regex_replace('\"', '') }}" + secret_keys_per_machine: "{{ ant_secret_key_map[inventory_hostname] | regex_replace('\"', '') }}" - name: create systemd service file ansible.builtin.template: - src: autonomi_uploader.service.j2 - dest: "/etc/systemd/system/autonomi_uploader_{{ item.0 }}.service" - owner: "safe{{ item.0 }}" - group: "safe{{ item.0 }}" + src: ant_uploader.service.j2 + dest: "/etc/systemd/system/ant_uploader_{{ item.0 }}.service" + owner: "ant{{ item.0 }}" + group: "ant{{ item.0 }}" mode: '0644' become: true when: not service_file_stat.results[item.0 - 1].stat.exists - loop: "{{ range(1, autonomi_uploader_instances | int + 1) | zip(secret_keys_per_machine) }}" + loop: "{{ range(1, ant_uploader_instances | int + 1) | zip(secret_keys_per_machine) }}" vars: count: "{{ item.0 }}" secret_key: "{{ item.1 }}" -- name: start and enable autonomi_uploader service for each uploader +- name: start and enable ant_uploader service for each uploader ansible.builtin.systemd: - name: "autonomi_uploader_{{ item }}" + name: "ant_uploader_{{ item }}" state: started enabled: yes become: true - loop: "{{ range(1, autonomi_uploader_instances | int + 1) | list }}" + loop: "{{ range(1, ant_uploader_instances | int + 1) | list }}" diff --git a/resources/ansible/roles/uploaders/templates/autonomi_uploader.service.j2 b/resources/ansible/roles/uploaders/templates/ant_uploader.service.j2 similarity index 77% rename from resources/ansible/roles/uploaders/templates/autonomi_uploader.service.j2 rename to resources/ansible/roles/uploaders/templates/ant_uploader.service.j2 index 63a94089..b9c19522 100644 --- a/resources/ansible/roles/uploaders/templates/autonomi_uploader.service.j2 +++ b/resources/ansible/roles/uploaders/templates/ant_uploader.service.j2 @@ -13,14 +13,14 @@ Environment="EVM_NETWORK=arbitrum-sepolia" {% elif evm_network_type == "evm-arbitrum-one" %} Environment="EVM_NETWORK=arbitrum-one" {% endif %} -User=safe{{ count }} +User=ant{{ count }} {% if testnet_name.startswith('PROD-') %} -ExecStart=/home/safe{{ count }}/upload-random-data.sh +ExecStart=/home/ant{{ count }}/upload-random-data.sh {% else %} -ExecStart=/home/safe{{ count }}/upload-random-data.sh {{ genesis_multiaddr }} +ExecStart=/home/ant{{ count }}/upload-random-data.sh {{ genesis_multiaddr }} {% endif %} Restart=always -WorkingDirectory=/home/safe{{ count }} +WorkingDirectory=/home/ant{{ count }} [Install] WantedBy=multi-user.target diff --git a/resources/ansible/roles/uploaders/templates/upload-random-data.sh.j2 b/resources/ansible/roles/uploaders/templates/upload-random-data.sh.j2 index 51efda43..9c8b78ca 100755 --- a/resources/ansible/roles/uploaders/templates/upload-random-data.sh.j2 +++ b/resources/ansible/roles/uploaders/templates/upload-random-data.sh.j2 @@ -16,8 +16,8 @@ fi CONTACT_PEER_ARG="" {% endif %} -if ! command -v autonomi &> /dev/null; then - echo "Error: 'autonomi' not found in PATH." +if ! command -v ant &> /dev/null; then + echo "Error: 'ant' not found in PATH." exit 1 fi @@ -52,7 +52,7 @@ generate_random_data_file_and_upload() { file_size_kb=$(du -k "$tmpfile" | cut -f1) now=$(date +"%s") - stdout=$(autonomi $CONTACT_PEER_ARG file upload "$tmpfile" 2>&1) + stdout=$(ant $CONTACT_PEER_ARG file upload "$tmpfile" 2>&1) echo "$stdout" if [ $? -eq 0 ]; then @@ -81,5 +81,5 @@ while true; do echo "Generating and uploading file..." generate_random_data_file_and_upload # TODO: re-enable when the new CLI has a `wallet balance` command - # echo "$(autonomi $CONTACT_PEER_ARG wallet balance)" + # echo "$(ant $CONTACT_PEER_ARG wallet balance)" done diff --git a/resources/ansible/start_uploaders.yml b/resources/ansible/start_uploaders.yml index 1e84de4b..1a2e5eb1 100644 --- a/resources/ansible/start_uploaders.yml +++ b/resources/ansible/start_uploaders.yml @@ -1,12 +1,12 @@ --- -- name: ensure the safe uploader service is started +- name: ensure the ant uploader service is started hosts: all become: True tasks: - name: stop all autonomi uploader service ansible.builtin.systemd: - name: "autonomi_uploader_{{ item }}" + name: "ant_uploader_{{ item }}" state: started enabled: yes become: true - loop: "{{ range(1, autonomi_uploader_instances | int + 1) | list }}" \ No newline at end of file + loop: "{{ range(1, ant_uploader_instances | int + 1) | list }}" diff --git a/resources/ansible/stop_uploaders.yml b/resources/ansible/stop_uploaders.yml index cf65faa7..e10d2e2e 100644 --- a/resources/ansible/stop_uploaders.yml +++ b/resources/ansible/stop_uploaders.yml @@ -5,9 +5,9 @@ tasks: - name: stop all autonomi uploader service ansible.builtin.systemd: - name: "autonomi_uploader_{{ item }}" + name: "ant_uploader_{{ item }}" state: stopped enabled: yes become: true - loop: "{{ range(1, autonomi_uploader_instances | int + 1) | list }}" - ignore_errors: "{{ skip_err | default(false) }}" \ No newline at end of file + loop: "{{ range(1, ant_uploader_instances | int + 1) | list }}" + ignore_errors: "{{ skip_err | default(false) }}" diff --git a/resources/ansible/upgrade_uploaders.yml b/resources/ansible/upgrade_uploaders.yml index dd92ebc1..5b252043 100644 --- a/resources/ansible/upgrade_uploaders.yml +++ b/resources/ansible/upgrade_uploaders.yml @@ -3,56 +3,56 @@ hosts: all become: True vars: - autonomi_version: "{{ autonomi_version }}" - autonomi_archive_url: "https://autonomi-cli.s3.eu-west-2.amazonaws.com/autonomi-{{ autonomi_version }}-x86_64-unknown-linux-musl.tar.gz" + ant_version: "{{ ant_version }}" + ant_archive_url: "https://autonomi-cli.s3.eu-west-2.amazonaws.com/ant-{{ ant_version }}-x86_64-unknown-linux-musl.tar.gz" tasks: - - name: get list of safe users - ansible.builtin.shell: "getent passwd | grep '^safe[0-9]\\+:' | cut -d: -f1" - register: safe_users + - name: get list of ant users + ansible.builtin.shell: "getent passwd | grep '^ant[0-9]\\+:' | cut -d: -f1" + register: ant_users changed_when: false - name: stop all uploader services systemd: - name: "autonomi_uploader_{{ item | regex_replace('safe([0-9]+)', '\\1') }}" + name: "ant_uploader_{{ item | regex_replace('ant([0-9]+)', '\\1') }}" state: stopped - loop: "{{ safe_users.stdout_lines }}" + loop: "{{ ant_users.stdout_lines }}" - # It is safer to make sure both of these are removed, because Ansible may not re-download and + # It is antr to make sure both of these are removed, because Ansible may not re-download and # replace them if they already exist. - - name: remove existing autonomi binary + - name: remove existing ant binary ansible.builtin.file: - path: /usr/local/bin/autonomi + path: /usr/local/bin/ant state: absent - - name: remove existing autonomi archive + - name: remove existing ant archive ansible.builtin.file: - path: /tmp/autonomi-latest-x86_64-unknown-linux-musl.tar.gz + path: /tmp/ant-latest-x86_64-unknown-linux-musl.tar.gz state: absent - - name: download the new autonomi binary + - name: download the new ant binary ansible.builtin.get_url: - url: "{{ autonomi_archive_url }}" - dest: /tmp/autonomi-latest-x86_64-unknown-linux-musl.tar.gz + url: "{{ ant_archive_url }}" + dest: /tmp/ant-latest-x86_64-unknown-linux-musl.tar.gz - - name: extract the new autonomi binary + - name: extract the new ant binary ansible.builtin.unarchive: - src: /tmp/autonomi-latest-x86_64-unknown-linux-musl.tar.gz + src: /tmp/ant-latest-x86_64-unknown-linux-musl.tar.gz dest: /usr/local/bin remote_src: True - - name: copy upload-random-data.sh to remote for each safe user + - name: copy upload-random-data.sh to remote for each ant user ansible.builtin.template: src: roles/uploaders/templates/upload-random-data.sh.j2 - dest: "/home/safe{{ item | regex_replace('safe([0-9]+)', '\\1') }}/upload-random-data.sh" - owner: "safe{{ item | regex_replace('safe([0-9]+)', '\\1') }}" - group: "safe{{ item | regex_replace('safe([0-9]+)', '\\1') }}" + dest: "/home/ant{{ item | regex_replace('ant([0-9]+)', '\\1') }}/upload-random-data.sh" + owner: "ant{{ item | regex_replace('ant([0-9]+)', '\\1') }}" + group: "ant{{ item | regex_replace('ant([0-9]+)', '\\1') }}" mode: '0744' - become_user: "safe{{ item | regex_replace('safe([0-9]+)', '\\1') }}" - loop: "{{ safe_users.stdout_lines }}" + become_user: "ant{{ item | regex_replace('ant([0-9]+)', '\\1') }}" + loop: "{{ ant_users.stdout_lines }}" - name: start all uploader services systemd: - name: "autonomi_uploader_{{ item | regex_replace('safe([0-9]+)', '\\1') }}" + name: "ant_uploader_{{ item | regex_replace('ant([0-9]+)', '\\1') }}" state: started enabled: true - loop: "{{ safe_users.stdout_lines }}" \ No newline at end of file + loop: "{{ ant_users.stdout_lines }}" diff --git a/resources/scripts/copy_node_logs.sh b/resources/scripts/copy_node_logs.sh index eca3be26..a37286d9 100644 --- a/resources/scripts/copy_node_logs.sh +++ b/resources/scripts/copy_node_logs.sh @@ -10,4 +10,4 @@ else fi # Find all .log files and copy them to tmpdir preserving the same directory structure -rsync -avm --include='*.log*' -f 'hide,! */' /mnt/safenode-storage/log/safenode/ tmpdir/ +rsync -avm --include='*.log*' -f 'hide,! */' /mnt/antnode-storage/log/antnode/ tmpdir/ diff --git a/resources/scripts/get_peer_multiaddr.sh b/resources/scripts/get_peer_multiaddr.sh index 0fd50d42..26a69d2e 100644 --- a/resources/scripts/get_peer_multiaddr.sh +++ b/resources/scripts/get_peer_multiaddr.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -rg "is listening on " /mnt/safenode-storage/log/safenode/ | \ +rg "is listening on " /mnt/antnode-storage/log/antnode/ | \ rg -v "ip4/10." | rg -v "ip4/127." | sort -k1.90,1.119 | head -n +1 | \ sed -n 's/.*"\(.*\)".*/\1/p' diff --git a/resources/scripts/resource-usage.sh b/resources/scripts/resource-usage.sh index 1edb113f..f3fc3c07 100644 --- a/resources/scripts/resource-usage.sh +++ b/resources/scripts/resource-usage.sh @@ -1,8 +1,8 @@ #!/bin/bash -NODE_ROOT_DIR_PATH="/mnt/safenode-storage/safenode-manager/services" -NODE_LOG_DIR_PATH="/mnt/safenode-storage/log/safenode" -LOGFILE=/mnt/safenode-storage/log/safenode/resource-usage.log +NODE_ROOT_DIR_PATH="/mnt/antnode-storage/antctl/services" +NODE_LOG_DIR_PATH="/mnt/antnode-storage/log/antlog" +LOGFILE=/mnt/antnode-storage/log/antnode/resource-usage.log exec > >(tee -a $LOGFILE) 2>&1 @@ -81,4 +81,4 @@ while true; do # sleep 15 minutes before running again sleep 900 -done \ No newline at end of file +done diff --git a/src/ansible/extra_vars.rs b/src/ansible/extra_vars.rs index 9693474f..861205e9 100644 --- a/src/ansible/extra_vars.rs +++ b/src/ansible/extra_vars.rs @@ -13,10 +13,12 @@ use alloy::signers::local::PrivateKeySigner; use serde_json::Value; use std::collections::HashMap; -const NODE_S3_BUCKET_URL: &str = "https://sn-node.s3.eu-west-2.amazonaws.com"; -const NODE_MANAGER_S3_BUCKET_URL: &str = "https://sn-node-manager.s3.eu-west-2.amazonaws.com"; -const RPC_CLIENT_BUCKET_URL: &str = "https://sn-node-rpc-client.s3.eu-west-2.amazonaws.com"; -const AUTONOMI_S3_BUCKET_URL: &str = "https://autonomi-cli.s3.eu-west-2.amazonaws.com"; +const ANT_S3_BUCKET_URL: &str = "https://autonomi-cli.s3.eu-west-2.amazonaws.com"; +const ANTCTL_S3_BUCKET_URL: &str = "https://antctl.s3.eu-west-2.amazonaws.com"; +// The old `sn-node` S3 bucket will continue to be used to store custom branch builds. +// They are stored in here regardless of which binary they are. +const BRANCH_S3_BUCKET_URL: &str = "https://sn-node.s3.eu-west-2.amazonaws.com"; +const RPC_CLIENT_BUCKET_URL: &str = "https://antnode-rpc-client.s3.eu-west-2.amazonaws.com"; #[derive(Default, Clone)] pub struct ExtraVarsDocBuilder { @@ -75,7 +77,7 @@ impl ExtraVarsDocBuilder { BinaryOption::BuildFromSource { repo_owner, branch, - safenode_features, + antnode_features, protocol_version, network_keys, } => { @@ -83,8 +85,8 @@ impl ExtraVarsDocBuilder { self.add_variable("testnet_name", deployment_name); self.add_variable("org", repo_owner); self.add_variable("branch", branch); - if let Some(features) = safenode_features { - self.add_variable("safenode_features_list", features); + if let Some(features) = antnode_features { + self.add_variable("antnode_features_list", features); } if let Some(protocol_version) = protocol_version { self.add_variable("protocol_version", protocol_version); @@ -112,10 +114,10 @@ impl ExtraVarsDocBuilder { repo_owner, branch, .. } => { self.add_branch_url_variable( - "safenode_rpc_client_archive_url", + "antnode_rpc_client_archive_url", &format!( - "{}/{}/{}/safenode_rpc_client-{}-x86_64-unknown-linux-musl.tar.gz", - NODE_S3_BUCKET_URL, repo_owner, branch, deployment_name + "{}/{}/{}/antnode_rpc_client-{}-x86_64-unknown-linux-musl.tar.gz", + BRANCH_S3_BUCKET_URL, repo_owner, branch, deployment_name ), branch, repo_owner, @@ -123,9 +125,9 @@ impl ExtraVarsDocBuilder { } _ => { self.add_variable( - "safenode_rpc_client_archive_url", + "antnode_rpc_client_archive_url", &format!( - "{}/safenode_rpc_client-latest-x86_64-unknown-linux-musl.tar.gz", + "{}/antnode_rpc_client-latest-x86_64-unknown-linux-musl.tar.gz", RPC_CLIENT_BUCKET_URL ), ); @@ -141,65 +143,58 @@ impl ExtraVarsDocBuilder { self.add_branch_url_variable( "node_archive_url", &format!( - "{}/{}/{}/safenode-{}-x86_64-unknown-linux-musl.tar.gz", - NODE_S3_BUCKET_URL, repo_owner, branch, deployment_name + "{}/{}/{}/antnode-{}-x86_64-unknown-linux-musl.tar.gz", + BRANCH_S3_BUCKET_URL, repo_owner, branch, deployment_name ), branch, repo_owner, ); } BinaryOption::Versioned { - safenode_version, .. + antnode_version, .. } => { - let _ = self.add_variable("version", &safenode_version.to_string()); + let _ = self.add_variable("version", &antnode_version.to_string()); } } } - pub fn add_node_manager_url(&mut self, deployment_name: &str, binary_option: &BinaryOption) { + pub fn add_antctl_url(&mut self, deployment_name: &str, binary_option: &BinaryOption) { match binary_option { BinaryOption::BuildFromSource { repo_owner, branch, .. } => { self.add_branch_url_variable( - "node_manager_archive_url", + "antctl_archive_url", &format!( - "{}/{}/{}/safenode-manager-{}-x86_64-unknown-linux-musl.tar.gz", - NODE_S3_BUCKET_URL, repo_owner, branch, deployment_name + "{}/{}/{}/antctl-{}-x86_64-unknown-linux-musl.tar.gz", + BRANCH_S3_BUCKET_URL, repo_owner, branch, deployment_name ), branch, repo_owner, ); } - BinaryOption::Versioned { - safenode_manager_version, - .. - } => { + BinaryOption::Versioned { antctl_version, .. } => { self.add_variable( - "node_manager_archive_url", + "antctl_archive_url", &format!( - "{}/safenode-manager-{}-x86_64-unknown-linux-musl.tar.gz", - NODE_MANAGER_S3_BUCKET_URL, safenode_manager_version + "{}/antctl-{}-x86_64-unknown-linux-musl.tar.gz", + ANTCTL_S3_BUCKET_URL, antctl_version ), ); } } } - pub fn add_node_manager_daemon_url( - &mut self, - deployment_name: &str, - binary_option: &BinaryOption, - ) { + pub fn add_antctld_url(&mut self, deployment_name: &str, binary_option: &BinaryOption) { match binary_option { BinaryOption::BuildFromSource { repo_owner, branch, .. } => { self.add_branch_url_variable( - "safenodemand_archive_url", + "antctld_archive_url", &format!( - "{}/{}/{}/safenodemand-{}-x86_64-unknown-linux-musl.tar.gz", - NODE_S3_BUCKET_URL, repo_owner, branch, deployment_name + "{}/{}/{}/antctld-{}-x86_64-unknown-linux-musl.tar.gz", + BRANCH_S3_BUCKET_URL, repo_owner, branch, deployment_name ), branch, repo_owner, @@ -207,31 +202,31 @@ impl ExtraVarsDocBuilder { } _ => { self.add_variable( - "safenodemand_archive_url", + "antctld_archive_url", &format!( - "{}/safenodemand-latest-x86_64-unknown-linux-musl.tar.gz", - NODE_MANAGER_S3_BUCKET_URL, + "{}/antctld-latest-x86_64-unknown-linux-musl.tar.gz", + ANTCTL_S3_BUCKET_URL, ), ); } } } - pub fn add_autonomi_url_or_version( + pub fn add_ant_url_or_version( &mut self, deployment_name: &str, binary_option: &BinaryOption, - safe_version: Option, + ant_version: Option, ) -> Result<(), Error> { // This applies when upscaling the uploaders. // In that scenario, the safe version in the binary option is not set to the correct value // because it is not recorded in the inventory. - if let Some(version) = safe_version { + if let Some(version) = ant_version { self.add_variable( - "autonomi_archive_url", + "ant_archive_url", &format!( - "{}/autonomi-{}-x86_64-unknown-linux-musl.tar.gz", - AUTONOMI_S3_BUCKET_URL, version + "{}/ant-{}-x86_64-unknown-linux-musl.tar.gz", + ANT_S3_BUCKET_URL, version ), ); return Ok(()); @@ -242,23 +237,23 @@ impl ExtraVarsDocBuilder { repo_owner, branch, .. } => { self.add_branch_url_variable( - "autonomi_archive_url", + "ant_archive_url", &format!( - "{}/{}/{}/autonomi-{}-x86_64-unknown-linux-musl.tar.gz", - NODE_S3_BUCKET_URL, repo_owner, branch, deployment_name + "{}/{}/{}/ant-{}-x86_64-unknown-linux-musl.tar.gz", + BRANCH_S3_BUCKET_URL, repo_owner, branch, deployment_name ), branch, repo_owner, ); Ok(()) } - BinaryOption::Versioned { safe_version, .. } => match safe_version { + BinaryOption::Versioned { ant_version, .. } => match ant_version { Some(version) => { self.add_variable( - "autonomi_archive_url", + "ant_archive_url", &format!( - "{}/autonomi-{}-x86_64-unknown-linux-musl.tar.gz", - AUTONOMI_S3_BUCKET_URL, version + "{}/ant-{}-x86_64-unknown-linux-musl.tar.gz", + ANT_S3_BUCKET_URL, version ), ); Ok(()) @@ -333,8 +328,8 @@ pub fn build_node_extra_vars_doc( } extra_vars.add_node_url_or_version(&options.name, &options.binary_option); - extra_vars.add_node_manager_url(&options.name, &options.binary_option); - extra_vars.add_node_manager_daemon_url(&options.name, &options.binary_option); + extra_vars.add_antctl_url(&options.name, &options.binary_option); + extra_vars.add_antctld_url(&options.name, &options.binary_option); if let Some(env_vars) = &options.env_variables { extra_vars.add_env_variable_list("env_variables", env_vars.clone()); @@ -393,13 +388,13 @@ pub fn build_uploaders_extra_vars_doc( "safe_downloader_instances", &options.downloaders_count.to_string(), ); - extra_vars.add_autonomi_url_or_version( + extra_vars.add_ant_url_or_version( &options.name, &options.binary_option, - options.safe_version.clone(), + options.ant_version.clone(), )?; extra_vars.add_variable( - "autonomi_uploader_instances", + "ant_uploader_instances", &options.uploaders_count.unwrap_or(1).to_string(), ); extra_vars.add_variable("evm_network_type", &options.evm_network.to_string()); @@ -424,7 +419,7 @@ pub fn build_uploaders_extra_vars_doc( } let serde_map = Value::Object(serde_map); - extra_vars.add_serde_value("autonomi_secret_key_map", serde_map); + extra_vars.add_serde_value("ant_secret_key_map", serde_map); Ok(extra_vars.build()) } @@ -438,7 +433,7 @@ pub fn build_start_or_stop_uploader_extra_vars_doc( extra_vars.add_variable("provider", cloud_provider); extra_vars.add_variable("testnet_name", &options.name); extra_vars.add_variable( - "autonomi_uploader_instances", + "ant_uploader_instances", &options.uploaders_count.unwrap_or(1).to_string(), ); extra_vars.add_variable("skip_err", &skip_err.to_string()); diff --git a/src/ansible/mod.rs b/src/ansible/mod.rs index 39ed9078..a01381f4 100644 --- a/src/ansible/mod.rs +++ b/src/ansible/mod.rs @@ -50,6 +50,11 @@ impl AnsibleBinary { /// Represents the playbooks that apply to our own domain. pub enum AnsiblePlaybook { + /// The antctl inventory playbook will retrieve antctl's inventory from any machines it is run + /// against. + /// + /// Use in combination with `AnsibleInventoryType::Genesis` or `AnsibleInventoryType::Nodes`. + AntCtlInventory, /// The auditor playbook will provision setup the auditor to run as a service. The auditor is /// typically running on a separate auditor machine, but can be run from any machine. /// @@ -102,11 +107,6 @@ pub enum AnsiblePlaybook { /// /// Use in combination with `AnsibleInventoryType::NatGateway`. NatGateway, - /// The node manager inventory playbook will retrieve the node manager's inventory from any - /// machines it is run against. - /// - /// Use in combination with `AnsibleInventoryType::Genesis` or `AnsibleInventoryType::Nodes`. - NodeManagerInventory, /// The node playbook will setup any nodes except the genesis node. These nodes will bootstrap /// using genesis as a peer reference. /// @@ -176,6 +176,7 @@ pub enum AnsiblePlaybook { impl AnsiblePlaybook { pub fn get_playbook_name(&self) -> String { match self { + AnsiblePlaybook::AntCtlInventory => "antctl_inventory.yml".to_string(), AnsiblePlaybook::Auditor => "auditor.yml".to_string(), AnsiblePlaybook::Build => "build.yml".to_string(), AnsiblePlaybook::CleanupLogs => "cleanup_logs.yml".to_string(), @@ -188,7 +189,6 @@ impl AnsiblePlaybook { AnsiblePlaybook::Genesis => "genesis_node.yml".to_string(), AnsiblePlaybook::Logstash => "logstash.yml".to_string(), AnsiblePlaybook::NatGateway => "nat_gateway.yml".to_string(), - AnsiblePlaybook::NodeManagerInventory => "node_manager_inventory.yml".to_string(), AnsiblePlaybook::Nodes => "nodes.yml".to_string(), AnsiblePlaybook::RpcClient => "safenode_rpc_client.yml".to_string(), AnsiblePlaybook::StartFaucet => "start_faucet.yml".to_string(), diff --git a/src/ansible/provisioning.rs b/src/ansible/provisioning.rs index 3781b9b1..f322ef03 100644 --- a/src/ansible/provisioning.rs +++ b/src/ansible/provisioning.rs @@ -18,10 +18,10 @@ use crate::{ print_duration, BinaryOption, CloudProvider, EvmNetwork, LogFormat, NodeType, SshClient, UpgradeOptions, }; +use ant_service_management::NodeRegistry; use evmlib::common::U256; use log::{debug, error, trace}; use semver::Version; -use sn_service_management::NodeRegistry; use std::{ net::SocketAddr, path::PathBuf, @@ -36,6 +36,10 @@ pub const DEFAULT_BETA_ENCRYPTION_KEY: &str = #[derive(Clone)] pub struct ProvisionOptions { + /// The safe version is also in the binary option, but only for an initial deployment. + /// For the upscale, it needs to be provided explicitly, because currently it is not + /// recorded in the inventory. + pub ant_version: Option, pub binary_option: BinaryOption, pub bootstrap_node_count: u16, pub chunk_size: Option, @@ -60,10 +64,6 @@ pub struct ProvisionOptions { pub private_node_count: u16, pub private_node_vms: Vec, pub public_rpc: bool, - /// The safe version is also in the binary option, but only for an initial deployment. - /// For the upscale, it needs to be provided explicitly, because currently it is not - /// recorded in the inventory. - pub safe_version: Option, pub uploaders_count: Option, pub rewards_address: String, } @@ -95,7 +95,7 @@ impl From for ProvisionOptions { private_node_vms: Vec::new(), public_rpc: false, rewards_address: bootstrap_options.rewards_address, - safe_version: None, + ant_version: None, uploaders_count: None, } } @@ -127,7 +127,7 @@ impl From for ProvisionOptions { public_rpc: deploy_options.public_rpc, private_node_count: deploy_options.private_node_count, private_node_vms: Vec::new(), - safe_version: None, + ant_version: None, uploaders_count: Some(deploy_options.uploaders_count), rewards_address: deploy_options.rewards_address, } @@ -218,7 +218,7 @@ impl AnsibleProvisioner { let temp_dir_json = serde_json::to_string(&temp_dir_path)?; self.ansible_runner.run_playbook( - AnsiblePlaybook::NodeManagerInventory, + AnsiblePlaybook::AntCtlInventory, *inventory_type, Some(format!("{{ \"dest\": {temp_dir_json} }}")), )?; diff --git a/src/funding.rs b/src/funding.rs index 5e6b17db..7e38e09d 100644 --- a/src/funding.rs +++ b/src/funding.rs @@ -216,7 +216,7 @@ impl AnsibleProvisioner { "Fetching uploader count for {} @ {}", vm.name, vm.public_ip_addr ); - let cmd = "systemctl list-units --type=service --all | grep autonomi_uploader_ | wc -l"; + let cmd = "systemctl list-units --type=service --all | grep ant_uploader_ | wc -l"; let result = self .ssh_client .run_command(&vm.public_ip_addr, "root", cmd, true); @@ -274,7 +274,7 @@ impl AnsibleProvisioner { // the playbook expects them in order for count in 1..=instance_count { let cmd = format!( - "systemctl show autonomi_uploader_{count}.service --property=Environment | grep SECRET_KEY | cut -d= -f3 | awk '{{print $1}}'" + "systemctl show ant_uploader_{count}.service --property=Environment | grep SECRET_KEY | cut -d= -f3 | awk '{{print $1}}'" ); debug!("Fetching secret key for {} instance {count}", vm.name); let result = self diff --git a/src/inventory.rs b/src/inventory.rs index fa8828c3..7029771d 100644 --- a/src/inventory.rs +++ b/src/inventory.rs @@ -21,12 +21,12 @@ use crate::{ TestnetDeployer, }; use alloy::hex::ToHexExt; +use ant_service_management::{NodeRegistry, ServiceStatus}; use color_eyre::{eyre::eyre, Result}; use log::debug; use rand::seq::{IteratorRandom, SliceRandom}; use semver::Version; use serde::{Deserialize, Serialize}; -use sn_service_management::{NodeRegistry, ServiceStatus}; use std::{ collections::{HashMap, HashSet}, convert::From, @@ -243,7 +243,7 @@ impl DeploymentInventoryService { let binary_option = if let Some(binary_option) = binary_option { binary_option } else { - let safenode_version = match environment_details.deployment_type { + let antnode_version = match environment_details.deployment_type { DeploymentType::New => { let (_, genesis_node_registry) = genesis_node_registry .retrieved_registries @@ -266,7 +266,7 @@ impl DeploymentInventoryService { .parse()?, }; - let safenode_manager_version = { + let antctl_version = { let mut random_vm = None; if !generic_node_vms.is_empty() { random_vm = generic_node_vms.first().cloned(); @@ -282,37 +282,29 @@ impl DeploymentInventoryService { )); }; - self.get_bin_version( - &random_vm.vm, - "safenode-manager --version", - "Autonomi Node Manager v", - )? + self.get_bin_version(&random_vm.vm, "antctl --version", "Autonomi Node Manager v")? }; - let safe_version = if environment_details.deployment_type != DeploymentType::Bootstrap { + let ant_version = if environment_details.deployment_type != DeploymentType::Bootstrap { let random_uploader_vm = uploader_vms .choose(&mut rand::thread_rng()) - .ok_or_else(|| eyre!("No uploader VMs available to retrieve safe version"))?; - Some(self.get_bin_version( - &random_uploader_vm.vm, - "autonomi --version", - "autonomi-cli ", - )?) + .ok_or_else(|| eyre!("No uploader VMs available to retrieve ant version"))?; + Some(self.get_bin_version(&random_uploader_vm.vm, "ant --version", "ant-cli ")?) } else { None }; println!("Retrieved binary versions from previous deployment:"); - println!(" safenode: {}", safenode_version); - println!(" safenode-manager: {}", safenode_manager_version); - if let Some(version) = &safe_version { - println!(" autonomi: {}", version); + println!(" antnode: {}", antnode_version); + println!(" antctl: {}", antctl_version); + if let Some(version) = &ant_version { + println!(" ant: {}", version); } BinaryOption::Versioned { - safe_version, - safenode_version, - safenode_manager_version, + ant_version, + antnode_version, + antctl_version, } }; @@ -816,9 +808,9 @@ impl DeploymentInventory { println!(); } BinaryOption::Versioned { - safe_version, - safenode_version, - safenode_manager_version, + ant_version: safe_version, + antnode_version: safenode_version, + antctl_version: safenode_manager_version, } => { println!("==============="); println!("Version Details"); diff --git a/src/lib.rs b/src/lib.rs index f68c72c0..59786732 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -434,18 +434,18 @@ pub struct DeployOptions { pub enum BinaryOption { /// Binaries will be built from source. BuildFromSource { + /// A comma-separated list that will be passed to the `--features` argument. + antnode_features: Option, branch: String, network_keys: Option<(String, String, String, String)>, protocol_version: Option, repo_owner: String, - /// A comma-separated list that will be passed to the `--features` argument. - safenode_features: Option, }, /// Pre-built, versioned binaries will be fetched from S3. Versioned { - safe_version: Option, - safenode_version: Version, - safenode_manager_version: Version, + ant_version: Option, + antctl_version: Version, + antnode_version: Version, }, } @@ -1095,7 +1095,7 @@ pub fn get_genesis_multiaddr( &genesis_ip, "root", // fetch the first public multiaddr with quic-v1 protocol for the genesis node - "jq -r '.nodes[] | select(.genesis == true) | .listen_addr[] | select(contains(\"127.0.0.1\") | not) | select(contains(\"quic-v1\"))' /var/safenode-manager/node_registry.json | head -n 1", + "jq -r '.nodes[] | select(.genesis == true) | .listen_addr[] | select(contains(\"127.0.0.1\") | not) | select(contains(\"quic-v1\"))' /var/antctl/node_registry.json | head -n 1", false, )?.first() .cloned() @@ -1116,13 +1116,14 @@ pub fn get_anvil_node_data( } let evm_ip = evm_inventory[0].public_ip_addr; - let csv_file_path = "/home/safe/.local/share/safe/evm_testnet_data.csv"; + debug!("Retrieved IP address for EVM node: {evm_ip}"); + let csv_file_path = "/home/ant/.local/share/autonomi/evm_testnet_data.csv"; const MAX_ATTEMPTS: u8 = 5; const RETRY_DELAY: Duration = Duration::from_secs(5); for attempt in 1..=MAX_ATTEMPTS { - match ssh_client.run_command(&evm_ip, "safe", &format!("cat {}", csv_file_path), false) { + match ssh_client.run_command(&evm_ip, "ant", &format!("cat {}", csv_file_path), false) { Ok(output) => { if let Some(csv_contents) = output.first() { let parts: Vec<&str> = csv_contents.split(',').collect(); @@ -1179,7 +1180,7 @@ pub fn get_multiaddr( &node_ip, "root", // fetch the first multiaddr which does not contain the localhost addr. - "jq -r '.nodes[] | .listen_addr[] | select(contains(\"127.0.0.1\") | not)' /var/safenode-manager/node_registry.json | head -n 1", + "jq -r '.nodes[] | .listen_addr[] | select(contains(\"127.0.0.1\") | not)' /var/antctl/node_registry.json | head -n 1", false, )?.first() .cloned() @@ -1386,9 +1387,9 @@ pub async fn notify_slack(inventory: DeploymentInventory) -> Result<()> { message.push_str(&format!("Branch: {}\n", branch)); } BinaryOption::Versioned { - ref safe_version, - ref safenode_version, - ref safenode_manager_version, + ant_version: ref safe_version, + antnode_version: ref safenode_version, + antctl_version: ref safenode_manager_version, .. } => { message.push_str("*Version Details*\n"); diff --git a/src/logs.rs b/src/logs.rs index 1d0131d0..b5d5b59d 100644 --- a/src/logs.rs +++ b/src/logs.rs @@ -134,7 +134,7 @@ impl TestnetDeployer { let mut rsync_args_clone = rsync_args.to_vec(); rsync_args_clone.push(format!( - "safe@{ip_address}:/mnt/safenode-storage/log/safenode/" + "safe@{ip_address}:/mnt/antnode-storage/log/antnode/" )); rsync_args_clone.push(vm_path.to_string_lossy().to_string()); @@ -157,7 +157,7 @@ impl TestnetDeployer { let all_node_inventory = self.get_all_node_inventory(name)?; let log_abs_dest = create_initial_log_dir_setup(&root_dir, name, &all_node_inventory)?; - let rg_cmd = format!("rg {rg_args} /mnt/safenode-storage/log/safenode/"); + let rg_cmd = format!("rg {rg_args} /mnt/antnode-storage/log/antnode/"); println!("Running ripgrep with command: {rg_cmd}"); // Get current date and time diff --git a/src/main.rs b/src/main.rs index 886b874f..205edb7f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,6 +4,7 @@ // Please see the LICENSE file for more details. use alloy::primitives::{Address, U256}; +use ant_releases::{ReleaseType, SafeReleaseRepoActions}; use clap::{Parser, Subcommand}; use color_eyre::{ eyre::{bail, eyre, OptionExt}, @@ -13,7 +14,6 @@ use dotenv::dotenv; use evmlib::Network; use log::debug; use semver::Version; -use sn_releases::{ReleaseType, SafeReleaseRepoActions}; use sn_testnet_deploy::{ ansible::{ extra_vars::ExtraVarsDocBuilder, @@ -51,6 +51,29 @@ struct Opt { enum Commands { /// Bootstrap a new network from an existing deployment. Bootstrap { + /// Supply a version number for the antctl binary. + /// + /// There should be no 'v' prefix. + /// + /// The version arguments are mutually exclusive with the --branch and --repo-owner + /// arguments. You can only supply version numbers or a custom branch, not both. + #[arg(long, verbatim_doc_comment)] + antctl_version: Option, + /// The features to enable on the antnode binary. + /// + /// If not provided, the default feature set specified for the antnode binary are used. + /// + /// The features argument is mutually exclusive with the --antnode-version argument. + #[clap(long, verbatim_doc_comment)] + antnode_features: Option>, + /// Supply a version number for the antnode binary. + /// + /// There should be no 'v' prefix. + /// + /// The version arguments are mutually exclusive with the --branch and --repo-owner + /// arguments. You can only supply version numbers or a custom branch, not both. + #[arg(long, verbatim_doc_comment)] + antnode_version: Option, /// Set to run Ansible with more verbose output. #[arg(long)] ansible_verbose: bool, @@ -83,9 +106,9 @@ enum Commands { /// The default is 'development'. #[clap(long, default_value_t = EnvironmentType::Development, value_parser = parse_deployment_type, verbatim_doc_comment)] environment_type: EnvironmentType, - /// Provide environment variables for the safenode service. + /// Provide environment variables for the antnode service. /// - /// This is useful to set the safenode's log levels. Each variable should be comma + /// This is useful to set the antnode's log levels. Each variable should be comma /// separated without any space. /// /// Example: --env SN_LOG=all,RUST_LOG=libp2p=debug @@ -116,14 +139,14 @@ enum Commands { /// The default value from ansible.cfg is 50. #[clap(long)] forks: Option, - /// Optionally set the foundation public key for a custom safenode binary. + /// Optionally set the foundation public key for a custom antnode binary. /// /// This argument only applies if the '--branch' and '--repo-owner' arguments are used. /// /// If one of the new keys is supplied, all must be supplied. #[arg(long)] foundation_pk: Option, - /// Optionally set the genesis public key for a custom safenode binary. + /// Optionally set the genesis public key for a custom antnode binary. /// /// This argument only applies if the '--branch' and '--repo-owner' arguments are used. /// @@ -149,14 +172,14 @@ enum Commands { /// The name of the environment #[arg(short = 'n', long)] name: String, - /// Optionally set the network royalties public key for a custom safenode binary. + /// Optionally set the network royalties public key for a custom antnode binary. /// /// This argument only applies if the '--branch' and '--repo-owner' arguments are used. /// /// If one of the new keys is supplied, all must be supplied. #[arg(long)] network_royalties_pk: Option, - /// The number of safenode services to run on each VM. + /// The number of antnode services to run on each VM. /// /// If the argument is not used, the value will be determined by the 'environment-type' /// argument. @@ -164,7 +187,7 @@ enum Commands { node_count: Option, /// The number of node VMs to create. /// - /// Each VM will run many safenode services. + /// Each VM will run many antnode services. /// /// If the argument is not used, the value will be determined by the 'environment-type' /// argument. @@ -180,14 +203,14 @@ enum Commands { /// argument. #[clap(long)] node_volume_size: Option, - /// Optionally set the payment forward public key for a custom safenode binary. + /// Optionally set the payment forward public key for a custom antnode binary. /// /// This argument only applies if the '--branch' and '--repo-owner' arguments are used. /// /// If one of the new keys is supplied, all must be supplied. #[arg(long)] payment_forward_pk: Option, - /// The number of safenode services to be run behind a NAT on each private node VM. + /// The number of antnode services to be run behind a NAT on each private node VM. /// /// If the argument is not used, the value will be determined by the 'environment-type' /// argument. @@ -195,7 +218,7 @@ enum Commands { private_node_count: Option, /// The number of private node VMs to create. /// - /// Each VM will run many safenode services. + /// Each VM will run many antnode services. /// /// If the argument is not used, the value will be determined by the 'environment-type' #[clap(long, verbatim_doc_comment)] @@ -223,32 +246,9 @@ enum Commands { /// arguments. You can only supply version numbers or a custom branch, not both. #[arg(long, verbatim_doc_comment)] repo_owner: Option, - /// The rewards address for each of the safenode services. + /// The rewards address for each of the antnode services. #[arg(long, required = true)] rewards_address: String, - /// The features to enable on the safenode binary. - /// - /// If not provided, the default feature set specified for the safenode binary are used. - /// - /// The features argument is mutually exclusive with the --safenode-version argument. - #[clap(long, verbatim_doc_comment)] - safenode_features: Option>, - /// Supply a version number for the safenode binary. - /// - /// There should be no 'v' prefix. - /// - /// The version arguments are mutually exclusive with the --branch and --repo-owner - /// arguments. You can only supply version numbers or a custom branch, not both. - #[arg(long, verbatim_doc_comment)] - safenode_version: Option, - /// Supply a version number for the safenode-manager binary. - /// - /// There should be no 'v' prefix. - /// - /// The version arguments are mutually exclusive with the --branch and --repo-owner - /// arguments. You can only supply version numbers or a custom branch, not both. - #[arg(long, verbatim_doc_comment)] - safenode_manager_version: Option, }, /// Clean a deployed testnet environment. Clean { @@ -274,11 +274,42 @@ enum Commands { #[clap(long, value_parser = parse_provider, verbatim_doc_comment, default_value_t = CloudProvider::DigitalOcean)] provider: CloudProvider, }, - /// Deploy a new testnet environment using the latest version of the safenode binary. + /// Deploy a new testnet environment using the latest version of the antnode binary. Deploy { /// Set to run Ansible with more verbose output. #[arg(long)] ansible_verbose: bool, + /// Supply a version number for the ant binary. + /// + /// There should be no 'v' prefix. + /// + /// The version arguments are mutually exclusive with the --branch and --repo-owner + /// arguments. You can only supply version numbers or a custom branch, not both. + #[arg(long, verbatim_doc_comment)] + ant_version: Option, + /// Supply a version number for the antctl binary. + /// + /// There should be no 'v' prefix. + /// + /// The version arguments are mutually exclusive with the --branch and --repo-owner + /// arguments. You can only supply version numbers or a custom branch, not both. + #[arg(long, verbatim_doc_comment)] + antctl_version: Option, + /// The features to enable on the antnode binary. + /// + /// If not provided, the default feature set specified for the antnode binary are used. + /// + /// The features argument is mutually exclusive with the --antnode-version argument. + #[clap(long, verbatim_doc_comment)] + antnode_features: Option>, + /// Supply a version number for the antnode binary. + /// + /// There should be no 'v' prefix. + /// + /// The version arguments are mutually exclusive with the --branch and --repo-owner + /// arguments. You can only supply version numbers or a custom branch, not both. + #[arg(long, verbatim_doc_comment)] + antnode_version: Option, /// The branch of the Github repository to build from. /// /// If used, all binaries will be built from this branch. It is typically used for testing @@ -290,7 +321,7 @@ enum Commands { /// arguments. You can only supply version numbers or a custom branch, not both. #[arg(long, verbatim_doc_comment)] branch: Option, - /// The number of safenode services to run on each bootstrap VM. + /// The number of antnode services to run on each bootstrap VM. /// /// If the argument is not used, the value will be determined by the 'environment-type' /// argument. @@ -298,7 +329,7 @@ enum Commands { bootstrap_node_count: Option, /// The number of bootstrap node VMs to create. /// - /// Each VM will run many safenode services. + /// Each VM will run many antnode services. /// /// If the argument is not used, the value will be determined by the 'environment-type' /// argument. @@ -326,9 +357,9 @@ enum Commands { /// 5 uploader VMs, there will be 10 downloaders across the 5 VMs. #[clap(long, default_value_t = 0)] downloaders_count: u16, - /// Provide environment variables for the safenode service. + /// Provide environment variables for the antnode service. /// - /// This is useful to set the safenode's log levels. Each variable should be comma + /// This is useful to set the antnode's log levels. Each variable should be comma /// separated without any space. /// /// Example: --env SN_LOG=all,RUST_LOG=libp2p=debug @@ -365,20 +396,12 @@ enum Commands { /// This argument only applies if the EVM network type is 'custom'. #[arg(long)] evm_rpc_url: Option, - /// Supply a version number to be used for the faucet binary. - /// - /// There should be no 'v' prefix. - /// - /// The version arguments are mutually exclusive with the --branch and --repo-owner arguments. - /// You can only supply version numbers or a custom branch, not both. - #[arg(long, verbatim_doc_comment)] - faucet_version: Option, /// Override the maximum number of forks Ansible will use to execute tasks on target hosts. /// /// The default value from ansible.cfg is 50. #[clap(long)] forks: Option, - /// Optionally set the foundation public key for a custom safenode binary. + /// Optionally set the foundation public key for a custom antnode binary. /// /// This argument only applies if the '--branch' and '--repo-owner' arguments are used. /// @@ -397,7 +420,7 @@ enum Commands { /// argument. #[clap(long)] genesis_node_volume_size: Option, - /// Optionally set the genesis public key for a custom safenode binary. + /// Optionally set the genesis public key for a custom antnode binary. /// /// This argument only applies if the '--branch' and '--repo-owner' arguments are used. /// @@ -431,14 +454,14 @@ enum Commands { /// If not used, the contacts file will have the same name as the environment. #[arg(long)] network_contacts_file_name: Option, - /// Optionally set the network royalties public key for a custom safenode binary. + /// Optionally set the network royalties public key for a custom antnode binary. /// /// This argument only applies if the '--branch' and '--repo-owner' arguments are used. /// /// If one of the new keys is supplied, all must be supplied. #[arg(long)] network_royalties_pk: Option, - /// The number of safenode services to run on each VM. + /// The number of antnode services to run on each VM. /// /// If the argument is not used, the value will be determined by the 'environment-type' /// argument. @@ -446,7 +469,7 @@ enum Commands { node_count: Option, /// The number of node VMs to create. /// - /// Each VM will run many safenode services. + /// Each VM will run many antnode services. /// /// If the argument is not used, the value will be determined by the 'environment-type' /// argument. @@ -462,14 +485,14 @@ enum Commands { /// argument. #[clap(long)] node_volume_size: Option, - /// Optionally set the payment forward public key for a custom safenode binary. + /// Optionally set the payment forward public key for a custom antnode binary. /// /// This argument only applies if the '--branch' and '--repo-owner' arguments are used. /// /// If one of the new keys is supplied, all must be supplied. #[arg(long)] payment_forward_pk: Option, - /// The number of safenode services to be run behind a NAT on each private node VM. + /// The number of antnode services to be run behind a NAT on each private node VM. /// /// If the argument is not used, the value will be determined by the 'environment-type' /// argument. @@ -477,7 +500,7 @@ enum Commands { private_node_count: Option, /// The number of private node VMs to create. /// - /// Each VM will run many safenode services. + /// Each VM will run many antnode services. /// /// If the argument is not used, the value will be determined by the 'environment-type' #[clap(long, verbatim_doc_comment)] @@ -495,7 +518,7 @@ enum Commands { /// If set to 'restricted', the branch name is used as the protocol version; otherwise the /// version is set to the value supplied. /// - /// This argument is mutually exclusive with the --safenode-version argument. + /// This argument is mutually exclusive with the --antnode-version argument. #[arg(long, verbatim_doc_comment)] protocol_version: Option, /// The cloud provider to deploy to. @@ -505,7 +528,7 @@ enum Commands { provider: CloudProvider, /// If set to true, the RPC of the node will be accessible remotely. /// - /// By default, the safenode RPC is only accessible via the 'localhost' and is not exposed for + /// By default, the antnode RPC is only accessible via the 'localhost' and is not exposed for /// security reasons. #[clap(long, default_value_t = false, verbatim_doc_comment)] public_rpc: bool, @@ -520,40 +543,9 @@ enum Commands { /// arguments. You can only supply version numbers or a custom branch, not both. #[arg(long, verbatim_doc_comment)] repo_owner: Option, - /// The rewards address for each of the safenode services. + /// The rewards address for each of the antnode services. #[arg(long, required = true)] rewards_address: String, - /// Supply a version number for the safe binary. - /// - /// There should be no 'v' prefix. - /// - /// The version arguments are mutually exclusive with the --branch and --repo-owner - /// arguments. You can only supply version numbers or a custom branch, not both. - #[arg(long, verbatim_doc_comment)] - safe_version: Option, - /// The features to enable on the safenode binary. - /// - /// If not provided, the default feature set specified for the safenode binary are used. - /// - /// The features argument is mutually exclusive with the --safenode-version argument. - #[clap(long, verbatim_doc_comment)] - safenode_features: Option>, - /// Supply a version number for the safenode-manager binary. - /// - /// There should be no 'v' prefix. - /// - /// The version arguments are mutually exclusive with the --branch and --repo-owner - /// arguments. You can only supply version numbers or a custom branch, not both. - #[arg(long, verbatim_doc_comment)] - safenode_manager_version: Option, - /// Supply a version number for the safenode binary. - /// - /// There should be no 'v' prefix. - /// - /// The version arguments are mutually exclusive with the --branch and --repo-owner - /// arguments. You can only supply version numbers or a custom branch, not both. - #[arg(long, verbatim_doc_comment)] - safenode_version: Option, /// The desired number of uploaders per VM. #[clap(long, default_value_t = 1)] uploaders_count: u16, @@ -679,7 +671,7 @@ enum Commands { /// The name of the environment. #[arg(short = 'n', long)] name: String, - /// Specify the type of node VM to start the safenode services on. If not provided, the safenode services on + /// Specify the type of node VM to start the antnode services on. If not provided, the antnode services on /// all the node VMs will be started. This is mutually exclusive with the '--custom-inventory' argument. /// /// Valid values are "bootstrap", "genesis", "generic" and "private". @@ -750,7 +742,7 @@ enum Commands { /// The name of the environment. #[arg(short = 'n', long)] name: String, - /// Specify the type of node VM to stop the safenode services on. If not provided, the safenode services on + /// Specify the type of node VM to stop the antnode services on. If not provided, the antnode services on /// all the node VMs will be stopped. This is mutually exclusive with the '--custom-inventory' argument. /// /// Valid values are "bootstrap", "genesis", "generic" and "private". @@ -799,19 +791,19 @@ enum Commands { /// unreachable during the main run. #[clap(name = "custom-inventory", long, use_value_delimiter = true)] custom_inventory: Option>, - /// Provide environment variables for the safenode service. + /// Provide environment variables for the antnode service. /// /// These will override the values provided initially. /// - /// This is useful to set safenode's log levels. Each variable should be comma separated + /// This is useful to set antnode's log levels. Each variable should be comma separated /// without any space. /// /// Example: --env SN_LOG=all,RUST_LOG=libp2p=debug #[clap(name = "env", long, use_value_delimiter = true, value_parser = parse_environment_variables)] env_variables: Option>, - /// Set to force the node manager to accept the safenode version provided. + /// Set to force the node manager to accept the antnode version provided. /// - /// This can be used to downgrade safenode to a known good version. + /// This can be used to downgrade antnode to a known good version. #[clap(long)] force: bool, /// Maximum number of forks Ansible will use to execute tasks on target hosts. @@ -823,7 +815,7 @@ enum Commands { /// The name of the environment #[arg(short = 'n', long)] name: String, - /// Specify the type of node VM to upgrade the safenode services on. If not provided, the safenode services on + /// Specify the type of node VM to upgrade the antnode services on. If not provided, the antnode services on /// all the node VMs will be upgraded. This is mutually exclusive with the '--custom-inventory' argument. /// /// Valid values are "bootstrap", "genesis", "generic" and "private". @@ -840,7 +832,7 @@ enum Commands { #[clap(long, default_value_t = CloudProvider::DigitalOcean, value_parser = parse_provider, verbatim_doc_comment)] provider: CloudProvider, #[arg(long)] - /// Optionally supply a version number for the safenode binary to upgrade to. + /// Optionally supply a version number for the antnode binary to upgrade to. /// /// If not provided, the latest version will be used. A lower version number can be /// specified to downgrade to a known good version. @@ -848,7 +840,7 @@ enum Commands { /// There should be no 'v' prefix. version: Option, }, - /// Upgrade the safenode-manager binaries to a particular version. + /// Upgrade the antctl binaries to a particular version. /// /// Simple mechanism that simply copies over the existing binary. #[clap(name = "upgrade-node-manager")] @@ -861,8 +853,8 @@ enum Commands { /// The name of the environment #[arg(short = 'n', long)] name: String, - /// Specify the type of node VM to upgrade the safenode-manager services on. If not provided, the - /// safenode-manager on all the node VMs will be upgraded. + /// Specify the type of node VM to upgrade the antctl services on. If not provided, the + /// antctl on all the node VMs will be upgraded. /// This is mutually exclusive with the '--custom-inventory' argument. /// /// Valid values are "bootstrap", "genesis", "generic" and "private". @@ -922,7 +914,7 @@ enum Commands { /// This option is not applicable to a bootstrap deployment. #[clap(long, verbatim_doc_comment)] desired_auditor_vm_count: Option, - /// The desired number of safenode services to be running on each bootstrap VM after the + /// The desired number of antnode services to be running on each bootstrap VM after the /// scale. /// /// If there are currently 10 services running on each VM, and you want there to be 25, the @@ -942,7 +934,7 @@ enum Commands { /// This option is not applicable to a bootstrap deployment. #[clap(long, verbatim_doc_comment)] desired_bootstrap_node_vm_count: Option, - /// The desired number of safenode services to be running on each node VM after the scale. + /// The desired number of antnode services to be running on each node VM after the scale. /// /// If there are currently 10 services running on each VM, and you want there to be 25, the /// value used should be 25, rather than 15 as a delta to reach 25. @@ -954,7 +946,7 @@ enum Commands { /// should be 25, rather than 15 as a delta to reach 25. #[clap(long, verbatim_doc_comment)] desired_node_vm_count: Option, - /// The desired number of safenode services to be running behind a NAT on each private node VM after the + /// The desired number of antnode services to be running behind a NAT on each private node VM after the /// scale. /// /// If there are currently 10 services running on each VM, and you want there to be 25, the @@ -1024,7 +1016,7 @@ enum Commands { provider: CloudProvider, /// If set to true, for new VMs the RPC of the node will be accessible remotely. /// - /// By default, the safenode RPC is only accessible via the 'localhost' and is not exposed for + /// By default, the antnode RPC is only accessible via the 'localhost' and is not exposed for /// security reasons. #[clap(long, default_value_t = false, verbatim_doc_comment)] public_rpc: bool, @@ -1035,20 +1027,20 @@ enum Commands { /// This argument is required when the uploader count is supplied. #[arg(long, verbatim_doc_comment)] safe_version: Option, - /// Supply a version number for the safenode-manager binary to be used for new uploader VMs. + /// Supply a version number for the antctl binary to be used for new uploader VMs. /// /// There should be no 'v' prefix. /// /// This argument is required when the uploader count is supplied. #[arg(long, verbatim_doc_comment)] - safenode_manager_version: Option, - /// Supply a version number for the safenode binary to be used for new uploader VMs. + antnode_manager_version: Option, + /// Supply a version number for the antnode binary to be used for new uploader VMs. /// /// There should be no 'v' prefix. /// /// This argument is required when the uploader count is supplied. #[arg(long, verbatim_doc_comment)] - safenode_version: Option, + antnode_version: Option, }, /// Update the peer multiaddr in the node registry. /// @@ -1202,12 +1194,12 @@ enum NetworkCommands { /// Restart nodes in the testnet to simulate the churn of nodes. #[clap(name = "churn", subcommand)] ChurnCommands(ChurnCommands), - /// Modifies the log levels for all the safenode services through RPC requests. + /// Modifies the log levels for all the antnode services through RPC requests. UpdateNodeLogLevel { /// The number of nodes to update concurrently. #[clap(long, short = 'c', default_value_t = 10)] concurrent_updates: usize, - /// Change the log level of the safenode. This accepts a comma-separated list of log levels for different modules + /// Change the log level of the antnode. This accepts a comma-separated list of log levels for different modules /// or specific keywords like "all" or "v". /// /// Example: --level libp2p=DEBUG,tokio=INFO,all,sn_client=ERROR @@ -1449,8 +1441,12 @@ async fn main() -> Result<()> { match opt.command { Commands::Bootstrap { ansible_verbose, + antctl_version, + antnode_features, + antnode_version, bootstrap_peer, branch, + chunk_size, environment_type, env_variables, evm_data_payments_address, @@ -1477,10 +1473,6 @@ async fn main() -> Result<()> { provider, repo_owner, rewards_address, - safenode_features, - safenode_version, - safenode_manager_version, - chunk_size, } => { if evm_network_type == EvmNetwork::Custom && (evm_data_payments_address.is_none() @@ -1510,10 +1502,9 @@ async fn main() -> Result<()> { None, repo_owner, None, - None, - safenode_version, - safenode_manager_version, - safenode_features, + antnode_version, + antctl_version, + antnode_features, network_keys, ) .await?; @@ -1615,6 +1606,10 @@ async fn main() -> Result<()> { } Commands::Deploy { ansible_verbose, + ant_version, + antctl_version, + antnode_features, + antnode_version, bootstrap_node_count, bootstrap_node_vm_count, bootstrap_node_vm_size, @@ -1629,7 +1624,6 @@ async fn main() -> Result<()> { evm_node_vm_size, evm_payment_token_address, evm_rpc_url, - faucet_version, forks, foundation_pk, funding_wallet_secret_key, @@ -1656,10 +1650,6 @@ async fn main() -> Result<()> { public_rpc, repo_owner, rewards_address, - safe_version, - safenode_features, - safenode_manager_version, - safenode_version, uploader_vm_count, uploader_vm_size, uploaders_count, @@ -1697,11 +1687,10 @@ async fn main() -> Result<()> { branch, protocol_version, repo_owner, - faucet_version, - safe_version, - safenode_version, - safenode_manager_version, - safenode_features, + ant_version, + antnode_version, + antctl_version, + antnode_features, network_keys, ) .await?; @@ -2871,8 +2860,8 @@ async fn main() -> Result<()> { provider, public_rpc, safe_version, - safenode_version, - safenode_manager_version, + antnode_version, + antnode_manager_version, } => { if desired_uploader_vm_count.is_some() && safe_version.is_none() { return Err(eyre!("The --safe-version argument is required when --desired-uploader-vm-count is used")); @@ -2891,28 +2880,28 @@ async fn main() -> Result<()> { .generate_or_retrieve_inventory(&name, true, None) .await?; - if safenode_version.is_some() || safenode_manager_version.is_some() { + if antnode_version.is_some() || antnode_manager_version.is_some() { match &inventory.binary_option { BinaryOption::Versioned { - safe_version: _, - safenode_version: existing_safenode_version, - safenode_manager_version: existing_safenode_manager_version, + ant_version: _, + antnode_version: existing_antnode_version, + antctl_version: existing_antnode_manager_version, } => { - let new_safenode_version = safenode_version - .map(|v| v.parse().expect("Invalid safenode version")) - .unwrap_or(existing_safenode_version.clone()); - let new_manager_version = safenode_manager_version - .map(|v| v.parse().expect("Invalid safenode-manager version")) - .unwrap_or(existing_safenode_manager_version.clone()); + let new_antnode_version = antnode_version + .map(|v| v.parse().expect("Invalid antnode version")) + .unwrap_or(existing_antnode_version.clone()); + let new_manager_version = antnode_manager_version + .map(|v| v.parse().expect("Invalid antctl version")) + .unwrap_or(existing_antnode_manager_version.clone()); println!("Using override binary versions:"); - println!("safenode: {}", new_safenode_version); - println!("safenode-manager: {}", new_manager_version); + println!("antnode: {}", new_antnode_version); + println!("antctl: {}", new_manager_version); inventory.binary_option = BinaryOption::Versioned { - safe_version: None, - safenode_version: new_safenode_version, - safenode_manager_version: new_manager_version, + ant_version: None, + antnode_version: new_antnode_version, + antctl_version: new_manager_version, }; } BinaryOption::BuildFromSource { .. } => { @@ -3062,24 +3051,20 @@ async fn main() -> Result<()> { /// The second option is to build from source, which is useful for testing changes from forks. /// /// The usage of arguments are also validated here. -#[allow(clippy::type_complexity, clippy::too_many_arguments)] async fn get_binary_option( branch: Option, protocol_version: Option, repo_owner: Option, - faucet_version: Option, - safe_version: Option, - safenode_version: Option, - safenode_manager_version: Option, - safenode_features: Option>, + ant_version: Option, + antnode_version: Option, + antctl_version: Option, + antnode_features: Option>, network_keys: Option<(String, String, String, String)>, ) -> Result { let mut use_versions = true; let branch_specified = branch.is_some() || repo_owner.is_some(); - let versions_specified = faucet_version.is_some() - || safenode_version.is_some() - || safenode_manager_version.is_some(); + let versions_specified = antnode_version.is_some() || antctl_version.is_some(); if branch_specified && versions_specified { return Err( eyre!("Version numbers and branches cannot be supplied at the same time").suggestion( @@ -3089,9 +3074,9 @@ async fn get_binary_option( } if versions_specified { - if safenode_features.is_some() { + if antnode_features.is_some() { return Err(eyre!( - "The --safenode-features argument only applies if we are building binaries" + "The --antnode-features argument only applies if we are building binaries" )); } if protocol_version.is_some() { @@ -3113,16 +3098,14 @@ async fn get_binary_option( let binary_option = if use_versions { print_with_banner("Binaries will be supplied from pre-built versions"); - let safe_version = get_version_from_option(safe_version, &ReleaseType::Autonomi).await?; - let safenode_version = - get_version_from_option(safenode_version, &ReleaseType::Safenode).await?; - let safenode_manager_version = - get_version_from_option(safenode_manager_version, &ReleaseType::SafenodeManager) - .await?; + let ant_version = get_version_from_option(ant_version, &ReleaseType::Autonomi).await?; + let antnode_version = + get_version_from_option(antnode_version, &ReleaseType::AntNode).await?; + let antctl_version = get_version_from_option(antctl_version, &ReleaseType::AntCtl).await?; BinaryOption::Versioned { - safe_version: Some(safe_version), - safenode_version, - safenode_manager_version, + ant_version: Some(ant_version), + antnode_version, + antctl_version, } } else { // Unwraps are justified here because it's already been asserted that both must have @@ -3151,7 +3134,7 @@ async fn get_binary_option( BinaryOption::BuildFromSource { repo_owner, branch, - safenode_features: safenode_features.map(|list| list.join(",")), + antnode_features: antnode_features.map(|list| list.join(",")), protocol_version, network_keys, } diff --git a/src/network_commands.rs b/src/network_commands.rs index f9a04d9f..237b9cdf 100644 --- a/src/network_commands.rs +++ b/src/network_commands.rs @@ -5,6 +5,11 @@ // Please see the LICENSE file for more details. use crate::DeploymentInventory; +use ant_service_management::{ + antctl_proto::{ant_ctl_client::AntCtlClient, GetStatusRequest, NodeServiceRestartRequest}, + rpc::{RpcActions, RpcClient}, + ServiceStatus, +}; use color_eyre::{ eyre::{bail, eyre, Report}, Result, @@ -12,14 +17,6 @@ use color_eyre::{ use futures::StreamExt; use libp2p::PeerId; use rand::Rng; -use sn_service_management::{ - rpc::{RpcActions, RpcClient}, - safenode_manager_proto::{ - safe_node_manager_client::SafeNodeManagerClient, GetStatusRequest, - NodeServiceRestartRequest, - }, - ServiceStatus, -}; use std::{collections::BTreeSet, net::SocketAddr, time::Duration}; use tonic::{transport::Channel, Request}; @@ -28,7 +25,7 @@ const MAX_CONCURRENT_RPC_REQUESTS: usize = 10; // Used internally for easier debugging struct DaemonRpcClient { addr: SocketAddr, - rpc: SafeNodeManagerClient, + rpc: AntCtlClient, } /// Perform fixed interval churn in the network by restarting nodes. @@ -329,7 +326,7 @@ async fn get_safenode_manager_rpc_client(socket_addr: SocketAddr) -> Result Date: Tue, 3 Dec 2024 21:25:21 +0000 Subject: [PATCH 2/3] chore: update machine images to ubuntu 24.04 Initially the Telegraf configurations don't seem to be working with this new version. --- Justfile | 8 ++-- resources/ansible/create_node_image.yml | 4 +- .../roles/prerequisites/tasks/main.yml | 42 +++++++++++++++++-- .../roles/uploader-metrics/tasks/main.yml | 10 ++--- resources/packer/build/build.pkr.hcl | 2 +- resources/packer/node/node.pkr.hcl | 4 +- resources/scripts/install_ansible.sh | 6 ++- .../testnet/digital-ocean/dev.tfvars | 12 +++--- .../testnet/digital-ocean/staging.tfvars | 12 +++--- .../testnet/digital-ocean/variables.tf | 4 +- src/ansible/extra_vars.rs | 13 ------ src/ansible/provisioning.rs | 20 --------- 12 files changed, 69 insertions(+), 68 deletions(-) diff --git a/Justfile b/Justfile index 0e0d7241..089520c4 100644 --- a/Justfile +++ b/Justfile @@ -19,7 +19,7 @@ build-evm-node-image: build.pkr.hcl ) -build-staging-bootstrap-image: +build-bootstrap-image: #!/usr/bin/env bash ( cd resources/packer/node @@ -27,7 +27,7 @@ build-staging-bootstrap-image: packer build -var 'size=s-1vcpu-2gb' node.pkr.hcl ) -build-staging-node-image: +build-node-image: #!/usr/bin/env bash ( cd resources/packer/node @@ -35,7 +35,7 @@ build-staging-node-image: packer build -var 'size=s-2vcpu-4gb' node.pkr.hcl ) -build-staging-uploader-image: +build-uploader-image: #!/usr/bin/env bash ( cd resources/packer/node @@ -43,7 +43,7 @@ build-staging-uploader-image: packer build -var 'size=s-2vcpu-4gb' node.pkr.hcl ) -build-prod-nat-gateway-image: +build-nat-gateway-image: #!/usr/bin/env bash ( cd resources/packer/node diff --git a/resources/ansible/create_node_image.yml b/resources/ansible/create_node_image.yml index e0cc2999..a967d8da 100644 --- a/resources/ansible/create_node_image.yml +++ b/resources/ansible/create_node_image.yml @@ -1,9 +1,7 @@ --- - name: build a custom node image hosts: all - become: False + become: True roles: - role: prerequisites - become: True - role: filebeat - become: True diff --git a/resources/ansible/roles/prerequisites/tasks/main.yml b/resources/ansible/roles/prerequisites/tasks/main.yml index 0af822a5..20e72624 100644 --- a/resources/ansible/roles/prerequisites/tasks/main.yml +++ b/resources/ansible/roles/prerequisites/tasks/main.yml @@ -3,24 +3,58 @@ apt: update_cache: yes -# The retries are for random lock failures. +- name: prerequisites for adding telegraf repository + apt: + name: + - curl + - gnupg + state: present + +- name: add influxdata gpg key + ansible.builtin.command: > + curl -fsSL https://repos.influxdata.com/influxdata-archive_compat.key + -o /etc/apt/keyrings/influxdata-archive_compat.key + args: + creates: /etc/apt/keyrings/influxdata-archive_compat.key + +- name: add influxdata repository + ansible.builtin.copy: + dest: /etc/apt/sources.list.d/influxdata.list + content: "deb [signed-by=/etc/apt/keyrings/influxdata-archive_compat.key] https://repos.influxdata.com/ubuntu stable main" + owner: root + group: root + mode: '0644' + +- name: update apt cache for new repository + apt: + update_cache: yes + +- name: install telegraf + apt: + name: telegraf + state: present + register: result + until: result is succeeded + retries: 20 + delay: 10 + +# Retry logic for other package installations - name: install packages ansible.builtin.package: name: "{{ item }}" state: present with_items: - - graphviz # for the sn_auditor + - graphviz - heaptrack - jq - python3 - python3-pip - ripgrep - - telegraf - zip register: result until: result is succeeded retries: 20 delay: 10 -- name: install boto3 +- name: Install boto3 ansible.builtin.command: pip3 install boto3 --prefix /usr diff --git a/resources/ansible/roles/uploader-metrics/tasks/main.yml b/resources/ansible/roles/uploader-metrics/tasks/main.yml index 81e33fbd..3efb558e 100644 --- a/resources/ansible/roles/uploader-metrics/tasks/main.yml +++ b/resources/ansible/roles/uploader-metrics/tasks/main.yml @@ -106,8 +106,8 @@ systemd: daemon_reload: yes -- name: start telegraf service - systemd: - name: telegraf - enabled: yes - state: started \ No newline at end of file +# - name: start telegraf service +# systemd: +# name: telegraf +# enabled: yes +# state: started diff --git a/resources/packer/build/build.pkr.hcl b/resources/packer/build/build.pkr.hcl index 4edc0d20..16ca335a 100644 --- a/resources/packer/build/build.pkr.hcl +++ b/resources/packer/build/build.pkr.hcl @@ -17,7 +17,7 @@ variable "user_home" { variable "droplet_image" { type = string - default = "ubuntu-22-04-x64" + default = "ubuntu-24-04-x64" description = "" } diff --git a/resources/packer/node/node.pkr.hcl b/resources/packer/node/node.pkr.hcl index be54543c..3d57e486 100644 --- a/resources/packer/node/node.pkr.hcl +++ b/resources/packer/node/node.pkr.hcl @@ -17,7 +17,7 @@ variable "user_home" { variable "droplet_image" { type = string - default = "ubuntu-22-04-x64" + default = "ubuntu-24-04-x64" } variable "region" { @@ -41,7 +41,7 @@ source "digitalocean" "build" { image = var.droplet_image region = var.region size = var.size - snapshot_name = "safe_network-node-{{timestamp}}" + snapshot_name = "ant-node-{{timestamp}}" ssh_username = var.ssh_username } diff --git a/resources/scripts/install_ansible.sh b/resources/scripts/install_ansible.sh index 6f760e57..c5208305 100755 --- a/resources/scripts/install_ansible.sh +++ b/resources/scripts/install_ansible.sh @@ -1,9 +1,11 @@ #!/bin/bash +cat /etc/os-release + export DEBIAN_FRONTEND=noninteractive -max_retries=10 -retry_delay=5 +max_retries=20 +retry_delay=10 for i in $(seq 1 $max_retries); do echo "Update Apt index attempt $i of $max_retries..." diff --git a/resources/terraform/testnet/digital-ocean/dev.tfvars b/resources/terraform/testnet/digital-ocean/dev.tfvars index 35d1a6c0..fd4b02c1 100644 --- a/resources/terraform/testnet/digital-ocean/dev.tfvars +++ b/resources/terraform/testnet/digital-ocean/dev.tfvars @@ -1,15 +1,15 @@ bootstrap_droplet_size = "s-2vcpu-4gb" -bootstrap_droplet_image_id = 162461040 +bootstrap_droplet_image_id = 172040723 bootstrap_node_vm_count = 1 evm_node_droplet_size = "s-4vcpu-8gb" -evm_node_droplet_image_id = 167317579 +evm_node_droplet_image_id = 172040852 evm_node_vm_count = 1 -nat_gateway_droplet_image_id = 166664184 +nat_gateway_droplet_image_id = 172051596 node_droplet_size = "s-4vcpu-8gb" -node_droplet_image_id = 162460774 +node_droplet_image_id = 172040547 node_vm_count = 10 private_node_vm_count = 1 setup_nat_gateway = true uploader_droplet_size = "s-2vcpu-4gb" -uploader_droplet_image_id = 162461150 -uploader_vm_count = 1 \ No newline at end of file +uploader_droplet_image_id = 172051523 +uploader_vm_count = 1 diff --git a/resources/terraform/testnet/digital-ocean/staging.tfvars b/resources/terraform/testnet/digital-ocean/staging.tfvars index d9f3c555..7c8b2675 100644 --- a/resources/terraform/testnet/digital-ocean/staging.tfvars +++ b/resources/terraform/testnet/digital-ocean/staging.tfvars @@ -1,15 +1,15 @@ bootstrap_droplet_size = "s-2vcpu-4gb" -bootstrap_droplet_image_id = 162461040 +bootstrap_droplet_image_id = 172040723 bootstrap_node_vm_count = 2 evm_node_vm_count = 1 evm_node_droplet_size = "s-4vcpu-8gb" -evm_node_droplet_image_id = 167317579 -nat_gateway_droplet_image_id = 166664184 +evm_node_droplet_image_id = 172040852 +nat_gateway_droplet_image_id = 172051596 node_droplet_size = "s-4vcpu-8gb" -node_droplet_image_id = 162460774 +node_droplet_image_id = 172040547 node_vm_count = 39 private_node_vm_count = 1 setup_nat_gateway = true uploader_droplet_size = "s-2vcpu-4gb" -uploader_droplet_image_id = 162461150 -uploader_vm_count = 2 \ No newline at end of file +uploader_droplet_image_id = 172051523 +uploader_vm_count = 2 diff --git a/resources/terraform/testnet/digital-ocean/variables.tf b/resources/terraform/testnet/digital-ocean/variables.tf index 70f0d1df..4c7e6d41 100644 --- a/resources/terraform/testnet/digital-ocean/variables.tf +++ b/resources/terraform/testnet/digital-ocean/variables.tf @@ -41,7 +41,7 @@ variable "build_machine_size" { } variable "build_droplet_image_id" { - default = "165140612" + default = "172040819" } variable "bootstrap_droplet_image_id" { @@ -137,4 +137,4 @@ variable "node_volume_size" { variable "private_node_volume_size" { description = "Size of each volume in GB for private nodes" type = number -} \ No newline at end of file +} diff --git a/src/ansible/extra_vars.rs b/src/ansible/extra_vars.rs index 861205e9..f01c6e8f 100644 --- a/src/ansible/extra_vars.rs +++ b/src/ansible/extra_vars.rs @@ -361,19 +361,6 @@ pub fn build_node_extra_vars_doc( Ok(extra_vars.build()) } -pub fn build_safenode_rpc_client_extra_vars_doc( - cloud_provider: &str, - options: &ProvisionOptions, - genesis_multiaddr: &str, -) -> Result { - let mut extra_vars = ExtraVarsDocBuilder::default(); - extra_vars.add_variable("provider", cloud_provider); - extra_vars.add_variable("testnet_name", &options.name); - extra_vars.add_variable("genesis_multiaddr", genesis_multiaddr); - extra_vars.add_rpc_client_url_or_version(&options.name, &options.binary_option); - Ok(extra_vars.build()) -} - pub fn build_uploaders_extra_vars_doc( cloud_provider: &str, options: &ProvisionOptions, diff --git a/src/ansible/provisioning.rs b/src/ansible/provisioning.rs index f322ef03..449188a6 100644 --- a/src/ansible/provisioning.rs +++ b/src/ansible/provisioning.rs @@ -439,26 +439,6 @@ impl AnsibleProvisioner { Ok(()) } - pub fn provision_safenode_rpc_client( - &self, - options: &ProvisionOptions, - genesis_multiaddr: &str, - ) -> Result<()> { - let start = Instant::now(); - println!("Running ansible against genesis node to start safenode_rpc_client service..."); - self.ansible_runner.run_playbook( - AnsiblePlaybook::RpcClient, - AnsibleInventoryType::Genesis, - Some(extra_vars::build_safenode_rpc_client_extra_vars_doc( - &self.cloud_provider.to_string(), - options, - genesis_multiaddr, - )?), - )?; - print_duration(start.elapsed()); - Ok(()) - } - pub async fn provision_uploaders( &self, options: &ProvisionOptions, From a344e2080be9f9afde0c46a5a8947734711f1712 Mon Sep 17 00:00:00 2001 From: Chris O'Neil Date: Wed, 4 Dec 2024 22:23:11 +0000 Subject: [PATCH 3/3] chore: change various telegraf configuration details In the base images, Telegraf has been disabled from automatically starting, because we don't want it to start transmitting new metric names to the production database. Various lines for starting the service have been commented out. These can be enabled again when we have the setup working. Environment variables related to Telegraf are now prefixed with `ANTNODE_` or `ANT_` rather than safe-based prefixes. There's also a change in here to get `antcltd` to deploy correctly when a version-based deployment is used. --- resources/ansible/create_node_image.yml | 9 ++++++ resources/ansible/nodes.yml | 25 ++++++---------- resources/ansible/roles/node/tasks/main.yml | 1 - .../telegraf-configuration/tasks/main.yml | 30 +++++++++---------- .../roles/uploader-metrics/tasks/main.yml | 24 +++++++-------- resources/ansible/uploaders.yml | 14 ++++++--- .../testnet/digital-ocean/dev.tfvars | 8 ++--- .../testnet/digital-ocean/staging.tfvars | 8 ++--- src/ansible/extra_vars.rs | 6 ++-- src/main.rs | 1 + 10 files changed, 67 insertions(+), 59 deletions(-) diff --git a/resources/ansible/create_node_image.yml b/resources/ansible/create_node_image.yml index a967d8da..8dec4975 100644 --- a/resources/ansible/create_node_image.yml +++ b/resources/ansible/create_node_image.yml @@ -5,3 +5,12 @@ roles: - role: prerequisites - role: filebeat + # Right now we are in a situation where we don't want Telegraf to be started automatically because + # we don't want metrics with new names to be forwarded to the existing production infrastructure. + tasks: + - name: stop telegraf + become: True + ansible.builtin.systemd: + name: telegraf + state: stopped + enabled: no diff --git a/resources/ansible/nodes.yml b/resources/ansible/nodes.yml index c45f234c..028c5ad0 100644 --- a/resources/ansible/nodes.yml +++ b/resources/ansible/nodes.yml @@ -1,17 +1,4 @@ --- -- name: copy logstash certificate to nodes - hosts: all - become: False - max_fail_percentage: 10 - ignore_unreachable: yes - tasks: - - name: copy public logstash certificate to node - copy: - src: logstash-{{ logstash_stack_name }}-public.crt - dest: /tmp/logstash-{{ logstash_stack_name }}-public.crt - mode: 0644 - when: logstash_stack_name is defined and logstash_stack_name | length > 0 - - name: deploy antnode to remaining nodes hosts: all become: False @@ -52,9 +39,15 @@ name: systemd-journald state: restarted enabled: yes - - name: restart telegraf + # - name: restart telegraf + # become: True + # ansible.builtin.systemd: + # name: telegraf + # state: restarted + # enabled: yes + - name: stop telegraf become: True ansible.builtin.systemd: name: telegraf - state: restarted - enabled: yes + state: stopped + enabled: no diff --git a/resources/ansible/roles/node/tasks/main.yml b/resources/ansible/roles/node/tasks/main.yml index 20124126..a81d0a83 100644 --- a/resources/ansible/roles/node/tasks/main.yml +++ b/resources/ansible/roles/node/tasks/main.yml @@ -78,7 +78,6 @@ - --data-dir-path=/mnt/antnode-storage/data - --log-dir-path=/mnt/antnode-storage/log - "--count={{ nodes_to_add }}" - - "--owner=maidsafe" - "--peer={{ genesis_multiaddr }}" - "--rpc-address={{ node_rpc_ip }}" - "--rewards-address={{ rewards_address }}" diff --git a/resources/ansible/roles/telegraf-configuration/tasks/main.yml b/resources/ansible/roles/telegraf-configuration/tasks/main.yml index 11795a3f..5b7ecc85 100644 --- a/resources/ansible/roles/telegraf-configuration/tasks/main.yml +++ b/resources/ansible/roles/telegraf-configuration/tasks/main.yml @@ -50,31 +50,31 @@ dest: /etc/default/telegraf remote_src: yes -- name: replace SAFENODE_TESTNET_NAME value +- name: replace ANTNODE_TESTNET_NAME value replace: path: "/etc/default/telegraf" - regexp: 'SAFENODE_TESTNET_NAME=UNDEFINED' - replace: 'SAFENODE_TESTNET_NAME={{ testnet_name | upper }}' + regexp: 'ANTNODE_TESTNET_NAME=UNDEFINED' + replace: 'ANTNODE_TESTNET_NAME={{ testnet_name | upper }}' -- name: replace SAFENODE_HOST_ROLE value +- name: replace ANTNODE_HOST_ROLE value replace: path: "/etc/default/telegraf" - regexp: 'SAFENODE_HOST_ROLE=UNDEFINED' - replace: 'SAFENODE_HOST_ROLE={{ node_type | upper }}' + regexp: 'ANTNODE_HOST_ROLE=UNDEFINED' + replace: 'ANTNODE_HOST_ROLE={{ node_type | upper }}' # The real branch name will be supplied later, when it is available in `safenode`. -- name: replace SAFENODE_BRANCH_NAME value +- name: replace ANTNODE_BRANCH_NAME value replace: path: "/etc/default/telegraf" - regexp: "SAFENODE_BRANCH_NAME=UNDEFINED" - replace: "SAFENODE_BRANCH_NAME=STABLE" + regexp: "ANTNODE_BRANCH_NAME=UNDEFINED" + replace: "ANTNODE_BRANCH_NAME=STABLE" # The real commit hash will be supplied later, when it is available in `safenode`. -- name: replace SAFENODE_BRANCH_COMMIT value +- name: replace ANTNODE_BRANCH_COMMIT value replace: path: "/etc/default/telegraf" - regexp: "SAFENODE_BRANCH_COMMIT=UNDEFINED" - replace: "SAFENODE_BRANCH_COMMIT=UNDEFINED" + regexp: "ANTNODE_BRANCH_COMMIT=UNDEFINED" + replace: "ANTNODE_BRANCH_COMMIT=UNDEFINED" - name: copy telegraf config file copy: @@ -109,9 +109,9 @@ become: True command: systemctl daemon-reload -- name: reload the configuration files for systemctl daemon - become: True - command: systemctl start telegraf-elasticsearch.service +# - name: reload the configuration files for systemctl daemon +# become: True +# command: systemctl start telegraf-elasticsearch.service # - name: start telegraf service # systemd: diff --git a/resources/ansible/roles/uploader-metrics/tasks/main.yml b/resources/ansible/roles/uploader-metrics/tasks/main.yml index 3efb558e..02f8c5aa 100644 --- a/resources/ansible/roles/uploader-metrics/tasks/main.yml +++ b/resources/ansible/roles/uploader-metrics/tasks/main.yml @@ -43,31 +43,31 @@ dest: /etc/default/telegraf remote_src: yes -- name: replace SAFE_UPLOADER_TESTNET_NAME value +- name: replace ANT_UPLOADER_TESTNET_NAME value replace: path: "/etc/default/telegraf" - regexp: 'SAFE_UPLOADER_TESTNET_NAME=UNDEFINED' - replace: 'SAFE_UPLOADER_TESTNET_NAME={{ testnet_name | upper }}' + regexp: 'ANT_UPLOADER_TESTNET_NAME=UNDEFINED' + replace: 'ANT_UPLOADER_TESTNET_NAME={{ testnet_name | upper }}' -- name: replace SAFE_UPLOADER_HOST_ROLE value +- name: replace ANT_UPLOADER_HOST_ROLE value replace: path: "/etc/default/telegraf" - regexp: 'SAFE_UPLOADER_HOST_ROLE=UNDEFINED' - replace: 'SAFE_UPLOADER_HOST_ROLE=UPLOADER_NODE' + regexp: 'ANT_UPLOADER_HOST_ROLE=UNDEFINED' + replace: 'ANT_UPLOADER_HOST_ROLE=UPLOADER_NODE' # The real branch name will be supplied later, when it is available in `safenode`. -- name: replace SAFE_UPLOADER_BRANCH_NAME value +- name: replace ANT_UPLOADER_BRANCH_NAME value replace: path: "/etc/default/telegraf" - regexp: "SAFE_UPLOADER_BRANCH_NAME=UNDEFINED" - replace: "SAFE_UPLOADER_BRANCH_NAME=STABLE" + regexp: "ANT_UPLOADER_BRANCH_NAME=UNDEFINED" + replace: "ANT_UPLOADER_BRANCH_NAME=STABLE" # The real commit hash will be supplied later, when it is available in `safenode`. -- name: replace SAFE_UPLOADER_BRANCH_COMMIT value +- name: replace ANT_UPLOADER_BRANCH_COMMIT value replace: path: "/etc/default/telegraf" - regexp: "SAFE_UPLOADER_BRANCH_COMMIT=UNDEFINED" - replace: "SAFE_UPLOADER_BRANCH_COMMIT=UNDEFINED" + regexp: "ANT_UPLOADER_BRANCH_COMMIT=UNDEFINED" + replace: "ANT_UPLOADER_BRANCH_COMMIT=UNDEFINED" - name: copy telegraf config file copy: diff --git a/resources/ansible/uploaders.yml b/resources/ansible/uploaders.yml index 3143d177..fd4f874b 100644 --- a/resources/ansible/uploaders.yml +++ b/resources/ansible/uploaders.yml @@ -22,10 +22,16 @@ name: systemd-journald state: restarted enabled: yes - # The Telegraf service seems to need to be rebooted for metrics to start transmitting. - - name: restart telegraf + # # The Telegraf service seems to need to be rebooted for metrics to start transmitting. + # - name: restart telegraf + # become: True + # ansible.builtin.systemd: + # name: telegraf + # state: restarted + # enabled: yes + - name: stop telegraf become: True ansible.builtin.systemd: name: telegraf - state: restarted - enabled: yes \ No newline at end of file + state: stopped + enabled: no diff --git a/resources/terraform/testnet/digital-ocean/dev.tfvars b/resources/terraform/testnet/digital-ocean/dev.tfvars index fd4b02c1..2cd81ccc 100644 --- a/resources/terraform/testnet/digital-ocean/dev.tfvars +++ b/resources/terraform/testnet/digital-ocean/dev.tfvars @@ -1,15 +1,15 @@ bootstrap_droplet_size = "s-2vcpu-4gb" -bootstrap_droplet_image_id = 172040723 +bootstrap_droplet_image_id = 172129824 bootstrap_node_vm_count = 1 evm_node_droplet_size = "s-4vcpu-8gb" evm_node_droplet_image_id = 172040852 evm_node_vm_count = 1 -nat_gateway_droplet_image_id = 172051596 +nat_gateway_droplet_image_id = 172129956 node_droplet_size = "s-4vcpu-8gb" -node_droplet_image_id = 172040547 +node_droplet_image_id = 172129019 node_vm_count = 10 private_node_vm_count = 1 setup_nat_gateway = true uploader_droplet_size = "s-2vcpu-4gb" -uploader_droplet_image_id = 172051523 +uploader_droplet_image_id = 172130080 uploader_vm_count = 1 diff --git a/resources/terraform/testnet/digital-ocean/staging.tfvars b/resources/terraform/testnet/digital-ocean/staging.tfvars index 7c8b2675..19ffa52d 100644 --- a/resources/terraform/testnet/digital-ocean/staging.tfvars +++ b/resources/terraform/testnet/digital-ocean/staging.tfvars @@ -1,15 +1,15 @@ bootstrap_droplet_size = "s-2vcpu-4gb" -bootstrap_droplet_image_id = 172040723 +bootstrap_droplet_image_id = 172129824 bootstrap_node_vm_count = 2 evm_node_vm_count = 1 evm_node_droplet_size = "s-4vcpu-8gb" evm_node_droplet_image_id = 172040852 -nat_gateway_droplet_image_id = 172051596 +nat_gateway_droplet_image_id = 172129956 node_droplet_size = "s-4vcpu-8gb" -node_droplet_image_id = 172040547 +node_droplet_image_id = 172129019 node_vm_count = 39 private_node_vm_count = 1 setup_nat_gateway = true uploader_droplet_size = "s-2vcpu-4gb" -uploader_droplet_image_id = 172051523 +uploader_droplet_image_id = 172130080 uploader_vm_count = 2 diff --git a/src/ansible/extra_vars.rs b/src/ansible/extra_vars.rs index f01c6e8f..f27de676 100644 --- a/src/ansible/extra_vars.rs +++ b/src/ansible/extra_vars.rs @@ -200,12 +200,12 @@ impl ExtraVarsDocBuilder { repo_owner, ); } - _ => { + BinaryOption::Versioned { antctl_version, .. } => { self.add_variable( "antctld_archive_url", &format!( - "{}/antctld-latest-x86_64-unknown-linux-musl.tar.gz", - ANTCTL_S3_BUCKET_URL, + "{}/antctld-{}-x86_64-unknown-linux-musl.tar.gz", + ANTCTL_S3_BUCKET_URL, antctl_version ), ); } diff --git a/src/main.rs b/src/main.rs index 205edb7f..ed2a0e01 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3051,6 +3051,7 @@ async fn main() -> Result<()> { /// The second option is to build from source, which is useful for testing changes from forks. /// /// The usage of arguments are also validated here. +#[allow(clippy::too_many_arguments)] async fn get_binary_option( branch: Option, protocol_version: Option,