diff --git a/node/Cargo.lock b/node/Cargo.lock index 67d9daf..c99d9f1 100644 --- a/node/Cargo.lock +++ b/node/Cargo.lock @@ -27,31 +27,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "aes" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" -dependencies = [ - "cfg-if", - "cipher", - "cpufeatures", -] - -[[package]] -name = "aes-gcm" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" -dependencies = [ - "aead", - "aes", - "cipher", - "ctr", - "ghash", - "subtle", -] - [[package]] name = "age" version = "0.11.1" @@ -59,7 +34,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57fc171f4874fa10887e47088f81a55fcf030cd421aa31ec2b370cafebcc608a" dependencies = [ "age-core", - "base64 0.21.7", + "base64", "bech32", "chacha20poly1305", "console", @@ -88,7 +63,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2bf6a89c984ca9d850913ece2da39e1d200563b0a94b002b253beee4c5acf99" dependencies = [ - "base64 0.21.7", + "base64", "chacha20poly1305", "cookie-factory", "hkdf", @@ -99,15 +74,6 @@ dependencies = [ "sha2", ] -[[package]] -name = "aho-corasick" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" -dependencies = [ - "memchr", -] - [[package]] name = "allocator-api2" version = "0.2.21" @@ -191,109 +157,12 @@ version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" -[[package]] -name = "arrayref" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" - -[[package]] -name = "arrayvec" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" - [[package]] name = "ascii" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d92bec98840b8f03a5ff5413de5293bfcd8bf96467cf5452609f939ec6f5de16" -[[package]] -name = "asn1-rs" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5493c3bedbacf7fd7382c6346bbd66687d12bbaad3a89a2d2c303ee6cf20b048" -dependencies = [ - "asn1-rs-derive", - "asn1-rs-impl", - "displaydoc", - "nom", - "num-traits", - "rusticata-macros", - "thiserror 1.0.69", - "time", -] - -[[package]] -name = "asn1-rs-derive" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "synstructure", -] - -[[package]] -name = "asn1-rs-impl" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "asn1_der" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "155a5a185e42c6b77ac7b88a15143d930a9e9727a5b7b77eed417404ab15c247" - -[[package]] -name = "async-io" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "456b8a8feb6f42d237746d4b3e9a178494627745c3c56c6ea55d92ba50d026fc" -dependencies = [ - "autocfg", - "cfg-if", - "concurrent-queue", - "futures-io", - "futures-lite", - "parking", - "polling", - "rustix 1.0.8", - "slab", - "windows-sys 0.61.0", -] - -[[package]] -name = "async-stream" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" -dependencies = [ - "async-stream-impl", - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "async-stream-impl" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "async-trait" version = "0.1.89" @@ -305,30 +174,6 @@ dependencies = [ "syn", ] -[[package]] -name = "asynchronous-codec" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a860072022177f903e59730004fb5dc13db9275b79bb2aef7ba8ce831956c233" -dependencies = [ - "bytes", - "futures-sink", - "futures-util", - "memchr", - "pin-project-lite", -] - -[[package]] -name = "attohttpc" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d9a9bf8b79a749ee0b911b91b671cc2b6c670bdbc7e3dfd537576ddc94bb2a2" -dependencies = [ - "http 0.2.12", - "log", - "url", -] - [[package]] name = "autocfg" version = "1.5.0" @@ -350,12 +195,6 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "base-x" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cbbc9d0964165b47557570cce6c952866c2678457aca742aafc9fb771d30270" - [[package]] name = "base16ct" version = "0.2.0" @@ -368,12 +207,6 @@ version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" -[[package]] -name = "base64" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" - [[package]] name = "base64ct" version = "1.8.0" @@ -395,12 +228,6 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" -[[package]] -name = "bimap" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "230c5f1ca6a325a32553f8640d31ac9b49f2411e901e427570154868b46da4f7" - [[package]] name = "bincode" version = "2.0.1" @@ -421,22 +248,6 @@ dependencies = [ "virtue", ] -[[package]] -name = "bitcoin-io" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b47c4ab7a93edb0c7198c5535ed9b52b63095f4e9b45279c6736cec4b856baf" - -[[package]] -name = "bitcoin_hashes" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb18c03d0db0247e147a21a6faafd5a7eb851c743db062de72018b6b7e8e4d16" -dependencies = [ - "bitcoin-io", - "hex-conservative", -] - [[package]] name = "bitflags" version = "1.3.2" @@ -449,50 +260,6 @@ version = "2.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34efbcccd345379ca2868b2b2c9d3782e9cc58ba87bc7d79d5b53d9c9ae6f25d" -[[package]] -name = "blake2" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" -dependencies = [ - "digest", -] - -[[package]] -name = "blake2b_simd" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06e903a20b159e944f91ec8499fe1e55651480c541ea0a584f5d967c49ad9d99" -dependencies = [ - "arrayref", - "arrayvec", - "constant_time_eq", -] - -[[package]] -name = "blake2s_simd" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e90f7deecfac93095eb874a40febd69427776e24e1bd7f87f33ac62d6f0174df" -dependencies = [ - "arrayref", - "arrayvec", - "constant_time_eq", -] - -[[package]] -name = "blake3" -version = "1.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3888aaa89e4b2a40fca9848e400f6a658a5a3978de7be858e209cafa8be9a4a0" -dependencies = [ - "arrayref", - "arrayvec", - "cc", - "cfg-if", - "constant_time_eq", -] - [[package]] name = "block-buffer" version = "0.10.4" @@ -515,13 +282,9 @@ dependencies = [ "crossterm 0.29.0", "futures", "hex", - "libp2p 0.56.0", "memory-stats", "once_cell", "ratatui", - "ring 0.17.14", - "rust-ipfs", - "secp256k1", "serde", "serde-big-array", "sha2", @@ -537,15 +300,6 @@ dependencies = [ "watchlet", ] -[[package]] -name = "bs58" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" -dependencies = [ - "tinyvec", -] - [[package]] name = "bumpalo" version = "3.19.0" @@ -563,9 +317,6 @@ name = "bytes" version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" -dependencies = [ - "serde", -] [[package]] name = "cassowary" @@ -582,24 +333,6 @@ dependencies = [ "rustversion", ] -[[package]] -name = "cbor4ii" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b544cf8c89359205f4f990d0e6f3828db42df85b5dac95d09157a250eb0749c4" -dependencies = [ - "serde", -] - -[[package]] -name = "cbor4ii" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "472931dd4dfcc785075b09be910147f9c6258883fc4591d0dac6116392b2daa6" -dependencies = [ - "serde", -] - [[package]] name = "cc" version = "1.2.34" @@ -615,12 +348,6 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" -[[package]] -name = "cfg_aliases" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" - [[package]] name = "chacha20" version = "0.9.1" @@ -656,7 +383,7 @@ dependencies = [ "js-sys", "num-traits", "wasm-bindgen", - "windows-link 0.1.3", + "windows-link", ] [[package]] @@ -665,20 +392,6 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e4de3bc4ea267985becf712dc6d9eed8b04c953b3fcfb339ebc87acd9804901" -[[package]] -name = "cid" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3147d8272e8fa0ccd29ce51194dd98f79ddfb8191ba9e3409884e751798acf3a" -dependencies = [ - "core2", - "multibase", - "multihash", - "serde", - "serde_bytes", - "unsigned-varint 0.8.0", -] - [[package]] name = "cipher" version = "0.4.4" @@ -770,15 +483,6 @@ dependencies = [ "static_assertions", ] -[[package]] -name = "concurrent-queue" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" -dependencies = [ - "crossbeam-utils", -] - [[package]] name = "console" version = "0.15.11" @@ -797,21 +501,6 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" -[[package]] -name = "constant_time_eq" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" - -[[package]] -name = "convert_case" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" -dependencies = [ - "unicode-segmentation", -] - [[package]] name = "convert_case" version = "0.7.1" @@ -830,31 +519,12 @@ dependencies = [ "futures", ] -[[package]] -name = "core-foundation" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" -dependencies = [ - "core-foundation-sys", - "libc", -] - [[package]] name = "core-foundation-sys" version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" -[[package]] -name = "core2" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505" -dependencies = [ - "memchr", -] - [[package]] name = "cpufeatures" version = "0.2.17" @@ -912,7 +582,7 @@ checksum = "d8b9f2e4c67f833b660cdb0a3523065869fb35570177239812ed4c905aeff87b" dependencies = [ "bitflags 2.9.3", "crossterm_winapi", - "derive_more 2.0.1", + "derive_more", "document-features", "futures-core", "mio", @@ -932,12 +602,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "crunchy" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" - [[package]] name = "crypto-bigint" version = "0.5.5" @@ -957,19 +621,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", - "rand_core 0.6.4", "typenum", ] -[[package]] -name = "ctr" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" -dependencies = [ - "cipher", -] - [[package]] name = "curve25519-dalek" version = "4.1.3" @@ -979,7 +633,6 @@ dependencies = [ "cfg-if", "cpufeatures", "curve25519-dalek-derive", - "digest", "fiat-crypto", "rustc_version", "subtle", @@ -1038,26 +691,6 @@ version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" -[[package]] -name = "data-encoding-macro" -version = "0.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47ce6c96ea0102f01122a185683611bd5ac8d99e62bc59dd12e6bda344ee673d" -dependencies = [ - "data-encoding", - "data-encoding-macro-internal", -] - -[[package]] -name = "data-encoding-macro-internal" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d162beedaa69905488a8da94f5ac3edb4dd4788b732fadb7bd120b2625c1976" -dependencies = [ - "data-encoding", - "syn", -] - [[package]] name = "der" version = "0.7.10" @@ -1065,62 +698,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" dependencies = [ "const-oid", - "pem-rfc7468", "zeroize", ] -[[package]] -name = "der-parser" -version = "9.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cd0a5c643689626bec213c4d8bd4d96acc8ffdb4ad4bb6bc16abf27d5f4b553" -dependencies = [ - "asn1-rs", - "displaydoc", - "nom", - "num-bigint", - "num-traits", - "rusticata-macros", -] - -[[package]] -name = "deranged" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d630bccd429a5bb5a64b5e94f693bfc48c9f8566418fda4c494cc94f911f87cc" -dependencies = [ - "powerfmt", -] - -[[package]] -name = "derive_more" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" -dependencies = [ - "derive_more-impl 1.0.0", -] - [[package]] name = "derive_more" version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" dependencies = [ - "derive_more-impl 2.0.1", -] - -[[package]] -name = "derive_more-impl" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" -dependencies = [ - "convert_case 0.6.0", - "proc-macro2", - "quote", - "syn", - "unicode-xid", + "derive_more-impl", ] [[package]] @@ -1129,7 +716,7 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" dependencies = [ - "convert_case 0.7.1", + "convert_case", "proc-macro2", "quote", "syn", @@ -1167,12 +754,6 @@ dependencies = [ "litrs", ] -[[package]] -name = "dtoa" -version = "1.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6add3b8cff394282be81f3fc1a0605db594ed69890078ca6e2cab1c408bcf04" - [[package]] name = "ecdsa" version = "0.16.9" @@ -1187,30 +768,6 @@ dependencies = [ "spki", ] -[[package]] -name = "ed25519" -version = "2.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" -dependencies = [ - "pkcs8", - "signature", -] - -[[package]] -name = "ed25519-dalek" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9" -dependencies = [ - "curve25519-dalek", - "ed25519", - "serde", - "sha2", - "subtle", - "zeroize", -] - [[package]] name = "either" version = "1.15.0" @@ -1229,7 +786,6 @@ dependencies = [ "ff", "generic-array", "group", - "pem-rfc7468", "pkcs8", "rand_core 0.6.4", "sec1", @@ -1243,18 +799,6 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" -[[package]] -name = "enum-as-inner" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "equivalent" version = "1.0.2" @@ -1287,18 +831,6 @@ version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" -[[package]] -name = "filetime" -version = "0.2.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc0505cd1b6fa6580283f6bdf70a73fcf4aba1184038c90902b92b3dd0df63ed" -dependencies = [ - "cfg-if", - "libc", - "libredox", - "windows-sys 0.60.2", -] - [[package]] name = "find-crate" version = "0.6.3" @@ -1364,15 +896,6 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" -[[package]] -name = "form_urlencoded" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" -dependencies = [ - "percent-encoding", -] - [[package]] name = "fs2" version = "0.4.3" @@ -1398,16 +921,6 @@ dependencies = [ "futures-util", ] -[[package]] -name = "futures-bounded" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91f328e7fb845fc832912fb6a34f40cf6d1888c92f974d1893a54e97b5ff542e" -dependencies = [ - "futures-timer", - "futures-util", -] - [[package]] name = "futures-channel" version = "0.3.31" @@ -1433,7 +946,6 @@ dependencies = [ "futures-core", "futures-task", "futures-util", - "num_cpus", ] [[package]] @@ -1442,16 +954,6 @@ version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" -[[package]] -name = "futures-lite" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" -dependencies = [ - "futures-core", - "pin-project-lite", -] - [[package]] name = "futures-macro" version = "0.3.31" @@ -1463,17 +965,6 @@ dependencies = [ "syn", ] -[[package]] -name = "futures-rustls" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f2f12607f92c69b12ed746fabf9ca4f5c482cba46679c1a75b874ed7c26adb" -dependencies = [ - "futures-io", - "rustls", - "rustls-pki-types", -] - [[package]] name = "futures-sink" version = "0.3.31" @@ -1486,38 +977,6 @@ version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" -[[package]] -name = "futures-ticker" -version = "0.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9763058047f713632a52e916cc7f6a4b3fc6e9fc1ff8c5b1dc49e5a89041682e" -dependencies = [ - "futures", - "futures-timer", - "instant", -] - -[[package]] -name = "futures-timeout" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc766541fbac66e9c9b53a92623c38e9a22768a4bd6a0c49a0b564b0126474e2" -dependencies = [ - "futures", - "futures-timer", - "pin-project", -] - -[[package]] -name = "futures-timer" -version = "3.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" -dependencies = [ - "gloo-timers", - "send_wrapper 0.4.0", -] - [[package]] name = "futures-util" version = "0.3.31" @@ -1576,21 +1035,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" dependencies = [ "cfg-if", - "js-sys", "libc", "r-efi", "wasi 0.14.2+wasi-0.2.4", - "wasm-bindgen", -] - -[[package]] -name = "ghash" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1" -dependencies = [ - "opaque-debug", - "polyval", ] [[package]] @@ -1599,18 +1046,6 @@ version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" -[[package]] -name = "gloo-timers" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" -dependencies = [ - "futures-channel", - "futures-core", - "js-sys", - "wasm-bindgen", -] - [[package]] name = "group" version = "0.13.0" @@ -1622,25 +1057,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "h2" -version = "0.3.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0beca50380b1fc32983fc1cb4587bfa4bb9e78fc259aad4a0032d2080309222d" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http 0.2.12", - "indexmap", - "slab", - "tokio", - "tokio-util", - "tracing", -] - [[package]] name = "hashbrown" version = "0.15.5" @@ -1670,67 +1086,6 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" -[[package]] -name = "hex-conservative" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5313b072ce3c597065a808dbf612c4c8e8590bdbf8b579508bf7a762c5eae6cd" -dependencies = [ - "arrayvec", -] - -[[package]] -name = "hex_fmt" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b07f60793ff0a4d9cef0f18e63b5357e06209987153a64648c972c1e5aff336f" - -[[package]] -name = "hickory-proto" -version = "0.24.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92652067c9ce6f66ce53cc38d1169daa36e6e7eb7dd3b63b5103bd9d97117248" -dependencies = [ - "async-trait", - "cfg-if", - "data-encoding", - "enum-as-inner", - "futures-channel", - "futures-io", - "futures-util", - "idna", - "ipnet", - "once_cell", - "rand 0.8.5", - "socket2 0.5.10", - "thiserror 1.0.69", - "tinyvec", - "tokio", - "tracing", - "url", -] - -[[package]] -name = "hickory-resolver" -version = "0.24.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbb117a1ca520e111743ab2f6688eddee69db4e0ea242545a604dce8a66fd22e" -dependencies = [ - "cfg-if", - "futures-util", - "hickory-proto", - "ipconfig", - "lru-cache", - "once_cell", - "parking_lot 0.12.4", - "rand 0.8.5", - "resolv-conf", - "smallvec", - "thiserror 1.0.69", - "tokio", - "tracing", -] - [[package]] name = "hkdf" version = "0.12.4" @@ -1758,17 +1113,6 @@ dependencies = [ "windows-sys 0.59.0", ] -[[package]] -name = "http" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - [[package]] name = "http" version = "1.3.1" @@ -1780,17 +1124,6 @@ dependencies = [ "itoa", ] -[[package]] -name = "http-body" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" -dependencies = [ - "bytes", - "http 0.2.12", - "pin-project-lite", -] - [[package]] name = "httparse" version = "1.10.1" @@ -1803,30 +1136,6 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" -[[package]] -name = "hyper" -version = "0.14.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7" -dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "h2", - "http 0.2.12", - "http-body", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "socket2 0.5.10", - "tokio", - "tower-service", - "tracing", - "want", -] - [[package]] name = "i18n-config" version = "0.4.8" @@ -1905,7 +1214,7 @@ dependencies = [ "js-sys", "log", "wasm-bindgen", - "windows-core 0.61.2", + "windows-core", ] [[package]] @@ -1917,195 +1226,12 @@ dependencies = [ "cc", ] -[[package]] -name = "icu_collections" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" -dependencies = [ - "displaydoc", - "potential_utf", - "yoke", - "zerofrom", - "zerovec", -] - -[[package]] -name = "icu_locale_core" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" -dependencies = [ - "displaydoc", - "litemap", - "tinystr", - "writeable", - "zerovec", -] - -[[package]] -name = "icu_normalizer" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" -dependencies = [ - "displaydoc", - "icu_collections", - "icu_normalizer_data", - "icu_properties", - "icu_provider", - "smallvec", - "zerovec", -] - -[[package]] -name = "icu_normalizer_data" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" - -[[package]] -name = "icu_properties" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" -dependencies = [ - "displaydoc", - "icu_collections", - "icu_locale_core", - "icu_properties_data", - "icu_provider", - "potential_utf", - "zerotrie", - "zerovec", -] - -[[package]] -name = "icu_properties_data" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" - -[[package]] -name = "icu_provider" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" -dependencies = [ - "displaydoc", - "icu_locale_core", - "stable_deref_trait", - "tinystr", - "writeable", - "yoke", - "zerofrom", - "zerotrie", - "zerovec", -] - -[[package]] -name = "idb" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3afe8830d5802f769dc0be20a87f9f116798c896650cb6266eb5c19a3c109eed" -dependencies = [ - "js-sys", - "num-traits", - "thiserror 1.0.69", - "tokio", - "wasm-bindgen", - "web-sys", -] - [[package]] name = "ident_case" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" -[[package]] -name = "idna" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" -dependencies = [ - "idna_adapter", - "smallvec", - "utf8_iter", -] - -[[package]] -name = "idna_adapter" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" -dependencies = [ - "icu_normalizer", - "icu_properties", -] - -[[package]] -name = "if-addrs" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cabb0019d51a643781ff15c9c8a3e5dedc365c47211270f4e8f82812fedd8f0a" -dependencies = [ - "libc", - "windows-sys 0.48.0", -] - -[[package]] -name = "if-watch" -version = "3.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdf9d64cfcf380606e64f9a0bcf493616b65331199f984151a6fa11a7b3cde38" -dependencies = [ - "async-io", - "core-foundation", - "fnv", - "futures", - "if-addrs", - "ipnet", - "log", - "netlink-packet-core", - "netlink-packet-route", - "netlink-proto", - "netlink-sys", - "rtnetlink", - "system-configuration", - "tokio", - "windows", -] - -[[package]] -name = "igd-next" -version = "0.14.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "064d90fec10d541084e7b39ead8875a5a80d9114a2b18791565253bae25f49e4" -dependencies = [ - "async-trait", - "attohttpc", - "bytes", - "futures", - "http 0.2.12", - "hyper", - "log", - "rand 0.8.5", - "tokio", - "url", - "xmltree", -] - -[[package]] -name = "indexmap" -version = "2.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b0f83760fb341a774ed326568e19f5a863af4a952def8c39f9ab92fd95b88e5" -dependencies = [ - "equivalent", - "hashbrown", -] - [[package]] name = "indoc" version = "2.0.6" @@ -2141,9 +1267,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" dependencies = [ "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", ] [[package]] @@ -2182,47 +1305,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4b3f7cef34251886990511df1c61443aa928499d598a9473929ab5a90a527304" -[[package]] -name = "ipconfig" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" -dependencies = [ - "socket2 0.5.10", - "widestring", - "windows-sys 0.48.0", - "winreg", -] - -[[package]] -name = "ipld-core" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "104718b1cc124d92a6d01ca9c9258a7df311405debb3408c445a36452f9bf8db" -dependencies = [ - "cid", - "serde", - "serde_bytes", -] - -[[package]] -name = "ipld-dagpb" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e51fc90b345e57d8d5346dcef5eb16d51d1d19572a8a2d23c15009904e68244" -dependencies = [ - "bytes", - "ipld-core", - "quick-protobuf", - "thiserror 1.0.69", -] - -[[package]] -name = "ipnet" -version = "2.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" - [[package]] name = "is-terminal" version = "0.4.16" @@ -2300,747 +1382,6 @@ version = "0.2.175" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" -[[package]] -name = "libp2p" -version = "0.54.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbbe80f9c7e00526cd6b838075b9c171919404a4732cb2fa8ece0a093223bfc4" -dependencies = [ - "bytes", - "either", - "futures", - "futures-timer", - "getrandom 0.2.16", - "libp2p-allow-block-list 0.4.0", - "libp2p-autonat", - "libp2p-connection-limits 0.4.0", - "libp2p-core 0.42.0", - "libp2p-dcutr", - "libp2p-dns", - "libp2p-gossipsub", - "libp2p-identify", - "libp2p-identity", - "libp2p-kad", - "libp2p-mdns", - "libp2p-metrics", - "libp2p-noise", - "libp2p-ping", - "libp2p-quic", - "libp2p-relay", - "libp2p-rendezvous", - "libp2p-request-response", - "libp2p-swarm 0.45.1", - "libp2p-tcp", - "libp2p-tls", - "libp2p-upnp", - "libp2p-websocket", - "libp2p-websocket-websys", - "libp2p-webtransport-websys", - "libp2p-yamux", - "multiaddr", - "pin-project", - "rw-stream-sink", - "thiserror 1.0.69", -] - -[[package]] -name = "libp2p" -version = "0.56.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce71348bf5838e46449ae240631117b487073d5f347c06d434caddcb91dceb5a" -dependencies = [ - "bytes", - "either", - "futures", - "futures-timer", - "getrandom 0.2.16", - "libp2p-allow-block-list 0.6.0", - "libp2p-connection-limits 0.6.0", - "libp2p-core 0.43.1", - "libp2p-identity", - "libp2p-swarm 0.47.0", - "multiaddr", - "pin-project", - "rw-stream-sink", - "thiserror 2.0.16", -] - -[[package]] -name = "libp2p-allow-block-list" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1027ccf8d70320ed77e984f273bc8ce952f623762cb9bf2d126df73caef8041" -dependencies = [ - "libp2p-core 0.42.0", - "libp2p-identity", - "libp2p-swarm 0.45.1", - "void", -] - -[[package]] -name = "libp2p-allow-block-list" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d16ccf824ee859ca83df301e1c0205270206223fd4b1f2e512a693e1912a8f4a" -dependencies = [ - "libp2p-core 0.43.1", - "libp2p-identity", - "libp2p-swarm 0.47.0", -] - -[[package]] -name = "libp2p-autonat" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a083675f189803d0682a2726131628e808144911dad076858bfbe30b13065499" -dependencies = [ - "async-trait", - "asynchronous-codec", - "bytes", - "either", - "futures", - "futures-bounded", - "futures-timer", - "libp2p-core 0.42.0", - "libp2p-identity", - "libp2p-request-response", - "libp2p-swarm 0.45.1", - "quick-protobuf", - "quick-protobuf-codec", - "rand 0.8.5", - "rand_core 0.6.4", - "thiserror 1.0.69", - "tracing", - "void", - "web-time", -] - -[[package]] -name = "libp2p-connection-limits" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d003540ee8baef0d254f7b6bfd79bac3ddf774662ca0abf69186d517ef82ad8" -dependencies = [ - "libp2p-core 0.42.0", - "libp2p-identity", - "libp2p-swarm 0.45.1", - "void", -] - -[[package]] -name = "libp2p-connection-limits" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a18b8b607cf3bfa2f8c57db9c7d8569a315d5cc0a282e6bfd5ebfc0a9840b2a0" -dependencies = [ - "libp2p-core 0.43.1", - "libp2p-identity", - "libp2p-swarm 0.47.0", -] - -[[package]] -name = "libp2p-core" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a61f26c83ed111104cd820fe9bc3aaabbac5f1652a1d213ed6e900b7918a1298" -dependencies = [ - "either", - "fnv", - "futures", - "futures-timer", - "libp2p-identity", - "multiaddr", - "multihash", - "multistream-select", - "once_cell", - "parking_lot 0.12.4", - "pin-project", - "quick-protobuf", - "rand 0.8.5", - "rw-stream-sink", - "serde", - "smallvec", - "thiserror 1.0.69", - "tracing", - "unsigned-varint 0.8.0", - "void", - "web-time", -] - -[[package]] -name = "libp2p-core" -version = "0.43.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d28e2d2def7c344170f5c6450c0dbe3dfef655610dbfde2f6ac28a527abbe36" -dependencies = [ - "either", - "fnv", - "futures", - "futures-timer", - "libp2p-identity", - "multiaddr", - "multihash", - "multistream-select", - "parking_lot 0.12.4", - "pin-project", - "quick-protobuf", - "rand 0.8.5", - "rw-stream-sink", - "thiserror 2.0.16", - "tracing", - "unsigned-varint 0.8.0", - "web-time", -] - -[[package]] -name = "libp2p-dcutr" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3236a2e24cbcf2d05b398b003ed920e1e8cedede13784d90fa3961b109647ce0" -dependencies = [ - "asynchronous-codec", - "either", - "futures", - "futures-bounded", - "futures-timer", - "libp2p-core 0.42.0", - "libp2p-identity", - "libp2p-swarm 0.45.1", - "lru", - "quick-protobuf", - "quick-protobuf-codec", - "thiserror 1.0.69", - "tracing", - "void", - "web-time", -] - -[[package]] -name = "libp2p-dns" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97f37f30d5c7275db282ecd86e54f29dd2176bd3ac656f06abf43bedb21eb8bd" -dependencies = [ - "async-trait", - "futures", - "hickory-resolver", - "libp2p-core 0.42.0", - "libp2p-identity", - "parking_lot 0.12.4", - "smallvec", - "tracing", -] - -[[package]] -name = "libp2p-gossipsub" -version = "0.47.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4e830fdf24ac8c444c12415903174d506e1e077fbe3875c404a78c5935a8543" -dependencies = [ - "asynchronous-codec", - "base64 0.22.1", - "byteorder", - "bytes", - "either", - "fnv", - "futures", - "futures-ticker", - "getrandom 0.2.16", - "hex_fmt", - "libp2p-core 0.42.0", - "libp2p-identity", - "libp2p-swarm 0.45.1", - "prometheus-client", - "quick-protobuf", - "quick-protobuf-codec", - "rand 0.8.5", - "regex", - "serde", - "sha2", - "smallvec", - "tracing", - "void", - "web-time", -] - -[[package]] -name = "libp2p-identify" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1711b004a273be4f30202778856368683bd9a83c4c7dcc8f848847606831a4e3" -dependencies = [ - "asynchronous-codec", - "either", - "futures", - "futures-bounded", - "futures-timer", - "libp2p-core 0.42.0", - "libp2p-identity", - "libp2p-swarm 0.45.1", - "lru", - "quick-protobuf", - "quick-protobuf-codec", - "smallvec", - "thiserror 1.0.69", - "tracing", - "void", -] - -[[package]] -name = "libp2p-identity" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3104e13b51e4711ff5738caa1fb54467c8604c2e94d607e27745bcf709068774" -dependencies = [ - "asn1_der", - "bs58", - "ed25519-dalek", - "hkdf", - "k256", - "multihash", - "p256", - "quick-protobuf", - "rand 0.8.5", - "ring 0.17.14", - "sec1", - "serde", - "sha2", - "thiserror 2.0.16", - "tracing", - "zeroize", -] - -[[package]] -name = "libp2p-kad" -version = "0.46.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced237d0bd84bbebb7c2cad4c073160dacb4fe40534963c32ed6d4c6bb7702a3" -dependencies = [ - "arrayvec", - "asynchronous-codec", - "bytes", - "either", - "fnv", - "futures", - "futures-bounded", - "futures-timer", - "libp2p-core 0.42.0", - "libp2p-identity", - "libp2p-swarm 0.45.1", - "quick-protobuf", - "quick-protobuf-codec", - "rand 0.8.5", - "serde", - "sha2", - "smallvec", - "thiserror 1.0.69", - "tracing", - "uint", - "void", - "web-time", -] - -[[package]] -name = "libp2p-mdns" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14b8546b6644032565eb29046b42744aee1e9f261ed99671b2c93fb140dba417" -dependencies = [ - "data-encoding", - "futures", - "hickory-proto", - "if-watch", - "libp2p-core 0.42.0", - "libp2p-identity", - "libp2p-swarm 0.45.1", - "rand 0.8.5", - "smallvec", - "socket2 0.5.10", - "tokio", - "tracing", - "void", -] - -[[package]] -name = "libp2p-metrics" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ebafa94a717c8442d8db8d3ae5d1c6a15e30f2d347e0cd31d057ca72e42566" -dependencies = [ - "futures", - "libp2p-core 0.42.0", - "libp2p-dcutr", - "libp2p-gossipsub", - "libp2p-identify", - "libp2p-identity", - "libp2p-kad", - "libp2p-ping", - "libp2p-relay", - "libp2p-swarm 0.45.1", - "pin-project", - "prometheus-client", - "web-time", -] - -[[package]] -name = "libp2p-noise" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36b137cb1ae86ee39f8e5d6245a296518912014eaa87427d24e6ff58cfc1b28c" -dependencies = [ - "asynchronous-codec", - "bytes", - "curve25519-dalek", - "futures", - "libp2p-core 0.42.0", - "libp2p-identity", - "multiaddr", - "multihash", - "once_cell", - "quick-protobuf", - "rand 0.8.5", - "sha2", - "snow", - "static_assertions", - "thiserror 1.0.69", - "tracing", - "x25519-dalek", - "zeroize", -] - -[[package]] -name = "libp2p-ping" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "005a34420359223b974ee344457095f027e51346e992d1e0dcd35173f4cdd422" -dependencies = [ - "either", - "futures", - "futures-timer", - "libp2p-core 0.42.0", - "libp2p-identity", - "libp2p-swarm 0.45.1", - "rand 0.8.5", - "tracing", - "void", - "web-time", -] - -[[package]] -name = "libp2p-quic" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46352ac5cd040c70e88e7ff8257a2ae2f891a4076abad2c439584a31c15fd24e" -dependencies = [ - "bytes", - "futures", - "futures-timer", - "if-watch", - "libp2p-core 0.42.0", - "libp2p-identity", - "libp2p-tls", - "parking_lot 0.12.4", - "quinn", - "rand 0.8.5", - "ring 0.17.14", - "rustls", - "socket2 0.5.10", - "thiserror 1.0.69", - "tokio", - "tracing", -] - -[[package]] -name = "libp2p-relay" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10df23d7f5b5adcc129f4a69d6fbd05209e356ccf9e8f4eb10b2692b79c77247" -dependencies = [ - "asynchronous-codec", - "bytes", - "either", - "futures", - "futures-bounded", - "futures-timer", - "libp2p-core 0.42.0", - "libp2p-identity", - "libp2p-swarm 0.45.1", - "quick-protobuf", - "quick-protobuf-codec", - "rand 0.8.5", - "static_assertions", - "thiserror 1.0.69", - "tracing", - "void", - "web-time", -] - -[[package]] -name = "libp2p-relay-manager" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53f015b08268dc7be7d023dcb077cc20a7733d220502c7b627d1567f220be597" -dependencies = [ - "anyhow", - "futures", - "futures-timer", - "getrandom 0.2.16", - "libp2p 0.54.1", - "log", - "rand 0.8.5", - "thiserror 1.0.69", - "void", -] - -[[package]] -name = "libp2p-rendezvous" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b7e42a1a3315589649590228bbea53fa980e7e8e523dbe6edfbd9c1eb26de3e" -dependencies = [ - "async-trait", - "asynchronous-codec", - "bimap", - "futures", - "futures-timer", - "libp2p-core 0.42.0", - "libp2p-identity", - "libp2p-request-response", - "libp2p-swarm 0.45.1", - "quick-protobuf", - "quick-protobuf-codec", - "rand 0.8.5", - "thiserror 1.0.69", - "tracing", - "void", - "web-time", -] - -[[package]] -name = "libp2p-request-response" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1356c9e376a94a75ae830c42cdaea3d4fe1290ba409a22c809033d1b7dcab0a6" -dependencies = [ - "async-trait", - "cbor4ii 0.3.3", - "futures", - "futures-bounded", - "futures-timer", - "libp2p-core 0.42.0", - "libp2p-identity", - "libp2p-swarm 0.45.1", - "rand 0.8.5", - "serde", - "serde_json", - "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" -dependencies = [ - "either", - "fnv", - "futures", - "futures-timer", - "getrandom 0.2.16", - "libp2p-core 0.42.0", - "libp2p-identity", - "libp2p-swarm-derive", - "lru", - "multistream-select", - "once_cell", - "rand 0.8.5", - "smallvec", - "tokio", - "tracing", - "void", - "wasm-bindgen-futures", - "web-time", -] - -[[package]] -name = "libp2p-swarm" -version = "0.47.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6aa762e5215919a34e31c35d4b18bf2e18566ecab7f8a3d39535f4a3068f8b62" -dependencies = [ - "either", - "fnv", - "futures", - "futures-timer", - "libp2p-core 0.43.1", - "libp2p-identity", - "lru", - "multistream-select", - "rand 0.8.5", - "smallvec", - "tracing", - "web-time", -] - -[[package]] -name = "libp2p-swarm-derive" -version = "0.35.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "206e0aa0ebe004d778d79fb0966aa0de996c19894e2c0605ba2f8524dd4443d8" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "libp2p-tcp" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad964f312c59dcfcac840acd8c555de8403e295d39edf96f5240048b5fcaa314" -dependencies = [ - "futures", - "futures-timer", - "if-watch", - "libc", - "libp2p-core 0.42.0", - "libp2p-identity", - "socket2 0.5.10", - "tokio", - "tracing", -] - -[[package]] -name = "libp2p-tls" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47b23dddc2b9c355f73c1e36eb0c3ae86f7dc964a3715f0731cfad352db4d847" -dependencies = [ - "futures", - "futures-rustls", - "libp2p-core 0.42.0", - "libp2p-identity", - "rcgen 0.11.3", - "ring 0.17.14", - "rustls", - "rustls-webpki 0.101.7", - "thiserror 1.0.69", - "x509-parser", - "yasna", -] - -[[package]] -name = "libp2p-upnp" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01bf2d1b772bd3abca049214a3304615e6a36fa6ffc742bdd1ba774486200b8f" -dependencies = [ - "futures", - "futures-timer", - "igd-next", - "libp2p-core 0.42.0", - "libp2p-swarm 0.45.1", - "tokio", - "tracing", - "void", -] - -[[package]] -name = "libp2p-websocket" -version = "0.44.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "888b2ff2e5d8dcef97283daab35ad1043d18952b65e05279eecbe02af4c6e347" -dependencies = [ - "either", - "futures", - "futures-rustls", - "libp2p-core 0.42.0", - "libp2p-identity", - "parking_lot 0.12.4", - "pin-project-lite", - "rw-stream-sink", - "soketto", - "thiserror 1.0.69", - "tracing", - "url", - "webpki-roots 0.25.4", -] - -[[package]] -name = "libp2p-websocket-websys" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38cf9b429dd07be52cd82c4c484b1694df4209210a7db3b9ffb00c7606e230c8" -dependencies = [ - "bytes", - "futures", - "js-sys", - "libp2p-core 0.42.0", - "parking_lot 0.12.4", - "send_wrapper 0.6.0", - "thiserror 1.0.69", - "tracing", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "libp2p-webtransport-websys" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7734b77ba70a9e669f8dbfe17d866c06aef34e35e6ec8b307c4144f0f26ec369" -dependencies = [ - "futures", - "js-sys", - "libp2p-core 0.42.0", - "libp2p-identity", - "libp2p-noise", - "multiaddr", - "multihash", - "send_wrapper 0.6.0", - "thiserror 1.0.69", - "tracing", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "libp2p-yamux" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "788b61c80789dba9760d8c669a5bedb642c8267555c803fabd8396e4ca5c5882" -dependencies = [ - "either", - "futures", - "libp2p-core 0.42.0", - "thiserror 1.0.69", - "tracing", - "yamux 0.12.1", - "yamux 0.13.6", -] - -[[package]] -name = "libredox" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb" -dependencies = [ - "bitflags 2.9.3", - "libc", - "redox_syscall 0.5.17", -] - -[[package]] -name = "linked-hash-map" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" - [[package]] name = "linux-raw-sys" version = "0.4.15" @@ -3053,12 +1394,6 @@ version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" -[[package]] -name = "litemap" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" - [[package]] name = "litrs" version = "0.4.2" @@ -3090,21 +1425,6 @@ dependencies = [ "hashbrown", ] -[[package]] -name = "lru-cache" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c" -dependencies = [ - "linked-hash-map", -] - -[[package]] -name = "lru-slab" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" - [[package]] name = "memchr" version = "2.7.5" @@ -3148,185 +1468,6 @@ dependencies = [ "windows-sys 0.59.0", ] -[[package]] -name = "multiaddr" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe6351f60b488e04c1d21bc69e56b89cb3f5e8f5d22557d6e8031bdfd79b6961" -dependencies = [ - "arrayref", - "byteorder", - "data-encoding", - "libp2p-identity", - "multibase", - "multihash", - "percent-encoding", - "serde", - "static_assertions", - "unsigned-varint 0.8.0", - "url", -] - -[[package]] -name = "multibase" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b3539ec3c1f04ac9748a260728e855f261b4977f5c3406612c884564f329404" -dependencies = [ - "base-x", - "data-encoding", - "data-encoding-macro", -] - -[[package]] -name = "multihash" -version = "0.19.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b430e7953c29dd6a09afc29ff0bb69c6e306329ee6794700aee27b76a1aea8d" -dependencies = [ - "core2", - "serde", - "unsigned-varint 0.8.0", -] - -[[package]] -name = "multihash-codetable" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67996849749d25f1da9f238e8ace2ece8f9d6bdf3f9750aaf2ae7de3a5cad8ea" -dependencies = [ - "blake2b_simd", - "blake2s_simd", - "blake3", - "core2", - "digest", - "multihash-derive", - "ripemd", - "sha1", - "sha2", - "sha3", - "strobe-rs", -] - -[[package]] -name = "multihash-derive" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f1b7edab35d920890b88643a765fc9bd295cf0201f4154dda231bef9b8404eb" -dependencies = [ - "core2", - "multihash", - "multihash-derive-impl", -] - -[[package]] -name = "multihash-derive-impl" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3dc7141bd06405929948754f0628d247f5ca1865be745099205e5086da957cb" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn", - "synstructure", -] - -[[package]] -name = "multistream-select" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea0df8e5eec2298a62b326ee4f0d7fe1a6b90a09dfcf9df37b38f947a8c42f19" -dependencies = [ - "bytes", - "futures", - "log", - "pin-project", - "smallvec", - "unsigned-varint 0.7.2", -] - -[[package]] -name = "netlink-packet-core" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72724faf704479d67b388da142b186f916188505e7e0b26719019c525882eda4" -dependencies = [ - "anyhow", - "byteorder", - "netlink-packet-utils", -] - -[[package]] -name = "netlink-packet-route" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "053998cea5a306971f88580d0829e90f270f940befd7cf928da179d4187a5a66" -dependencies = [ - "anyhow", - "bitflags 1.3.2", - "byteorder", - "libc", - "netlink-packet-core", - "netlink-packet-utils", -] - -[[package]] -name = "netlink-packet-utils" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ede8a08c71ad5a95cdd0e4e52facd37190977039a4704eb82a283f713747d34" -dependencies = [ - "anyhow", - "byteorder", - "paste", - "thiserror 1.0.69", -] - -[[package]] -name = "netlink-proto" -version = "0.11.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72452e012c2f8d612410d89eea01e2d9b56205274abb35d53f60200b2ec41d60" -dependencies = [ - "bytes", - "futures", - "log", - "netlink-packet-core", - "netlink-sys", - "thiserror 2.0.16", -] - -[[package]] -name = "netlink-sys" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16c903aa70590cb93691bf97a767c8d1d6122d2cc9070433deb3bbf36ce8bd23" -dependencies = [ - "bytes", - "futures", - "libc", - "log", - "tokio", -] - -[[package]] -name = "nix" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" -dependencies = [ - "bitflags 1.3.2", - "cfg-if", - "libc", -] - -[[package]] -name = "nohash-hasher" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" - [[package]] name = "nom" version = "7.1.3" @@ -3337,31 +1478,6 @@ dependencies = [ "minimal-lexical", ] -[[package]] -name = "num-bigint" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" -dependencies = [ - "num-integer", - "num-traits", -] - -[[package]] -name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - -[[package]] -name = "num-integer" -version = "0.1.46" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" -dependencies = [ - "num-traits", -] - [[package]] name = "num-traits" version = "0.2.19" @@ -3371,16 +1487,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "num_cpus" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b" -dependencies = [ - "hermit-abi", - "libc", -] - [[package]] name = "object" version = "0.36.7" @@ -3390,15 +1496,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "oid-registry" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8d8034d9489cdaf79228eb9f6a3b8d7bb32ba00d6645ebd48eef4077ceb5bd9" -dependencies = [ - "asn1-rs", -] - [[package]] name = "once_cell" version = "1.21.3" @@ -3417,24 +1514,6 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" -[[package]] -name = "p256" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" -dependencies = [ - "ecdsa", - "elliptic-curve", - "primeorder", - "sha2", -] - -[[package]] -name = "parking" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" - [[package]] name = "parking_lot" version = "0.11.2" @@ -3499,25 +1578,6 @@ dependencies = [ "hmac", ] -[[package]] -name = "pem" -version = "3.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38af38e8470ac9dee3ce1bae1af9c1671fffc44ddfd8bd1d0a3445bf349a8ef3" -dependencies = [ - "base64 0.22.1", - "serde", -] - -[[package]] -name = "pem-rfc7468" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" -dependencies = [ - "base64ct", -] - [[package]] name = "percent-encoding" version = "2.3.2" @@ -3580,30 +1640,6 @@ dependencies = [ "spki", ] -[[package]] -name = "pollable-map" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d6bdfa83e9df9f8aed76d670be96ab6e4043a1c4808da1df9005feed1a82293" -dependencies = [ - "futures", - "futures-timeout", -] - -[[package]] -name = "polling" -version = "3.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218" -dependencies = [ - "cfg-if", - "concurrent-queue", - "hermit-abi", - "pin-project-lite", - "rustix 1.0.8", - "windows-sys 0.61.0", -] - [[package]] name = "poly1305" version = "0.8.0" @@ -3615,33 +1651,6 @@ dependencies = [ "universal-hash", ] -[[package]] -name = "polyval" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" -dependencies = [ - "cfg-if", - "cpufeatures", - "opaque-debug", - "universal-hash", -] - -[[package]] -name = "potential_utf" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a" -dependencies = [ - "zerovec", -] - -[[package]] -name = "powerfmt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - [[package]] name = "ppv-lite86" version = "0.2.21" @@ -3651,24 +1660,6 @@ dependencies = [ "zerocopy", ] -[[package]] -name = "primeorder" -version = "0.13.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" -dependencies = [ - "elliptic-curve", -] - -[[package]] -name = "proc-macro-crate" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983" -dependencies = [ - "toml_edit", -] - [[package]] name = "proc-macro-error-attr2" version = "2.0.0" @@ -3700,107 +1691,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "prometheus-client" -version = "0.22.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "504ee9ff529add891127c4827eb481bd69dc0ebc72e9a682e187db4caa60c3ca" -dependencies = [ - "dtoa", - "itoa", - "parking_lot 0.12.4", - "prometheus-client-derive-encode", -] - -[[package]] -name = "prometheus-client-derive-encode" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "quick-protobuf" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d6da84cc204722a989e01ba2f6e1e276e190f22263d0cb6ce8526fcdb0d2e1f" -dependencies = [ - "byteorder", -] - -[[package]] -name = "quick-protobuf-codec" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15a0580ab32b169745d7a39db2ba969226ca16738931be152a3209b409de2474" -dependencies = [ - "asynchronous-codec", - "bytes", - "quick-protobuf", - "thiserror 1.0.69", - "unsigned-varint 0.8.0", -] - -[[package]] -name = "quinn" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" -dependencies = [ - "bytes", - "cfg_aliases", - "futures-io", - "pin-project-lite", - "quinn-proto", - "quinn-udp", - "rustc-hash 2.1.1", - "rustls", - "socket2 0.6.0", - "thiserror 2.0.16", - "tokio", - "tracing", - "web-time", -] - -[[package]] -name = "quinn-proto" -version = "0.11.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31" -dependencies = [ - "bytes", - "getrandom 0.3.3", - "lru-slab", - "rand 0.9.2", - "ring 0.17.14", - "rustc-hash 2.1.1", - "rustls", - "rustls-pki-types", - "slab", - "thiserror 2.0.16", - "tinyvec", - "tracing", - "web-time", -] - -[[package]] -name = "quinn-udp" -version = "0.5.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" -dependencies = [ - "cfg_aliases", - "libc", - "once_cell", - "socket2 0.6.0", - "tracing", - "windows-sys 0.60.2", -] - [[package]] name = "quote" version = "1.0.40" @@ -3896,32 +1786,6 @@ dependencies = [ "unicode-width 0.2.0", ] -[[package]] -name = "rcgen" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52c4f3084aa3bc7dfbba4eff4fab2a54db4324965d8872ab933565e6fbd83bc6" -dependencies = [ - "pem", - "ring 0.16.20", - "time", - "yasna", -] - -[[package]] -name = "rcgen" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75e669e5202259b5314d1ea5397316ad400819437857b90861765f24c4cf80a2" -dependencies = [ - "pem", - "ring 0.17.14", - "rustls-pki-types", - "time", - "x509-parser", - "yasna", -] - [[package]] name = "redox_syscall" version = "0.2.16" @@ -3940,41 +1804,6 @@ dependencies = [ "bitflags 2.9.3", ] -[[package]] -name = "regex" -version = "1.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d7fd106d8c02486a8d64e778353d1cffe08ce79ac2e82f540c86d0facf6912" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata", - "regex-syntax", -] - -[[package]] -name = "regex-automata" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b9458fa0bfeeac22b5ca447c63aaf45f28439a709ccd244698632f9aa6394d6" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" - -[[package]] -name = "resolv-conf" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b3789b30bd25ba102de4beabd95d21ac45b69b1be7d14522bab988c526d6799" - [[package]] name = "rfc6979" version = "0.4.0" @@ -3985,21 +1814,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "ring" -version = "0.16.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" -dependencies = [ - "cc", - "libc", - "once_cell", - "spin", - "untrusted 0.7.1", - "web-sys", - "winapi", -] - [[package]] name = "ring" version = "0.17.14" @@ -4010,28 +1824,10 @@ dependencies = [ "cfg-if", "getrandom 0.2.16", "libc", - "untrusted 0.9.0", + "untrusted", "windows-sys 0.52.0", ] -[[package]] -name = "ripemd" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" -dependencies = [ - "digest", -] - -[[package]] -name = "rlimit" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7043b63bd0cd1aaa628e476b80e6d4023a3b50eb32789f2728908107bd0c793a" -dependencies = [ - "libc", -] - [[package]] name = "rpassword" version = "7.4.0" @@ -4043,24 +1839,6 @@ dependencies = [ "windows-sys 0.59.0", ] -[[package]] -name = "rtnetlink" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a552eb82d19f38c3beed3f786bd23aa434ceb9ac43ab44419ca6d67a7e186c0" -dependencies = [ - "futures", - "log", - "netlink-packet-core", - "netlink-packet-route", - "netlink-packet-utils", - "netlink-proto", - "netlink-sys", - "nix", - "thiserror 1.0.69", - "tokio", -] - [[package]] name = "rtoolbox" version = "0.0.3" @@ -4105,110 +1883,6 @@ dependencies = [ "walkdir", ] -[[package]] -name = "rust-ipfs" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df0c1d5ed637921744846e8e74af49964b604bba549068df19ecb77fec2687a9" -dependencies = [ - "anyhow", - "async-stream", - "async-trait", - "asynchronous-codec", - "base64 0.22.1", - "byteorder", - "bytes", - "chrono", - "either", - "fs2", - "futures", - "futures-timeout", - "futures-timer", - "getrandom 0.2.16", - "hickory-resolver", - "hkdf", - "idb", - "indexmap", - "instant", - "ipld-core", - "ipld-dagpb", - "libp2p 0.54.1", - "libp2p-allow-block-list 0.4.0", - "libp2p-connection-limits 0.4.0", - "libp2p-relay-manager", - "multibase", - "multihash", - "multihash-codetable", - "multihash-derive", - "p256", - "parking_lot 0.12.4", - "pem", - "pollable-map", - "quick-protobuf", - "quick-protobuf-codec", - "rand 0.8.5", - "rand_chacha 0.3.1", - "rcgen 0.13.2", - "rlimit", - "rust-ipns", - "rust-unixfs", - "sec1", - "send_wrapper 0.6.0", - "serde", - "serde-wasm-bindgen", - "serde_ipld_dagcbor", - "serde_ipld_dagjson", - "serde_json", - "sha2", - "simple_x509", - "thiserror 2.0.16", - "tokio", - "tokio-stream", - "tokio-util", - "tracing", - "tracing-futures", - "unsigned-varint 0.8.0", - "void", - "wasm-bindgen-futures", - "web-time", - "zeroize", -] - -[[package]] -name = "rust-ipns" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e4bb805bb000d246207dbfacb88e5da76a530485ef5004b1dc6ab820bbdf743" -dependencies = [ - "cbor4ii 0.3.3", - "chrono", - "cid", - "derive_more 1.0.0", - "getrandom 0.2.16", - "libp2p-identity", - "multihash", - "quick-protobuf", - "serde", - "sha2", -] - -[[package]] -name = "rust-unixfs" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1197d36d097a485787a7f314d99a9e1e9f17dd4f10bc7c29bab0b8dc304cc9e" -dependencies = [ - "either", - "filetime", - "ipld-core", - "ipld-dagpb", - "multihash", - "multihash-codetable", - "multihash-derive", - "quick-protobuf", - "sha2", -] - [[package]] name = "rustc-demangle" version = "0.1.26" @@ -4236,15 +1910,6 @@ dependencies = [ "semver", ] -[[package]] -name = "rusticata-macros" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632" -dependencies = [ - "nom", -] - [[package]] name = "rustix" version = "0.38.44" @@ -4278,9 +1943,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df51b5869f3a441595eac5e8ff14d486ff285f7b8c0df8770e49c3b56351f0f0" dependencies = [ "once_cell", - "ring 0.17.14", "rustls-pki-types", - "rustls-webpki 0.103.1", + "rustls-webpki", "subtle", "zeroize", ] @@ -4290,19 +1954,6 @@ name = "rustls-pki-types" version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" -dependencies = [ - "web-time", -] - -[[package]] -name = "rustls-webpki" -version = "0.101.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" -dependencies = [ - "ring 0.17.14", - "untrusted 0.9.0", -] [[package]] name = "rustls-webpki" @@ -4310,9 +1961,9 @@ version = "0.103.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fef8b8769aaccf73098557a87cd1816b4f9c7c16811c9c77142aa695c16f2c03" dependencies = [ - "ring 0.17.14", + "ring", "rustls-pki-types", - "untrusted 0.9.0", + "untrusted", ] [[package]] @@ -4321,17 +1972,6 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" -[[package]] -name = "rw-stream-sink" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8c9026ff5d2f23da5e45bbc283f156383001bfb09c4e44256d02c1a685fe9a1" -dependencies = [ - "futures", - "pin-project", - "static_assertions", -] - [[package]] name = "ryu" version = "1.0.20" @@ -4387,27 +2027,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "secp256k1" -version = "0.31.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c3c81b43dc2d8877c216a3fccf76677ee1ebccd429566d3e67447290d0c42b2" -dependencies = [ - "bitcoin_hashes", - "rand 0.9.2", - "secp256k1-sys", - "serde", -] - -[[package]] -name = "secp256k1-sys" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcb913707158fadaf0d8702c2db0e857de66eb003ccfdda5924b5f5ac98efb38" -dependencies = [ - "cc", -] - [[package]] name = "secrecy" version = "0.10.3" @@ -4438,21 +2057,6 @@ version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" -[[package]] -name = "send_wrapper" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" - -[[package]] -name = "send_wrapper" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" -dependencies = [ - "futures-core", -] - [[package]] name = "serde" version = "1.0.226" @@ -4472,27 +2076,6 @@ dependencies = [ "serde", ] -[[package]] -name = "serde-wasm-bindgen" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8302e169f0eddcc139c70f139d19d6467353af16f9fce27e8c30158036a1e16b" -dependencies = [ - "js-sys", - "serde", - "wasm-bindgen", -] - -[[package]] -name = "serde_bytes" -version = "0.11.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5d440709e79d88e51ac01c4b72fc6cb7314017bb7da9eeff678aa94c10e3ea8" -dependencies = [ - "serde", - "serde_core", -] - [[package]] name = "serde_core" version = "1.0.226" @@ -4513,29 +2096,6 @@ dependencies = [ "syn", ] -[[package]] -name = "serde_ipld_dagcbor" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46182f4f08349a02b45c998ba3215d3f9de826246ba02bb9dddfe9a2a2100778" -dependencies = [ - "cbor4ii 0.2.14", - "ipld-core", - "scopeguard", - "serde", -] - -[[package]] -name = "serde_ipld_dagjson" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82d2d9d1f29999ee9a3d774fe2a5db4cc199da5178d0350f5e4482ea04252aee" -dependencies = [ - "ipld-core", - "serde", - "serde_json", -] - [[package]] name = "serde_json" version = "1.0.143" @@ -4642,29 +2202,6 @@ dependencies = [ "rand_core 0.6.4", ] -[[package]] -name = "simple_asn1" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eb4ea60fb301dc81dfc113df680571045d375ab7345d171c5dc7d7e13107a80" -dependencies = [ - "chrono", - "num-bigint", - "num-traits", - "thiserror 1.0.69", -] - -[[package]] -name = "simple_x509" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "417fc25f99e6af54350cbc26997572b6ee04c4b8deec627ce5f16f76a7ed887b" -dependencies = [ - "chrono", - "num-traits", - "simple_asn1", -] - [[package]] name = "slab" version = "0.4.11" @@ -4699,33 +2236,6 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" -[[package]] -name = "snow" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "850948bee068e713b8ab860fe1adc4d109676ab4c3b621fd8147f06b261f2f85" -dependencies = [ - "aes-gcm", - "blake2", - "chacha20poly1305", - "curve25519-dalek", - "rand_core 0.6.4", - "ring 0.17.14", - "rustc_version", - "sha2", - "subtle", -] - -[[package]] -name = "socket2" -version = "0.5.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - [[package]] name = "socket2" version = "0.6.0" @@ -4736,27 +2246,6 @@ dependencies = [ "windows-sys 0.59.0", ] -[[package]] -name = "soketto" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e859df029d160cb88608f5d7df7fb4753fd20fdfb4de5644f3d8b8440841721" -dependencies = [ - "base64 0.22.1", - "bytes", - "futures", - "httparse", - "log", - "rand 0.8.5", - "sha1", -] - -[[package]] -name = "spin" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" - [[package]] name = "spki" version = "0.7.3" @@ -4767,31 +2256,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" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" -[[package]] -name = "strobe-rs" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98fe17535ea31344936cc58d29fec9b500b0452ddc4cc24c429c8a921a0e84e5" -dependencies = [ - "bitflags 1.3.2", - "byteorder", - "keccak", - "subtle", - "zeroize", -] - [[package]] name = "strsim" version = "0.11.1" @@ -4837,38 +2307,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "synstructure" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "system-configuration" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" -dependencies = [ - "bitflags 2.9.3", - "core-foundation", - "system-configuration-sys", -] - -[[package]] -name = "system-configuration-sys" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" -dependencies = [ - "core-foundation-sys", - "libc", -] - [[package]] name = "textwrap" version = "0.16.2" @@ -4920,37 +2358,6 @@ dependencies = [ "syn", ] -[[package]] -name = "time" -version = "0.3.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e7d9e3bb61134e77bde20dd4825b97c010155709965fedf0f49bb138e52a9d" -dependencies = [ - "deranged", - "itoa", - "num-conv", - "powerfmt", - "serde", - "time-core", - "time-macros", -] - -[[package]] -name = "time-core" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b" - -[[package]] -name = "time-macros" -version = "0.2.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3" -dependencies = [ - "num-conv", - "time-core", -] - [[package]] name = "tiny_http" version = "0.12.0" @@ -4973,21 +2380,6 @@ dependencies = [ "zerovec", ] -[[package]] -name = "tinyvec" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - [[package]] name = "tokio" version = "1.47.1" @@ -4999,11 +2391,9 @@ dependencies = [ "io-uring", "libc", "mio", - "parking_lot 0.12.4", "pin-project-lite", - "signal-hook-registry", "slab", - "socket2 0.6.0", + "socket2", "tokio-macros", "windows-sys 0.59.0", ] @@ -5029,17 +2419,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "tokio-stream" -version = "0.1.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" -dependencies = [ - "futures-core", - "pin-project-lite", - "tokio", -] - [[package]] name = "tokio-tungstenite" version = "0.27.0" @@ -5053,24 +2432,7 @@ dependencies = [ "tokio", "tokio-rustls", "tungstenite", - "webpki-roots 0.26.7", -] - -[[package]] -name = "tokio-util" -version = "0.7.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5" -dependencies = [ - "bytes", - "futures-core", - "futures-io", - "futures-sink", - "futures-util", - "hashbrown", - "pin-project-lite", - "slab", - "tokio", + "webpki-roots", ] [[package]] @@ -5082,92 +2444,6 @@ dependencies = [ "serde", ] -[[package]] -name = "toml_datetime" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f1085dec27c2b6632b04c80b3bb1b4300d6495d1e129693bdda7d91e72eec1" -dependencies = [ - "serde_core", -] - -[[package]] -name = "toml_edit" -version = "0.23.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3effe7c0e86fdff4f69cdd2ccc1b96f933e24811c5441d44904e8683e27184b" -dependencies = [ - "indexmap", - "toml_datetime", - "toml_parser", - "winnow", -] - -[[package]] -name = "toml_parser" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cf893c33be71572e0e9aa6dd15e6677937abd686b066eac3f8cd3531688a627" -dependencies = [ - "winnow", -] - -[[package]] -name = "tower-service" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" - -[[package]] -name = "tracing" -version = "0.1.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" -dependencies = [ - "log", - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tracing-core" -version = "0.1.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" -dependencies = [ - "once_cell", -] - -[[package]] -name = "tracing-futures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" -dependencies = [ - "futures", - "futures-task", - "pin-project", - "tracing", -] - -[[package]] -name = "try-lock" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" - [[package]] name = "tungstenite" version = "0.27.0" @@ -5176,7 +2452,7 @@ checksum = "eadc29d668c91fcc564941132e17b28a7ceb2f3ebf0b9dae3e03fd7a6748eb0d" dependencies = [ "bytes", "data-encoding", - "http 1.3.1", + "http", "httparse", "log", "rand 0.9.2", @@ -5202,18 +2478,6 @@ version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" -[[package]] -name = "uint" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" -dependencies = [ - "byteorder", - "crunchy", - "hex", - "static_assertions", -] - [[package]] name = "unic-langid" version = "0.9.6" @@ -5274,12 +2538,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" -[[package]] -name = "unicode-xid" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" - [[package]] name = "universal-hash" version = "0.5.1" @@ -5290,28 +2548,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "unsigned-varint" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6889a77d49f1f013504cec6bf97a2c730394adedaeb1deb5ea08949a50541105" - -[[package]] -name = "unsigned-varint" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb066959b24b5196ae73cb057f45598450d2c5f71460e98c49b738086eff9c06" -dependencies = [ - "asynchronous-codec", - "bytes", -] - -[[package]] -name = "untrusted" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" - [[package]] name = "untrusted" version = "0.9.0" @@ -5324,30 +2560,12 @@ version = "0.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d49784317cd0d1ee7ec5c716dd598ec5b4483ea832a2dced265471cc0f690ae" -[[package]] -name = "url" -version = "2.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", - "serde", -] - [[package]] name = "utf-8" version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" -[[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" @@ -5385,12 +2603,6 @@ dependencies = [ "colored", ] -[[package]] -name = "void" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" - [[package]] name = "walkdir" version = "2.5.0" @@ -5401,15 +2613,6 @@ dependencies = [ "winapi-util", ] -[[package]] -name = "want" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" -dependencies = [ - "try-lock", -] - [[package]] name = "wasi" version = "0.11.1+wasi-snapshot-preview1" @@ -5454,19 +2657,6 @@ dependencies = [ "wasm-bindgen-shared", ] -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.51" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ca85039a9b469b38336411d6d6ced91f3fc87109a2a27b0c197663f5144dffe" -dependencies = [ - "cfg-if", - "js-sys", - "once_cell", - "wasm-bindgen", - "web-sys", -] - [[package]] name = "wasm-bindgen-macro" version = "0.2.101" @@ -5527,22 +2717,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "web-time" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "webpki-roots" -version = "0.25.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" - [[package]] name = "webpki-roots" version = "0.26.7" @@ -5564,12 +2738,6 @@ dependencies = [ "rustix 0.38.44", ] -[[package]] -name = "widestring" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd7cf3379ca1aac9eea11fba24fd7e315d621f8dfe35c8d7d2be8b793726e07d" - [[package]] name = "winapi" version = "0.3.9" @@ -5601,26 +2769,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[package]] -name = "windows" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efc5cf48f83140dcaab716eeaea345f9e93d0018fb81162753a3f76c3397b538" -dependencies = [ - "windows-core 0.53.0", - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-core" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dcc5b895a6377f1ab9fa55acedab1fd5ac0db66ad1e6c7f47e28a22e446a5dd" -dependencies = [ - "windows-result 0.1.2", - "windows-targets 0.52.6", -] - [[package]] name = "windows-core" version = "0.61.2" @@ -5629,8 +2777,8 @@ checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" dependencies = [ "windows-implement", "windows-interface", - "windows-link 0.1.3", - "windows-result 0.3.4", + "windows-link", + "windows-result", "windows-strings", ] @@ -5662,28 +2810,13 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" -[[package]] -name = "windows-link" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65" - -[[package]] -name = "windows-result" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" -dependencies = [ - "windows-targets 0.52.6", -] - [[package]] name = "windows-result" version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" dependencies = [ - "windows-link 0.1.3", + "windows-link", ] [[package]] @@ -5692,16 +2825,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" dependencies = [ - "windows-link 0.1.3", -] - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.5", + "windows-link", ] [[package]] @@ -5731,30 +2855,6 @@ dependencies = [ "windows-targets 0.53.3", ] -[[package]] -name = "windows-sys" -version = "0.61.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e201184e40b2ede64bc2ea34968b28e33622acdbbf37104f0e4a33f7abe657aa" -dependencies = [ - "windows-link 0.2.0", -] - -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", -] - [[package]] name = "windows-targets" version = "0.52.6" @@ -5777,7 +2877,7 @@ version = "0.53.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91" dependencies = [ - "windows-link 0.1.3", + "windows-link", "windows_aarch64_gnullvm 0.53.0", "windows_aarch64_msvc 0.53.0", "windows_i686_gnu 0.53.0", @@ -5788,12 +2888,6 @@ dependencies = [ "windows_x86_64_msvc 0.53.0", ] -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - [[package]] name = "windows_aarch64_gnullvm" version = "0.52.6" @@ -5806,12 +2900,6 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - [[package]] name = "windows_aarch64_msvc" version = "0.52.6" @@ -5824,12 +2912,6 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - [[package]] name = "windows_i686_gnu" version = "0.52.6" @@ -5854,12 +2936,6 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - [[package]] name = "windows_i686_msvc" version = "0.52.6" @@ -5872,12 +2948,6 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - [[package]] name = "windows_x86_64_gnu" version = "0.52.6" @@ -5890,12 +2960,6 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - [[package]] name = "windows_x86_64_gnullvm" version = "0.52.6" @@ -5908,12 +2972,6 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - [[package]] name = "windows_x86_64_msvc" version = "0.52.6" @@ -5926,25 +2984,6 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" -[[package]] -name = "winnow" -version = "0.7.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" -dependencies = [ - "memchr", -] - -[[package]] -name = "winreg" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - [[package]] name = "wit-bindgen-rt" version = "0.39.0" @@ -5954,12 +2993,6 @@ dependencies = [ "bitflags 2.9.3", ] -[[package]] -name = "writeable" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" - [[package]] name = "x25519-dalek" version = "2.0.1" @@ -5972,103 +3005,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "x509-parser" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcbc162f30700d6f3f82a24bf7cc62ffe7caea42c0b2cba8bf7f3ae50cf51f69" -dependencies = [ - "asn1-rs", - "data-encoding", - "der-parser", - "lazy_static", - "nom", - "oid-registry", - "ring 0.17.14", - "rusticata-macros", - "thiserror 1.0.69", - "time", -] - -[[package]] -name = "xml-rs" -version = "0.8.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fd8403733700263c6eb89f192880191f1b83e332f7a20371ddcf421c4a337c7" - -[[package]] -name = "xmltree" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7d8a75eaf6557bb84a65ace8609883db44a29951042ada9b393151532e41fcb" -dependencies = [ - "xml-rs", -] - -[[package]] -name = "yamux" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed0164ae619f2dc144909a9f082187ebb5893693d8c0196e8085283ccd4b776" -dependencies = [ - "futures", - "log", - "nohash-hasher", - "parking_lot 0.12.4", - "pin-project", - "rand 0.8.5", - "static_assertions", -] - -[[package]] -name = "yamux" -version = "0.13.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b2dd50a6d6115feb3e5d7d0efd45e8ca364b6c83722c1e9c602f5764e0e9597" -dependencies = [ - "futures", - "log", - "nohash-hasher", - "parking_lot 0.12.4", - "pin-project", - "rand 0.9.2", - "static_assertions", - "web-time", -] - -[[package]] -name = "yasna" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd" -dependencies = [ - "time", -] - -[[package]] -name = "yoke" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" -dependencies = [ - "serde", - "stable_deref_trait", - "yoke-derive", - "zerofrom", -] - -[[package]] -name = "yoke-derive" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "synstructure", -] - [[package]] name = "zerocopy" version = "0.8.26" @@ -6094,21 +3030,6 @@ name = "zerofrom" version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" -dependencies = [ - "zerofrom-derive", -] - -[[package]] -name = "zerofrom-derive" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "synstructure", -] [[package]] name = "zeroize" @@ -6130,35 +3051,11 @@ dependencies = [ "syn", ] -[[package]] -name = "zerotrie" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" -dependencies = [ - "displaydoc", - "yoke", - "zerofrom", -] - [[package]] name = "zerovec" version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b" dependencies = [ - "yoke", "zerofrom", - "zerovec-derive", -] - -[[package]] -name = "zerovec-derive" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" -dependencies = [ - "proc-macro2", - "quote", - "syn", ] diff --git a/node/Cargo.toml b/node/Cargo.toml index c7b8f61..21c7d7f 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -20,18 +20,12 @@ once_cell = "1.21.3" async-trait = "0.1.89" anyhow = "1.0.99" memory-stats = "1.2.0" -# jemalloc = "0.3.0" -# jemallocator = "0.5.4" textwrap = "0.16.2" sled = "0.34.7" bincode = { version = "2.0.1", features = ["derive", "serde"] } futures = "0.3.31" -secp256k1 = { version = "0.31.1", features = ["hashes", "rand", "recovery", "serde"] } -ring = "0.17.14" shared = { path = "../shared", features = ["node"] } watchlet = { path = "../watchlet" } cli-renderer = { path = "../cli-renderer" } tiny_http = "0.12.0" serde-big-array = "0.5.1" -rust-ipfs = "0.14.1" -libp2p = "0.56.0" diff --git a/node/src/bus/error.rs b/node/src/bus/error.rs index 27f453d..a0b186d 100644 --- a/node/src/bus/error.rs +++ b/node/src/bus/error.rs @@ -3,19 +3,19 @@ use std::sync::Arc; use tokio::sync::broadcast; use super::event_bus::EventBus; -use crate::executor::ExecutorCommand; +use crate::watcher::WatcherCommand; pub enum ErrorEvent { } -static ERROR_BUS: Lazy>> = +static ERROR_BUS: Lazy>> = Lazy::new(|| Arc::new(EventBus::new())); -pub fn publish_error(event: ExecutorCommand) { +pub fn publish_error(event: WatcherCommand) { ERROR_BUS.publish(event); } -pub fn subscribe_error_bus() -> broadcast::Receiver { +pub fn subscribe_error_bus() -> broadcast::Receiver { ERROR_BUS.subscribe() } diff --git a/node/src/bus/executor.rs b/node/src/bus/executor.rs deleted file mode 100644 index 6fb1af2..0000000 --- a/node/src/bus/executor.rs +++ /dev/null @@ -1,17 +0,0 @@ -use once_cell::sync::Lazy; -use std::sync::Arc; -use tokio::sync::broadcast; - -use super::event_bus::EventBus; -use crate::executor::ExecutorCommand; - -static EXECUTOR_EVENT_BUS: Lazy>> = - Lazy::new(|| Arc::new(EventBus::new())); - -pub fn publish_executor_event(event: ExecutorCommand) { - EXECUTOR_EVENT_BUS.publish(event); -} - -pub fn subscribe_executor_event() -> broadcast::Receiver { - EXECUTOR_EVENT_BUS.subscribe() -} diff --git a/node/src/cli.rs b/node/src/cli.rs index e332a31..11ff17b 100644 --- a/node/src/cli.rs +++ b/node/src/cli.rs @@ -2,7 +2,7 @@ use crate::args::*; use crate::network::NodeId; use shared::blockchain_core::ChainData; use vlogger::*; -use crate::executor::ExecutorCommand; +use crate::watcher::WatcherCommand; use crate::node::*; use crate::log; use cli_renderer::RenderCommand; @@ -46,18 +46,18 @@ fn handle_ping(cmd: CliPingCommand) -> NodeCommand { } } -pub fn cli(input: &str) -> ExecutorCommand { +pub fn cli(input: &str) -> WatcherCommand { let argv: Vec<&str> = std::iter::once(" ") .chain(input.split_whitespace()) .collect(); match Cli::try_parse_from(argv) { Ok(cmd) => match cmd.command { - CliCommand::Layout { mode } => ExecutorCommand::Render(RenderCommand::ChangeLayout(mode)), - CliCommand::Clear => ExecutorCommand::Render(RenderCommand::ClearPane), - CliCommand::Peer { peer_cmd } => ExecutorCommand::Node(handle_peer_command(peer_cmd)), - CliCommand::Block { block_cmd } => ExecutorCommand::Node(handle_block_command(block_cmd)), + CliCommand::Layout { mode } => WatcherCommand::Render(RenderCommand::ChangeLayout(mode)), + CliCommand::Clear => WatcherCommand::Render(RenderCommand::ClearPane), + CliCommand::Peer { peer_cmd } => WatcherCommand::Node(handle_peer_command(peer_cmd)), + CliCommand::Block { block_cmd } => WatcherCommand::Node(handle_block_command(block_cmd)), CliCommand::Transaction(tx) => { - ExecutorCommand::Node(NodeCommand::ProcessChainData(ChainData::NodeTransaction(tx))) + WatcherCommand::Node(NodeCommand::ProcessChainData(ChainData::NodeTransaction(tx))) } CliCommand::Award { address, amount } => { let mut bytes = [0u8; 20]; @@ -68,15 +68,15 @@ pub fn cli(input: &str) -> ExecutorCommand { } bytes.copy_from_slice(address.as_bytes()); - ExecutorCommand::Node(NodeCommand::AwardCurrency{ address: bytes, amount } + WatcherCommand::Node(NodeCommand::AwardCurrency{ address: bytes, amount } )} - CliCommand::DebugShowId => ExecutorCommand::Node(NodeCommand::ShowId), + CliCommand::DebugShowId => WatcherCommand::Node(NodeCommand::ShowId), CliCommand::StartListner { addr } => { - ExecutorCommand::Node(NodeCommand::StartListner(addr.parse().unwrap())) + WatcherCommand::Node(NodeCommand::StartListner(addr.parse().unwrap())) } - CliCommand::Seeds { seed_cmd } => ExecutorCommand::Node(handle_seed_command(seed_cmd)), - CliCommand::Ping { ping_cmd } => ExecutorCommand::Node(handle_ping(ping_cmd)), + CliCommand::Seeds { seed_cmd } => WatcherCommand::Node(handle_seed_command(seed_cmd)), + CliCommand::Ping { ping_cmd } => WatcherCommand::Node(handle_ping(ping_cmd)), }, - Err(e) => ExecutorCommand::InvalidCommand(format!("{e}")), + Err(e) => WatcherCommand::InvalidCommand(format!("{e}")), } } diff --git a/node/src/executor/command.rs b/node/src/executor/command.rs deleted file mode 100644 index 1d9d62b..0000000 --- a/node/src/executor/command.rs +++ /dev/null @@ -1,15 +0,0 @@ -use crate::node::NodeCommand; -use cli_renderer::RenderCommand; -use crate::watcher::WatcherCommand; - -#[derive(Clone, Debug)] -pub enum ExecutorCommand { - NodeResponse(String), - Echo(Vec), - Print(String), - InvalidCommand(String), - Node(NodeCommand), - Render(RenderCommand), - Watcher(WatcherCommand), - Exit, -} diff --git a/node/src/executor/executor.rs b/node/src/executor/executor.rs deleted file mode 100644 index 1e79946..0000000 --- a/node/src/executor/executor.rs +++ /dev/null @@ -1,106 +0,0 @@ -use crate::{ - bus::{publish_system_event, publish_watcher_event, subscribe_system_event, SystemEvent}, - log, - node::NodeCommand, - watcher::WatcherCommand, -}; - -use cli_renderer::pane::RenderTarget; -use thiserror::Error; -use tokio::{select, sync::mpsc}; -use vlogger::*; - -use super::ExecutorCommand; -use crate::RenderCommand; - -#[derive(Debug, Error)] -pub enum InProcessError { - #[error("TODO: {0}")] - TODO(String), -} - -pub struct Executor { - node_tx: mpsc::Sender, - rx: mpsc::Receiver, - exit: bool, -} - -impl Executor { - pub fn new(node_tx: mpsc::Sender, rx: mpsc::Receiver) -> Self { - Self { - node_tx, - rx, - exit: false, - } - } - - pub async fn run(&mut self) { - publish_system_event(SystemEvent::ExecutorStarted); - let mut sys_rx = subscribe_system_event(); - while !self.exit { - select! { - _ = self.listen() => {} - event_res = sys_rx.recv() => { - if let Ok(event) = event_res { - match event { - SystemEvent::Shutdown => { - self.exit().await; - } - _ => {} - } - } - } - } - } - } - - async fn exit(&mut self) { - log(msg!(DEBUG, "Executor Exit")); - self.exit = true - } - - async fn listen(&mut self) { - if let Some(cmd) = self.rx.recv().await { - let _ = self.execute(cmd).await; - } - } - - async fn send_node_cmd(&self, cmd: NodeCommand) { - self.node_tx.send(cmd).await.unwrap() - } - - async fn handle_node_cmd(&self, cmd: NodeCommand) { - self.send_node_cmd(cmd).await; - } - - async fn echo(&self, s: Vec) { - let mut str = s.join(" "); - str.push_str("\n"); - let rd_cmd = WatcherCommand::Render(RenderCommand::StringToPaneId { - str, - pane: RenderTarget::CliOutput, - }); - publish_watcher_event(rd_cmd); - } - - async fn invalid_command(&self, str: String) { - let rd_cmd = WatcherCommand::Render(RenderCommand::StringToPaneId { - str, - pane: RenderTarget::CliOutput, - }); - publish_watcher_event(rd_cmd); - } - - async fn execute(&mut self, cmd: ExecutorCommand) { - match cmd { - ExecutorCommand::NodeResponse(resp) => log(resp), - ExecutorCommand::Node(n) => self.handle_node_cmd(n).await, - ExecutorCommand::Render(p) => publish_watcher_event(WatcherCommand::Render(p)), - ExecutorCommand::Watcher(w) => publish_watcher_event(w), - ExecutorCommand::Echo(s) => self.echo(s).await, - ExecutorCommand::Print(s) => log(s), - ExecutorCommand::InvalidCommand(str) => self.invalid_command(str).await, - ExecutorCommand::Exit => self.exit().await, - } - } -} diff --git a/node/src/lib.rs b/node/src/lib.rs index 648a04d..4334828 100644 --- a/node/src/lib.rs +++ b/node/src/lib.rs @@ -41,20 +41,11 @@ pub mod bus { pub mod system; pub use error::*; - pub mod executor; pub use network::*; pub use watcher::*; pub use system::*; } -pub mod executor { - pub mod executor; - pub use executor::*; - - pub mod command; - pub use command::*; -} - pub mod watcher { pub mod builder; pub mod watcher; diff --git a/node/src/network/connection.rs b/node/src/network/connection.rs index d533b87..35f7cc2 100644 --- a/node/src/network/connection.rs +++ b/node/src/network/connection.rs @@ -1,5 +1,4 @@ -use crate::executor::ExecutorCommand; -use crate::log; +use crate::{log, watcher}; use crate::network::NodeId; use crate::node::node; use super::ProtocolMessage; @@ -16,7 +15,6 @@ pub struct Connection { node_id: NodeId, peer_id: NodeId, stream: net::TcpStream, - exec_tx: mpsc::Sender, rx: mpsc::Receiver, } @@ -25,7 +23,6 @@ impl Connection { node_id: NodeId, peer_id: NodeId, stream: net::TcpStream, - exec_tx: mpsc::Sender, rx: mpsc::Receiver, ) -> Self { Self { @@ -33,12 +30,10 @@ impl Connection { peer_id, stream, rx, - exec_tx, } } - pub async fn start(mut self) { - tokio::spawn(async move { + pub async fn poll(mut self) { log(msg!(DEBUG, "Started Message Handler for {}", self.peer_id)); loop { @@ -61,30 +56,18 @@ impl Connection { message_result = Connector::receive_message(&mut self.stream) => { match message_result { Ok(message) => { - log(msg!(DEBUG, "Received Message from {}", self.peer_id)); - - let command = ExecutorCommand::Node(node::NodeCommand::ProcessMessage { - peer_id: self.peer_id.clone(), - message: message.clone() - }); - - if self.exec_tx.send(command).await.is_err() { - log(msg!(ERROR, "Failed to send command to main thread from {}", self.peer_id)); - break; - } + todo!("[TODO] Return parsed command to propagate"); }, Err(e) => { log(msg!(WARNING, "Connection to {} closed: {}", self.peer_id, e)); - let cmd = ExecutorCommand::Node(node::NodeCommand::RemovePeer { + let cmd = watcher::WatcherCommand::Node(node::NodeCommand::RemovePeer { peer_id: self.peer_id }); - self.exec_tx.send(cmd).await.unwrap(); - break; + todo!("[TODO] Return Error Node Command to propagate"); } } } } } - }); } } diff --git a/node/src/network/connector.rs b/node/src/network/connector.rs index 2c20e5a..2f0c63b 100644 --- a/node/src/network/connector.rs +++ b/node/src/network/connector.rs @@ -12,7 +12,6 @@ use crate::log; use crate::network::NodeId; use super::Connection; use crate::bus::*; -use crate::executor::ExecutorCommand; use crate::node::node; use crate::node::{NetworkError, error}; use super::ProtocolMessage; @@ -26,8 +25,8 @@ pub enum ConnectorCommand { pub struct Connector { node_id: NodeId, addr: SocketAddr, - exec_tx: mpsc::Sender, - rx: mpsc::Receiver, + connections: Vec, + listener: Option, exit: bool, } @@ -43,147 +42,134 @@ impl Connector { pub fn new( node_id: NodeId, addr: SocketAddr, - exec_tx: mpsc::Sender, - rx: mpsc::Receiver, ) -> Self { Self { node_id, addr, - exec_tx, - rx, + connections: Vec::new(), + listener: None, exit: false, } } - pub async fn start(&mut self) { - let mut listner: Option = None; - let mut listner_err = None; + pub async fn init(&mut self) { for _ in 0..MAX_LISTNER_TRIES { match tokio::net::TcpListener::bind(self.addr).await { Ok(l) => { log(msg!(DEBUG, "Listening on address: {}", self.addr)); - listner = Some(l); + self.listener = Some(l); break; } Err(e) => { self.addr.set_port(self.addr.port() + 1); - listner_err = Some(e); + let listner_err = Some(e); + println!("{:#?}", listner_err); } }; } - if let Some(listener) = listner { - while !self.exit { + } + + pub async fn poll(&mut self) -> Result, ConnectorError> { + if let Some(listener) = &mut self.listener { + todo!("Implement Vec Poll for connections"); tokio::select! { - cmd_result = self.rx.recv() => { - match cmd_result { - Some(cmd) => { - self.execute_cmd(cmd).await; - } - None => { - log(msg!(DEBUG, "Command channel closed")); - break; - } - } - } + // cmd_result = self.rx.recv() => { + // todo!("Implement Vec Poll for connections"); + // match cmd_result { + // Some(cmd) => { + // self.execute_cmd(cmd).await + // } + // None => { + // log(msg!(DEBUG, "Command channel closed")); + // todo!("Handle Connector Error"); + // } + // } + // } accept_result = listener.accept() => { match accept_result { Ok((stream, addr)) => { log(msg!(DEBUG, "Accepted connection from {}", addr)); - self.establish_connection_inbound(stream, addr).await; + let peer = self.establish_connection_inbound(stream, addr).await?; + Ok(Some(node::NodeCommand::AddPeer(peer))) } Err(e) => { log(msg!(ERROR, "Failed to accept connection: {}", e)); + todo!("Implement Connector TcpListner connection fail"); } } } } - } } else { log(msg!( FATAL, - "Failed to start TCP Listener: {}", - listner_err.unwrap() + "Failed to start TCP Listener", )); + todo!("Implement Connector TcpListner fail"); } } - async fn execute_cmd(&mut self, cmd: ConnectorCommand) { + pub async fn execute_cmd(&mut self, cmd: ConnectorCommand) -> Result, ConnectorError> { match cmd { - ConnectorCommand::ConnectToTcpPeer(addr) => self.connect_to_peer(addr).await, + ConnectorCommand::ConnectToTcpPeer(addr) => { + let peer = self.connect_to_peer(addr).await?; + Ok(Some(node::NodeCommand::AddPeer(peer))) + }, ConnectorCommand::ConnectToTcpSeed(addr) => { - self.connect_to_seed(addr).await; + let peer = self.connect_to_seed(addr).await?; + Ok(Some(node::NodeCommand::AddPeer(peer))) } ConnectorCommand::Shutdown => { self.exit = true; + Ok(None) } } } - pub async fn connect_to_seed(&self, addr: SocketAddr) { + pub async fn connect_to_seed(&mut self, addr: SocketAddr) -> Result { match net::TcpStream::connect(addr) .await .with_context(|| format!("Connecting to {}", addr)) { - Ok(stream) => self.establish_connection_to_seed(stream, addr).await, + Ok(stream) => { + let peer = self.establish_connection_outbound(stream, addr).await; + publish_network_event(NetworkEvent::SeedConnected(addr.to_string())); + peer + }, Err(e) => { // let err = ConnectorError::ConnectionError(e.into()); print_error_chain(&e.into()); + todo!("Handle connector error propagation"); } } } - pub async fn connect_to_peer(&self, addr: SocketAddr) { + pub async fn connect_to_peer_inbound(&mut self, addr: SocketAddr) -> Result { + match net::TcpStream::connect(addr).await { + Ok(stream) => self.establish_connection_inbound(stream, addr).await, + Err(e) => { + let err = ConnectorError::ConnectionError(e.into()); + print_error_chain(&err.into()); + todo!("Handle connector error propagation"); + } + } + } + + pub async fn connect_to_peer(&mut self, addr: SocketAddr) -> Result { match net::TcpStream::connect(addr).await { Ok(stream) => self.establish_connection_outbound(stream, addr).await, Err(e) => { let err = ConnectorError::ConnectionError(e.into()); print_error_chain(&err.into()); + todo!("Handle connector error propagation"); } } } - pub async fn establish_connection_to_seed( - &self, - mut stream: tokio::net::TcpStream, - addr: SocketAddr, - ) { - let handshake = ProtocolMessage::Handshake { - peer_id: self.node_id.clone(), - version: "".to_string(), - }; - match Connector::send_message(&mut stream, &handshake).await { - Ok(()) => { - if let Ok(mes) = Connector::receive_message(&mut stream).await { - let (ch_tx, ch_rx) = mpsc::channel::(100); - let peer = match mes { - ProtocolMessage::HandshakeAck { peer_id, .. } => { - node::TcpPeer::new(peer_id, addr, ch_tx) - } - _ => { - log(msg!( - ERROR, - "Invalid Message On Connetion Establishment: {mes}" - )); - return; - } - }; - let cmd = ExecutorCommand::Node(node::NodeCommand::AddPeer(peer.clone())); - publish_network_event(NetworkEvent::SeedConnected(addr.to_string())); - let _ = self.exec_tx.send(cmd).await; - Connection::new(self.node_id.clone(), peer.id, stream, self.exec_tx.clone(), ch_rx) - .start() - .await; - } - } - Err(e) => print_error_chain(&e.into()), - } - } - async fn establish_connection_outbound( - &self, + &mut self, mut stream: tokio::net::TcpStream, addr: SocketAddr, - ) { + ) -> Result { let handshake = ProtocolMessage::Handshake { peer_id: self.node_id.clone(), version: "".to_string(), @@ -201,25 +187,28 @@ impl Connector { ERROR, "Invalid Message On Connetion Establishment: {mes}" )); - return; + todo!("Handle connector receive message fail"); } }; - let cmd = ExecutorCommand::Node(node::NodeCommand::AddPeer(peer.clone())); - let _ = self.exec_tx.send(cmd).await; - Connection::new(self.node_id.clone(), peer.id, stream, self.exec_tx.clone(), ch_rx) - .start() - .await; + let connection = Connection::new(self.node_id.clone(), peer.id.clone(), stream, ch_rx); + self.connections.push(connection); + Ok(peer) + } else { + todo!("Handle connector receive message fail"); } } - Err(e) => print_error_chain(&e.into()), + Err(e) => { + print_error_chain(&e.into()); + todo!("Handle Connector Error"); + }, } } async fn establish_connection_inbound( - &self, + &mut self, mut stream: tokio::net::TcpStream, addr: SocketAddr, - ) { + ) -> Result { if let Ok(mes) = Connector::receive_message(&mut stream).await { let (ch_tx, ch_rx) = mpsc::channel::(100); let peer = match mes { @@ -230,7 +219,11 @@ impl Connector { }; match Connector::send_message(&mut stream, &ack).await { Ok(()) => node::TcpPeer::new(peer_id, addr, ch_tx), - Err(e) => return print_error_chain(&e.into()), + Err(e) => { + print_error_chain(&e.into()); + todo!("Implement inbound conneciton message send fail") + + }, } } _ => { @@ -238,14 +231,14 @@ impl Connector { ERROR, "Invalid Message On Connetion Establishment: {mes}" )); - return; + todo!("Implement inbound conneciton message invalid"); } }; - let cmd = ExecutorCommand::Node(node::NodeCommand::AddPeer(peer.clone())); - let _ = self.exec_tx.send(cmd).await; - Connection::new(self.node_id.clone(), peer.id, stream, self.exec_tx.clone(), ch_rx) - .start() - .await; + let connection = Connection::new(self.node_id.clone(), peer.id.clone(), stream, ch_rx); + self.connections.push(connection); + Ok(peer) + } else { + todo!("Implement inbount connection message read fail"); } } diff --git a/node/src/network/temp/conf b/node/src/network/temp/conf deleted file mode 100644 index c331735..0000000 --- a/node/src/network/temp/conf +++ /dev/null @@ -1,4 +0,0 @@ -segment_size: 1048576 -use_compression: false -version: 0.34 -l–ø \ No newline at end of file diff --git a/node/src/network/temp/db b/node/src/network/temp/db deleted file mode 100644 index c6d8988..0000000 Binary files a/node/src/network/temp/db and /dev/null differ diff --git a/node/src/network/temp1/conf b/node/src/network/temp1/conf deleted file mode 100644 index c331735..0000000 --- a/node/src/network/temp1/conf +++ /dev/null @@ -1,4 +0,0 @@ -segment_size: 1048576 -use_compression: false -version: 0.34 -l–ø \ No newline at end of file diff --git a/node/src/network/temp1/db b/node/src/network/temp1/db deleted file mode 100644 index c6d8988..0000000 Binary files a/node/src/network/temp1/db and /dev/null differ diff --git a/node/src/network/ws_server.rs b/node/src/network/ws_server.rs index e60e058..5ae38e6 100644 --- a/node/src/network/ws_server.rs +++ b/node/src/network/ws_server.rs @@ -13,7 +13,7 @@ use shared::ws_protocol::{ WsClientRequest, WsClientResponse }; use watchlet::WalletError; use crate::db::BINCODE_CONFIG; -use crate::executor::ExecutorCommand; +use crate::watcher::WatcherCommand; use crate::log; use crate::node::NodeCommand; use crate::seeds_constants::WS_LISTEN_ADDRESS; @@ -46,13 +46,13 @@ pub enum WsServerError { pub struct WsServer { rx: Receiver, - tx: Sender, + tx: Sender, clients: HashMap>, } async fn handle_ws_client_request( req: WsClientRequest, - _tx: Sender, + _tx: Sender, ) -> Result<(), WsServerError> { match req { WsClientRequest::Ping => { @@ -61,7 +61,7 @@ async fn handle_ws_client_request( } WsClientRequest::BroadcastTransaction(sign_tx) => { Validator::verify_signature(&sign_tx)?; - let _cmd = ExecutorCommand::Node(NodeCommand::BroadcastTransaction(sign_tx)); + let _cmd = WatcherCommand::Node(NodeCommand::BroadcastTransaction(sign_tx)); } } Ok(()) @@ -70,7 +70,7 @@ async fn handle_ws_client_request( async fn ws_connection( stream: TcpStream, mut rx: Receiver, - _tx: Sender, + _tx: Sender, ) -> Result<(), WsServerError> { let ws_server = tokio_tungstenite::accept_async(stream).await.unwrap(); let (mut write, mut read) = ws_server.split(); @@ -101,7 +101,7 @@ async fn ws_connection( } impl WsServer { - pub fn new(rx: Receiver, tx: Sender) -> Self { + pub fn new(rx: Receiver, tx: Sender) -> Self { Self { rx, tx, diff --git a/node/src/node/node.rs b/node/src/node/node.rs index 7ca69f4..3933ad3 100644 --- a/node/src/node/node.rs +++ b/node/src/node/node.rs @@ -1,13 +1,11 @@ use crate::bus::{publish_system_event, publish_watcher_event, subscribe_system_event, SystemEvent}; use shared::blockchain_core::{self, ChainData, SignedTransaction, validator::ValidationError}; use crate::print_error_chain; -use crate::executor::ExecutorCommand; use crate::log; use crate::network::{NodeId, ProtocolMessage}; use crate::network::{Connector, ConnectorCommand}; use crate::seeds_constants::SEED_NODES; use crate::watcher::{WatcherCommand, WatcherMode}; -use crate::network::ws_server::{WsCommand, WsServer}; use super::{ Blockchain, BlockchainError }; use std::collections::HashMap; @@ -15,8 +13,6 @@ use std::net::SocketAddr; use std::sync::Arc; use thiserror::*; -use tokio::select; -use tokio::sync::mpsc; use uuid::Uuid; use vlogger::*; @@ -39,15 +35,12 @@ impl TcpPeer { #[allow(dead_code)] pub struct Node { - pub tcp_connector: Option>, + pub tcp_connector: Option, pub id: NodeId, pub addr: Option, pub tcp_peers: HashMap, chain: Blockchain, listner_handle: Option>, - exec_tx: mpsc::Sender, - rx: mpsc::Receiver, - tx: mpsc::Sender, } #[derive(Debug, Error)] @@ -123,49 +116,35 @@ impl Node { pub async fn new_with_id( id: NodeId, - exec_tx: mpsc::Sender, addr: Option, chain: Blockchain, ) -> Self { - let (tx, rx) = mpsc::channel::(100); Self { id, tcp_peers: HashMap::new(), addr, - exec_tx, chain, listner_handle: None, tcp_connector: None, - tx, - rx, } } pub fn new( addr: Option, - exec_tx: mpsc::Sender, chain: Blockchain, ) -> Self { - let (tx, rx) = mpsc::channel::(100); Self { id: NodeId(*Uuid::new_v4().as_bytes()), tcp_peers: HashMap::new(), addr, - exec_tx, listner_handle: None, tcp_connector: None, chain, - tx, - rx, } } async fn shutdown(&mut self) { if let Some(conn) = &self.tcp_connector { - let res = conn.send(ConnectorCommand::Shutdown).await; - if res.is_err() { - log(msg!(ERROR, "Failed to send shutdown signal to connector")); - } } let _ = self.chain.shutdown().await; } @@ -300,35 +279,22 @@ impl Node { } } - pub fn tx(&self) -> mpsc::Sender { - return self.tx.clone(); - } - - pub fn exec_tx(&self) -> mpsc::Sender { - return self.exec_tx.clone(); - } - - async fn connector_cmd(&self, cmd: ConnectorCommand) { - match &self.tcp_connector { - Some(t) => match t.send(cmd).await { - Ok(()) => {} - Err(e) => log(msg!(ERROR, "Failed to Send Command to connector: {}", e)), + async fn connector_cmd(&mut self, cmd: ConnectorCommand) -> Result, crate::network::ConnectorError> { + match &mut self.tcp_connector { + Some(t) => { t.execute_cmd(cmd).await }, + None => { + log(msg!(ERROR, "No Connector Availiable")); + todo!("Implement node level connection cmd fail"); }, - None => log(msg!(ERROR, "No Connector Availiable")), } } async fn start_connection_listner(&mut self, addr: SocketAddr) { log(msg!(DEBUG, "Starting Connection Listener")); - let (con_tx, con_rx) = mpsc::channel::(100); - self.tcp_connector = Some(con_tx); - - self.listner_handle = Some(tokio::spawn({ - let mut connector = Connector::new(self.id.clone(), addr, self.exec_tx(), con_rx); + let connector = Connector::new(self.id.clone(), addr); log(msg!(DEBUG, "Connector Build")); - async move { connector.start().await } - })); + self.tcp_connector = Some(connector); } async fn connect_to_seed(&mut self) { @@ -337,8 +303,7 @@ impl Node { .await; } - async fn accept_command(&mut self) { - while let Some(command) = self.rx.recv().await { + pub async fn command(&mut self, command: NodeCommand) { match command { NodeCommand::BootStrap => { log(msg!(DEBUG, "Received NodeCommand::BootStrap")); @@ -417,7 +382,7 @@ impl Node { let wat_cmd = WatcherCommand::SetMode(WatcherMode::Select { content: blocks.iter().map(|h| hex::encode(h)).collect::>().into(), title: "Select Block to display".to_string(), - callback: Box::new(ExecutorCommand::Node(NodeCommand::DisplayBlockByKey("".to_string()))), + callback: Box::new(WatcherCommand::Node(NodeCommand::DisplayBlockByKey("".to_string()))), index: 0 }); publish_watcher_event(wat_cmd); @@ -445,13 +410,11 @@ impl Node { } NodeCommand::Exit => { log(msg!(DEBUG, "Node Exit")); - break; - } } } } - pub async fn run(&mut self) { + pub async fn init(&mut self) { if let Some(addr) = self.addr { self.start_connection_listner(addr).await; } else { @@ -463,46 +426,31 @@ impl Node { .await; }; - let http_handle = tokio::spawn(async move { + let _http_handle = tokio::spawn(async move { let _ = crate::api::server::start_server().await; }); - let (_tx, rx) = mpsc::channel::(100); + // let (_tx, rx) = mpsc::channel::(100); - let mut ws_server = WsServer::new(rx, self.exec_tx()); + // let mut ws_server = WsServer::new(rx, self.exec_tx()); - let _ws_handle = tokio::spawn(async move { - if let Err(e) = ws_server.run().await { - print_error_chain(&e.into()); - } - }); + // let _ws_handle = tokio::spawn(async move { + // if let Err(e) = ws_server.run().await { + // print_error_chain(&e.into()); + // } + // }); - let mut system_rx = subscribe_system_event(); + let mut _system_rx = subscribe_system_event(); publish_system_event(SystemEvent::NodeStarted); self.chain.recover_mempool(); + } - loop { - select! { - _ = self.accept_command() => { - - } - event_result = system_rx.recv() => { - match event_result { - Ok(e) => { - match e { - SystemEvent::Shutdown => { - break; - } - _ => {} - } - } - _ => {} - } - } + pub async fn poll(&mut self) -> Option<()> { + tokio::select! { + _con_cmd = self.tcp_connector.as_mut()?.poll() => { + None } } - http_handle.abort_handle().abort(); - self.shutdown().await; } } diff --git a/node/src/watcher/builder.rs b/node/src/watcher/builder.rs index ff3a8fc..b3eb698 100644 --- a/node/src/watcher/builder.rs +++ b/node/src/watcher/builder.rs @@ -1,10 +1,7 @@ use std::net::SocketAddr; -use tokio::sync::mpsc; use vlogger::*; -use crate::bus::{NetworkEvent, SystemEvent, subscribe_system_event}; -use crate::executor::{Executor, ExecutorCommand}; use crate::{log, node}; use crate::node::{Node, NodeCommand}; use cli_renderer::{RenderLayoutKind, Renderer}; @@ -62,8 +59,6 @@ impl WatcherBuilder { } pub async fn start(mut self) -> Watcher { - let (exec_tx, exec_rx) = mpsc::channel::(100); - let mut sys_event = subscribe_system_event(); if self.debug { Watcher::log_memory().await; @@ -77,79 +72,25 @@ impl WatcherBuilder { } let chain = node::Blockchain::new(self.database, self.temporary).unwrap(); - let mut node = Node::new(self.addr.clone(), exec_tx.clone(), chain); + let mut node = Node::new(self.addr.clone(), chain); + node.init().await; + log(msg!(INFO, "Built Node")); - let executor_handle = tokio::spawn({ - let node_tx = node.tx(); - async move { - let _ = Executor::new(node_tx, exec_rx).run().await; - } - }); - - for i in 0..3 { - if let Ok(ev) = sys_event.recv().await { - match ev { - SystemEvent::ExecutorStarted => { - log(msg!(INFO, "Executor Started")); - break; - } - _ => log(msg!(WARNING, "Wrong Event: {ev:?}! Retrying... (try {i})")), - } - } - } - - let node_tx = node.tx(); - let node_handle = tokio::spawn({ - async move { - node.run().await; - } - }); - - for i in 0..3 { - if let Ok(ev) = sys_event.recv().await { - match ev { - SystemEvent::NodeStarted => { - log(msg!(INFO, "Executor Started")); - break; - } - _ => log(msg!(WARNING, "Wrong Event: {ev:?}! Retrying... (try {i})")), - } - } - } - if self.bootstrap { - let exec_tx = exec_tx.clone(); - - tokio::spawn(async move { - let seed_cmd = ExecutorCommand::Node(NodeCommand::ConnectToSeeds); - let mut ev_rx = crate::bus::subscribe_network_event(); - let _ = exec_tx.send(seed_cmd).await; - - while let Ok(e) = ev_rx.recv().await { - match e { - NetworkEvent::SeedConnected(_) => { - let bootstrap_cmd = ExecutorCommand::Node(NodeCommand::BootStrap); - let _ = exec_tx.send(bootstrap_cmd).await; - } - _ => {} - } - } - }); + node.command(NodeCommand::BootStrap).await; } let cmd_history = Vec::new(); let history_index = 0; let cmd_buffer = String::new(); - let handles = vec![executor_handle, node_handle]; + Watcher::new( - node_tx, - exec_tx, cmd_buffer, cmd_history, history_index, - handles, renderer, + node, ) } } diff --git a/node/src/watcher/command.rs b/node/src/watcher/command.rs index b3002f9..a101848 100644 --- a/node/src/watcher/command.rs +++ b/node/src/watcher/command.rs @@ -1,12 +1,19 @@ use std::sync::Arc; use cli_renderer::RenderCommand; -use crate::executor::ExecutorCommand; + +use crate::node::NodeCommand; #[derive(Debug, Clone)] pub enum WatcherCommand { + NodeResponse(String), + Node(NodeCommand), + Echo(Vec), + Print(String), + InvalidCommand(String), Render(RenderCommand), SetMode(WatcherMode), + Exit, } #[derive(Debug, Clone)] @@ -15,7 +22,7 @@ pub enum WatcherMode { Select{ content: Arc>, title: String, - callback: Box, + callback: Box, index: usize, }, } diff --git a/node/src/watcher/watcher.rs b/node/src/watcher/watcher.rs index d357d11..9bd4f0b 100644 --- a/node/src/watcher/watcher.rs +++ b/node/src/watcher/watcher.rs @@ -1,8 +1,5 @@ use crate::{ - bus::{publish_system_event, subscribe_system_event, SystemEvent}, - cli::cli, - node::node::NodeCommand, - watcher::WatcherMode + bus::{SystemEvent, publish_system_event, subscribe_system_event}, cli::cli, node::{Node, node::NodeCommand}, watcher::WatcherMode }; use shared::print_error_chain; @@ -12,7 +9,6 @@ use memory_stats::memory_stats; use std::io::{self, Write}; use tokio::{ select, - sync::mpsc, time::{Duration, interval}, }; use vlogger::*; @@ -20,7 +16,6 @@ use vlogger::*; use super::{ WatcherBuilder, WatcherCommand }; use crate::bus::subscribe_watcher_event; -use crate::executor::*; use crate::log; use cli_renderer::{ @@ -31,35 +26,29 @@ use cli_renderer::{ #[allow(dead_code)] pub struct Watcher { - node_tx: mpsc::Sender, - exec_tx: mpsc::Sender, cmd_buffer: String, cmd_history: Vec, history_index: usize, - handles: Vec>, event_stream: crossterm::event::EventStream, mode: WatcherMode, pub renderer: Renderer, + node: Node, } impl Watcher { pub fn new( - node_tx: mpsc::Sender, - exec_tx: mpsc::Sender, cmd_buffer: String, cmd_history: Vec, history_index: usize, - handles: Vec>, renderer: Renderer, + node: Node, ) -> Self { Self { - node_tx, - exec_tx, cmd_buffer, cmd_history, history_index, - handles, renderer, + node, mode: WatcherMode::Input, event_stream: EventStream::new(), } @@ -76,10 +65,6 @@ impl Watcher { async fn shutdown(&mut self) -> io::Result<()> { ratatui::restore(); - let handles = std::mem::take(&mut self.handles); - for handle in handles { - handle.await.unwrap() - } crossterm::execute!( std::io::stdout(), crossterm::event::DisableBracketedPaste, @@ -88,24 +73,6 @@ impl Watcher { ) } - pub fn handle_cmd(&mut self, cmd: WatcherCommand) { - match cmd { - WatcherCommand::Render(rend_cmd) => { - self.renderer.apply(rend_cmd); - } - WatcherCommand::SetMode(mode) => { - match &mode { - WatcherMode::Input => {} - WatcherMode::Select{content, title, ..} => { - let rd_cmd = RenderCommand::SetMode(InputMode::PopUp(content.clone(), title.clone(), 0)); - self.renderer.apply(rd_cmd); - } - } - self.mode = mode; - } - } - } - pub async fn run(&mut self) -> std::io::Result<()> { let mut ui_rx = subscribe_watcher_event(); let mut render_interval = interval(Duration::from_millis(32)); @@ -132,7 +99,7 @@ impl Watcher { match ui_event { Ok(cmd) => { self.renderer.set_area(terminal.get_frame().area()); - self.handle_cmd(cmd); + self.command(cmd); }, Err(e) => { log(msg!(ERROR, "{}", e)) @@ -162,31 +129,68 @@ impl Watcher { WatcherBuilder::new() } - pub fn exec_tx(&self) -> mpsc::Sender { - self.exec_tx.clone() + fn exit(&mut self) { + log(msg!(DEBUG, "Watcher Exit")); } - pub fn exit(&self) {} + fn echo(&mut self, s: Vec) { + let mut str = s.join(" "); + str.push_str("\n"); + self.renderer.apply(RenderCommand::StringToPaneId { + str, + pane: cli_renderer::RenderTarget::CliOutput, + }); + } + + async fn invalid_command(&mut self, str: String) { + self.renderer.apply(RenderCommand::StringToPaneId { + str, + pane: cli_renderer::RenderTarget::CliOutput, + }); + } + + fn set_mode(&mut self, mode: WatcherMode) { + match &mode { + WatcherMode::Input => {} + WatcherMode::Select{content, title, ..} => { + let rd_cmd = RenderCommand::SetMode(InputMode::PopUp(content.clone(), title.clone(), 0)); + self.renderer.apply(rd_cmd); + } + } + self.mode = mode; + } + + pub async fn command(&mut self, cmd: WatcherCommand) { + match cmd { + WatcherCommand::NodeResponse(resp) => log(resp), + WatcherCommand::Node(n) => self.node.command(n).await, + WatcherCommand::Render(p) => self.renderer.apply(p), + WatcherCommand::Echo(s) => self.echo(s), + WatcherCommand::Print(s) => log(s), + WatcherCommand::InvalidCommand(str) => self.invalid_command(str).await, + WatcherCommand::Exit => self.exit(), + WatcherCommand::SetMode(mode) => self.set_mode(mode), + } + } async fn handle_enter(&mut self) { match &self.mode { WatcherMode::Input => { if !self.cmd_buffer.is_empty() { let exec_event = cli(&self.cmd_buffer); - let _ = self.exec_tx.send(exec_event).await; + self.command(exec_event).await; self.cmd_buffer.clear(); self.renderer.handle_enter() } } WatcherMode::Select { content, callback, index, .. } => { match &&**callback { - &ExecutorCommand::Node(nd_cmd) => { + &WatcherCommand::Node(nd_cmd) => { match nd_cmd { NodeCommand::DisplayBlockByKey(_) => { let key = (*content)[*index].clone().to_string(); log(msg!(DEBUG, "KEY IN ENTER: {key}")); - let resp = ExecutorCommand::Node(NodeCommand::DisplayBlockByKey(key)); - let _ = self.exec_tx.send(resp).await; + self.node.command(NodeCommand::DisplayBlockByKey(key)); } _ => {log(msg!(DEBUG, "TODO: Implement callback for {:?}", nd_cmd))} }