diff --git a/Cargo.lock b/Cargo.lock index 437a67c..d01a6e9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -36,24 +36,14 @@ checksum = "e8fd72866655d1904d6b0997d0b07ba561047d070fbe29de039031c641b61217" [[package]] name = "ahash" -version = "0.7.6" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" -dependencies = [ - "getrandom", - "once_cell", - "version_check", -] - -[[package]] -name = "ahash" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", "once_cell", "version_check", + "zerocopy", ] [[package]] @@ -65,27 +55,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "aleph-bft" -version = "0.30.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb050890181b868ad4d601661a5e7106aca6191273c99c092d6d472119f46e56" -dependencies = [ - "aleph-bft-rmc", - "aleph-bft-types", - "anyhow", - "async-trait", - "derivative", - "futures", - "futures-timer", - "itertools 0.11.0", - "log", - "parity-scale-codec", - "parking_lot 0.12.1", - "rand", - "thiserror", -] - [[package]] name = "aleph-bft-crypto" version = "0.7.1" @@ -132,21 +101,6 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - -[[package]] -name = "android_system_properties" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -dependencies = [ - "libc", -] - [[package]] name = "anstyle" version = "1.0.3" @@ -155,32 +109,32 @@ checksum = "b84bf0a05bbb2a83e5eb6fa36bb6e87baa08193c35ff52bbf6b38d8af2890e46" [[package]] name = "anyhow" -version = "1.0.75" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" +checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519" dependencies = [ "backtrace", ] [[package]] name = "aquamarine" -version = "0.3.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df752953c49ce90719c7bf1fc587bc8227aed04732ea0c0f85e5397d7fdbd1a1" +checksum = "21cc1548309245035eb18aa7f0967da6bc65587005170c56e6ef2788a4cf3f4e" dependencies = [ "include_dir", "itertools 0.10.5", "proc-macro-error", "proc-macro2", - "quote 1.0.35", - "syn 1.0.109", + "quote", + "syn 2.0.48", ] [[package]] name = "argon2" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ba4cac0a46bc1d2912652a751c47f2a9f3a7fe89bcae2275d418f5270402f9" +checksum = "3c3610892ee6e0cbce8ae2700349fcf8f98adb0dbfbee85aec3c9179d29cc072" dependencies = [ "base64ct", "blake2", @@ -202,22 +156,26 @@ checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" [[package]] name = "async-channel" -version = "1.9.0" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" +checksum = "136d4d23bcc79e27423727b36823d86233aad06dfea531837b038394d11e9928" dependencies = [ "concurrent-queue", - "event-listener", + "event-listener 5.3.0", + "event-listener-strategy 0.5.1", "futures-core", + "pin-project-lite", ] [[package]] name = "async-lock" -version = "2.8.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" +checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" dependencies = [ - "event-listener", + "event-listener 4.0.3", + "event-listener-strategy 0.4.0", + "pin-project-lite", ] [[package]] @@ -227,7 +185,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0" dependencies = [ "proc-macro2", - "quote 1.0.35", + "quote", "syn 2.0.48", ] @@ -249,18 +207,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", - "quote 1.0.35", + "quote", "syn 2.0.48", ] [[package]] name = "async-trait" -version = "0.1.73" +version = "0.1.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0" +checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", - "quote 1.0.35", + "quote", "syn 2.0.48", ] @@ -277,13 +235,42 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" dependencies = [ "async-trait", - "axum-core", + "axum-core 0.3.4", "bitflags 1.3.2", "bytes", "futures-util", - "http", - "http-body", - "hyper", + "http 0.2.9", + "http-body 0.4.5", + "hyper 0.14.27", + "itoa", + "matchit", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "rustversion", + "serde", + "sync_wrapper 0.1.2", + "tower", + "tower-layer", + "tower-service", +] + +[[package]] +name = "axum" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a6c9af12842a67734c9a2e355436e5d03b22383ed60cf13cd0c18fbfe3dcbcf" +dependencies = [ + "async-trait", + "axum-core 0.4.3", + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.0", + "http-body-util", + "hyper 1.3.1", + "hyper-util", "itoa", "matchit", "memchr", @@ -295,7 +282,7 @@ dependencies = [ "serde_json", "serde_path_to_error", "serde_urlencoded", - "sync_wrapper", + "sync_wrapper 1.0.1", "tokio", "tower", "tower-layer", @@ -312,10 +299,30 @@ dependencies = [ "async-trait", "bytes", "futures-util", - "http", - "http-body", + "http 0.2.9", + "http-body 0.4.5", + "mime", + "rustversion", + "tower-layer", + "tower-service", +] + +[[package]] +name = "axum-core" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a15c63fd72d41492dc4f497196f5da1fb04fb7529e631d73630d1b491e47a2e3" +dependencies = [ + "async-trait", + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.0", + "http-body-util", "mime", + "pin-project-lite", "rustversion", + "sync_wrapper 0.1.2", "tower-layer", "tower-service", "tracing", @@ -323,13 +330,13 @@ dependencies = [ [[package]] name = "axum-macros" -version = "0.3.8" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdca6a10ecad987bda04e95606ef85a5417dcaac1a78455242d72e031e2b6b62" +checksum = "00c055ee2d014ae5981ce1016374e8213682aa14d9bf40e48ab48b5f3ef20eaa" dependencies = [ - "heck", + "heck 0.4.1", "proc-macro2", - "quote 1.0.35", + "quote", "syn 2.0.48", ] @@ -356,15 +363,15 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.20.0" +version = "0.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ea22880d78093b0cbe17c89f64a7d457941e65759157ec6cb31a31d652b05e5" +checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" [[package]] name = "base64" -version = "0.21.4" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" +checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51" [[package]] name = "base64-compat" @@ -381,41 +388,6 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" -[[package]] -name = "bdk" -version = "0.28.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15adb2017ab6437b6704a779ab8bbefe857612f5af9d84b677a1767f965e099" -dependencies = [ - "ahash 0.7.6", - "async-trait", - "bdk-macros", - "bip39", - "bitcoin 0.29.2", - "esplora-client 0.4.0", - "futures", - "getrandom", - "js-sys", - "log", - "miniscript", - "rand", - "rusqlite", - "serde", - "serde_json", - "tokio", -] - -[[package]] -name = "bdk-macros" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81c1980e50ae23bb6efa9283ae8679d6ea2c6fa6a99fe62533f65f4a25a1a56c" -dependencies = [ - "proc-macro2", - "quote 1.0.35", - "syn 1.0.109", -] - [[package]] name = "bech32" version = "0.9.1" @@ -442,19 +414,18 @@ dependencies = [ [[package]] name = "bindgen" -version = "0.65.1" +version = "0.69.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5" +checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.0", "cexpr", "clang-sys", + "itertools 0.12.1", "lazy_static", "lazycell", - "peeking_take_while", - "prettyplease", "proc-macro2", - "quote 1.0.35", + "quote", "regex", "rustc-hash", "shlex", @@ -486,7 +457,6 @@ version = "0.29.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0694ea59225b0c5f3cb405ff3f670e4828358ed26aec49dc352f730f0cb1a8a3" dependencies = [ - "base64 0.13.1", "bech32", "bitcoin_hashes 0.11.0", "core2", @@ -506,6 +476,7 @@ dependencies = [ "bitcoin_hashes 0.12.0", "hex_lit", "secp256k1 0.27.0", + "serde", ] [[package]] @@ -531,6 +502,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d7066118b13d4b20b23645932dfb3a81ce7e29f95726c2036fa33cd7b092501" dependencies = [ "bitcoin-private", + "serde", ] [[package]] @@ -569,6 +541,12 @@ version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" +[[package]] +name = "bitmaps" +version = "3.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1d084b0137aaa901caf9f1e8b21daa6aa24d41cd806e111335541eff9683bd6" + [[package]] name = "bitvec" version = "1.0.1" @@ -631,16 +609,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "bstr" -version = "1.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c2f7349907b712260e64b0afe2f84692af14a454be26187d9df565c7f69266a" -dependencies = [ - "memchr", - "serde", -] - [[package]] name = "bumpalo" version = "3.13.0" @@ -711,17 +679,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] -name = "chrono" -version = "0.4.30" +name = "cfg_aliases" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "defd4e7873dbddba6c7c91e199c7fcb946abc4a6a4ac3195400bcfb01b5de877" -dependencies = [ - "android-tzdata", - "iana-time-zone", - "num-traits", - "serde", - "windows-targets", -] +checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" [[package]] name = "cipher" @@ -746,9 +707,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.4.3" +version = "4.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84ed82781cea27b43c9b106a979fe450a13a31aab0500595fb3fc06616de08e6" +checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0" dependencies = [ "clap_builder", "clap_derive", @@ -756,41 +717,41 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.4.2" +version = "4.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bb9faaa7c2ef94b2743a21f5a29e6f0010dff4caa69ac8e9d6cf8b6fa74da08" +checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" dependencies = [ "anstyle", "clap_lex", - "strsim", + "strsim 0.11.1", ] [[package]] name = "clap_complete" -version = "4.4.1" +version = "4.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4110a1e6af615a9e6d0a36f805d5c99099f8bab9b8042f5bc1fa220a4a89e36f" +checksum = "dd79504325bf38b10165b02e89b4347300f855f273c4cb30c4a3209e6583275e" dependencies = [ "clap", ] [[package]] name = "clap_derive" -version = "4.4.2" +version = "4.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0862016ff20d69b84ef8247369fabf5c008a7417002411897d40ee1f4532b873" +checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64" dependencies = [ - "heck", + "heck 0.5.0", "proc-macro2", - "quote 1.0.35", + "quote", "syn 2.0.48", ] [[package]] name = "clap_lex" -version = "0.5.1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961" +checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" [[package]] name = "cln-plugin" @@ -821,35 +782,36 @@ dependencies = [ [[package]] name = "console-api" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2895653b4d9f1538a83970077cb01dfc77a4810524e51a110944688e916b18e" +checksum = "fd326812b3fd01da5bb1af7d340d0d555fd3d4b641e7f1dfcf5962a902952787" dependencies = [ - "prost 0.11.9", - "prost-types 0.11.9", - "tonic 0.9.2", + "futures-core", + "prost", + "prost-types", + "tonic 0.10.2", "tracing-core", ] [[package]] name = "console-subscriber" -version = "0.1.10" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4cf42660ac07fcebed809cfe561dd8730bcd35b075215e6479c516bcd0d11cb" +checksum = "7481d4c57092cd1c19dd541b92bdce883de840df30aa5d03fd48a3935c01842e" dependencies = [ "console-api", "crossbeam-channel", "crossbeam-utils", - "futures", + "futures-task", "hdrhistogram", "humantime", - "prost-types 0.11.9", + "prost-types", "serde", "serde_json", "thread_local", "tokio", "tokio-stream", - "tonic 0.9.2", + "tonic 0.10.2", "tracing", "tracing-core", "tracing-subscriber", @@ -861,11 +823,21 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" +[[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.4" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" [[package]] name = "core2" @@ -878,9 +850,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.9" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" dependencies = [ "libc", ] @@ -929,11 +901,49 @@ dependencies = [ "typenum", ] +[[package]] +name = "darling" +version = "0.20.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.10.0", + "syn 2.0.48", +] + +[[package]] +name = "darling_macro" +version = "0.20.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.48", +] + [[package]] name = "deranged" -version = "0.3.8" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", +] [[package]] name = "derivative" @@ -942,7 +952,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ "proc-macro2", - "quote 1.0.35", + "quote", "syn 1.0.109", ] @@ -954,38 +964,46 @@ checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ "convert_case", "proc-macro2", - "quote 1.0.35", + "quote", "rustc_version", "syn 1.0.109", ] [[package]] name = "devimint" -version = "0.2.1" -source = "git+https://github.com/fedimint/fedimint?tag=v0.2.1#a8422b84102ab5fc768307215d5b20d807143f27" +version = "0.3.0-rc.2" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" dependencies = [ "anyhow", - "axum", + "axum 0.7.5", "bitcoincore-rpc", "clap", - "fedimint-aead", - "fedimint-bitcoind", - "fedimint-build", - "fedimint-cli", - "fedimint-client", + "fedimint-aead 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-bitcoind 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-build 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-cli 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-client 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", "fedimint-cln-rpc", - "fedimint-core", - "fedimint-ln-gateway", - "fedimint-logging", - "fedimint-portalloc", - "fedimint-server", - "fedimint-testing", + "fedimint-core 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-ln-gateway 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-ln-server 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-logging 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-meta-server 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-mint-server 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-portalloc 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-server 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-testing 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", "fedimint-tonic-lnd", - "fedimint-wallet-client", - "fedimintd", + "fedimint-unknown-server 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-wallet-client 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-wallet-server 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimintd 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fs-lock", "futures", + "hex", "nix", "rand", + "semver", "serde", "serde_json", "tokio", @@ -1033,7 +1051,7 @@ dependencies = [ "libc", "option-ext", "redox_users", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -1107,31 +1125,29 @@ dependencies = [ ] [[package]] -name = "errno" -version = "0.3.3" +name = "erased-serde" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd" +checksum = "2b73807008a3c7f171cc40312f37d95ef0396e048b5848d775f54b1a4dd4a0d3" dependencies = [ - "errno-dragonfly", - "libc", - "windows-sys", + "serde", ] [[package]] -name = "errno-dragonfly" -version = "0.1.2" +name = "errno" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" dependencies = [ - "cc", "libc", + "windows-sys 0.52.0", ] [[package]] name = "esplora-client" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "847e59bd6ee1c3f2bdf217118ee3640b97a1b1d8becb55771e67e533b87da66f" +checksum = "d3e11244e7fd8b0beee0a3c62137c4bd9f756fe2c492ccf93171f81467b59200" dependencies = [ "bitcoin 0.29.2", "log", @@ -1140,122 +1156,262 @@ dependencies = [ ] [[package]] -name = "esplora-client" -version = "0.5.0" +name = "event-listener" +version = "4.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3e11244e7fd8b0beee0a3c62137c4bd9f756fe2c492ccf93171f81467b59200" +checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" dependencies = [ - "bitcoin 0.29.2", - "log", - "reqwest", - "serde", + "concurrent-queue", + "parking", + "pin-project-lite", ] [[package]] name = "event-listener" -version = "2.5.3" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" +checksum = "6d9944b8ca13534cdfb2800775f8dd4902ff3fc75a50101466decadfdf322a24" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] [[package]] -name = "fallible-iterator" -version = "0.2.0" +name = "event-listener-strategy" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" +checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" +dependencies = [ + "event-listener 4.0.3", + "pin-project-lite", +] [[package]] -name = "fallible-streaming-iterator" -version = "0.1.9" +name = "event-listener-strategy" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" +checksum = "332f51cb23d20b0de8458b86580878211da09bcd4503cb579c225b3d124cabb3" +dependencies = [ + "event-listener 5.3.0", + "pin-project-lite", +] [[package]] name = "fastrand" -version = "2.0.0" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" +checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984" [[package]] name = "fedimint-aead" -version = "0.2.1" -source = "git+https://github.com/fedimint/fedimint?tag=v0.2.1#a8422b84102ab5fc768307215d5b20d807143f27" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6aa38d22aa2ec4a8182f781c9bdd91b899cf9c5f4f5cf4d8470ce72df4499fd" dependencies = [ "anyhow", "argon2", "hex", "rand", - "ring 0.17.7", + "ring 0.17.8", ] [[package]] -name = "fedimint-bip39" -version = "0.2.1" -source = "git+https://github.com/fedimint/fedimint?tag=v0.2.1#a8422b84102ab5fc768307215d5b20d807143f27" +name = "fedimint-aead" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" dependencies = [ - "bip39", - "fedimint-client", - "fedimint-core", + "anyhow", + "argon2", + "hex", "rand", + "ring 0.17.8", ] [[package]] -name = "fedimint-bitcoind" -version = "0.2.1" -source = "git+https://github.com/fedimint/fedimint?tag=v0.2.1#a8422b84102ab5fc768307215d5b20d807143f27" +name = "fedimint-aleph-bft" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6b6d7cad3a5af85956e9f1739fb8e27668652f523ccf3b8aeb20ed788a98c2a" dependencies = [ + "aleph-bft-rmc", + "aleph-bft-types", "anyhow", "async-trait", - "bitcoin 0.29.2", - "bitcoin_hashes 0.11.0", - "bitcoincore-rpc", - "electrum-client", - "esplora-client 0.5.0", - "fedimint-core", - "fedimint-logging", - "lazy_static", + "derivative", + "futures", + "futures-timer", + "itertools 0.11.0", + "log", + "parity-scale-codec", + "parking_lot", "rand", - "serde", - "tracing", - "url", + "thiserror", ] [[package]] -name = "fedimint-build" -version = "0.2.1" -source = "git+https://github.com/fedimint/fedimint?tag=v0.2.1#a8422b84102ab5fc768307215d5b20d807143f27" +name = "fedimint-bip39" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c550b6f7409a14401d440a9c22f3fbe73726448c0c94410076a18dfa8dcaf882" +dependencies = [ + "bip39", + "fedimint-client 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rand", +] + +[[package]] +name = "fedimint-bip39" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" +dependencies = [ + "bip39", + "fedimint-client 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-core 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "rand", +] + +[[package]] +name = "fedimint-bitcoind" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59bd38e6c7ca4c9294660037cbb4c3eaa09c2e4566f90feedcebd56b4a396a27" +dependencies = [ + "anyhow", + "async-trait", + "bitcoin 0.29.2", + "bitcoin_hashes 0.11.0", + "bitcoincore-rpc", + "electrum-client", + "esplora-client", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-logging 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static", + "rand", + "serde", + "serde_json", + "tracing", + "url", +] + +[[package]] +name = "fedimint-bitcoind" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" +dependencies = [ + "anyhow", + "async-trait", + "bitcoin 0.29.2", + "bitcoin_hashes 0.11.0", + "bitcoincore-rpc", + "electrum-client", + "esplora-client", + "fedimint-core 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-logging 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "lazy_static", + "rand", + "serde", + "serde_json", + "tracing", + "url", +] + +[[package]] +name = "fedimint-build" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a87d1526d927524a13663e844b6a65a6bf91d619ccdf1ffa122f7ab197d32ec6" +dependencies = [ + "serde_json", +] + +[[package]] +name = "fedimint-build" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" dependencies = [ "serde_json", ] [[package]] name = "fedimint-cli" -version = "0.2.1" -source = "git+https://github.com/fedimint/fedimint?tag=v0.2.1#a8422b84102ab5fc768307215d5b20d807143f27" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a27bb38e667ec99a9aa2faaa63795ed483c197e6b7748edc228523f882cf5bf7" +dependencies = [ + "anyhow", + "async-trait", + "base64 0.22.0", + "bip39", + "bitcoin 0.29.2", + "bitcoin_hashes 0.11.0", + "clap", + "clap_complete", + "fedimint-aead 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-bip39 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-build 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-client 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-ln-client 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-ln-common 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-logging 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-meta-client 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-meta-common 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-mint-client 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-mint-common 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-rocksdb 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-server 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-wallet-client 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fs-lock", + "futures", + "itertools 0.12.1", + "lightning-invoice", + "lnurl-rs", + "rand", + "reqwest", + "serde", + "serde_json", + "thiserror", + "time", + "tokio", + "tracing", + "tracing-subscriber", + "url", +] + +[[package]] +name = "fedimint-cli" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" dependencies = [ "anyhow", "async-trait", - "base64 0.20.0", + "base64 0.22.0", "bip39", "bitcoin 0.29.2", "bitcoin_hashes 0.11.0", "clap", "clap_complete", - "fedimint-aead", - "fedimint-bip39", - "fedimint-build", - "fedimint-client", - "fedimint-core", - "fedimint-ln-client", - "fedimint-ln-common", - "fedimint-logging", - "fedimint-mint-client", - "fedimint-mint-common", - "fedimint-rocksdb", - "fedimint-server", - "fedimint-wallet-client", + "fedimint-aead 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-bip39 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-build 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-client 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-core 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-ln-client 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-ln-common 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-logging 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-meta-client 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-meta-common 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-mint-client 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-mint-common 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-rocksdb 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-server 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-wallet-client 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", "fs-lock", "futures", - "lightning-invoice 0.26.0", + "itertools 0.12.1", + "lightning-invoice", "lnurl-rs", "rand", "reqwest", @@ -1274,15 +1430,16 @@ name = "fedimint-cli-custom" version = "0.2.1" dependencies = [ "anyhow", - "fedimint-cli", + "fedimint-cli 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "fedimint-dummy-client 0.2.1", "tokio", ] [[package]] name = "fedimint-client" -version = "0.2.1" -source = "git+https://github.com/fedimint/fedimint?tag=v0.2.1#a8422b84102ab5fc768307215d5b20d807143f27" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c291c1f8a74d52181ec996bc1954df91242af134fb690aa0c9b560462b6ffa7" dependencies = [ "anyhow", "aquamarine", @@ -1290,22 +1447,54 @@ dependencies = [ "async-trait", "bitcoin 0.29.2", "bitcoin_hashes 0.11.0", - "fedimint-aead", - "fedimint-build", - "fedimint-core", - "fedimint-derive-secret", - "fedimint-logging", + "fedimint-aead 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-build 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-derive-secret 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-logging 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "futures", - "itertools 0.10.5", + "itertools 0.12.1", + "rand", + "ring 0.17.8", + "secp256k1-zkp", + "serde", + "serde_json", + "strum 0.26.2", + "strum_macros 0.26.2", + "thiserror", + "tokio", + "tokio-stream", + "tracing", +] + +[[package]] +name = "fedimint-client" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" +dependencies = [ + "anyhow", + "aquamarine", + "async-stream", + "async-trait", + "bitcoin 0.29.2", + "bitcoin_hashes 0.11.0", + "fedimint-aead 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-build 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-core 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-derive-secret 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-logging 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "futures", + "itertools 0.12.1", "rand", - "ring 0.17.7", + "ring 0.17.8", "secp256k1-zkp", "serde", "serde_json", - "strum", - "strum_macros", + "strum 0.26.2", + "strum_macros 0.26.2", "thiserror", "tokio", + "tokio-stream", "tracing", ] @@ -1329,8 +1518,9 @@ dependencies = [ [[package]] name = "fedimint-core" -version = "0.2.1" -source = "git+https://github.com/fedimint/fedimint?tag=v0.2.1#a8422b84102ab5fc768307215d5b20d807143f27" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5664f67aee6ea8b28dc91363d602ee17c6c05f1f36f2f1d0064785e1cf1c3d0e" dependencies = [ "anyhow", "async-lock", @@ -1343,33 +1533,88 @@ dependencies = [ "bitcoin 0.30.2", "bitcoin_hashes 0.11.0", "bitvec", - "erased-serde", - "fedimint-derive", - "fedimint-logging", - "fedimint-tbs", + "erased-serde 0.4.4", + "fedimint-derive 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-logging 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-tbs 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "fedimint-threshold-crypto", "futures", "getrandom", - "gloo-timers", + "gloo-timers 0.3.0", "hex", - "itertools 0.10.5", + "imbl", + "itertools 0.12.1", + "js-sys", + "jsonrpsee-core", + "jsonrpsee-types", + "jsonrpsee-wasm-client", + "jsonrpsee-ws-client", + "lightning", + "lightning-invoice", + "lru", + "macro_rules_attribute", + "miniscript 10.0.0", + "parity-scale-codec", + "rand", + "secp256k1-zkp", + "serde", + "serde_json", + "sha3", + "strum 0.26.2", + "strum_macros 0.26.2", + "thiserror", + "tokio", + "tokio-rustls 0.23.4", + "tracing", + "url", + "wasm-bindgen-futures", +] + +[[package]] +name = "fedimint-core" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" +dependencies = [ + "anyhow", + "async-lock", + "async-recursion", + "async-trait", + "backtrace", + "bech32", + "bincode", + "bitcoin 0.29.2", + "bitcoin 0.30.2", + "bitcoin_hashes 0.11.0", + "bitvec", + "erased-serde 0.4.4", + "fedimint-derive 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-logging 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-tbs 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-threshold-crypto", + "futures", + "getrandom", + "gloo-timers 0.3.0", + "hex", + "imbl", + "itertools 0.12.1", "js-sys", - "jsonrpsee-core 0.20.3", - "jsonrpsee-types 0.20.3", + "jsonrpsee-core", + "jsonrpsee-types", "jsonrpsee-wasm-client", "jsonrpsee-ws-client", - "lightning 0.0.118", - "lightning-invoice 0.26.0", + "lightning", + "lightning-invoice", + "lru", "macro_rules_attribute", - "miniscript", + "miniscript 10.0.0", "parity-scale-codec", "rand", "secp256k1-zkp", "serde", "serde_json", "sha3", - "strum", - "strum_macros", + "strum 0.26.2", + "strum_macros 0.26.2", "thiserror", "tokio", "tokio-rustls 0.23.4", @@ -1380,25 +1625,51 @@ dependencies = [ [[package]] name = "fedimint-derive" -version = "0.2.1" -source = "git+https://github.com/fedimint/fedimint?tag=v0.2.1#a8422b84102ab5fc768307215d5b20d807143f27" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c3212a1f0b4f3d7a8b93bc458c9dbc591eabf8342ab44496a26d0201834140a" dependencies = [ - "itertools 0.11.0", + "itertools 0.12.1", "proc-macro2", - "quote 1.0.35", - "syn 1.0.109", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "fedimint-derive" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" +dependencies = [ + "itertools 0.12.1", + "proc-macro2", + "quote", + "syn 2.0.48", ] [[package]] name = "fedimint-derive-secret" -version = "0.2.1" -source = "git+https://github.com/fedimint/fedimint?tag=v0.2.1#a8422b84102ab5fc768307215d5b20d807143f27" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7eecd4ff491a3eae9de9c8a4844febad2af2e414b0100d31fc14b6f6c3c1e0f9" +dependencies = [ + "anyhow", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-hkdf 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-tbs 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ring 0.17.8", + "secp256k1-zkp", +] + +[[package]] +name = "fedimint-derive-secret" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" dependencies = [ "anyhow", - "fedimint-core", - "fedimint-hkdf", - "fedimint-tbs", - "ring 0.17.7", + "fedimint-core 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-hkdf 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-tbs 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "ring 0.17.8", "secp256k1-zkp", ] @@ -1408,16 +1679,16 @@ version = "0.2.1" dependencies = [ "anyhow", "async-trait", - "erased-serde", - "fedimint-client", - "fedimint-core", + "erased-serde 0.3.31", + "fedimint-client 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "fedimint-dummy-common 0.2.1", "futures", "rand", "secp256k1 0.24.3", "serde", - "strum", - "strum_macros", + "strum 0.24.1", + "strum_macros 0.24.3", "thiserror", "threshold_crypto", "tracing", @@ -1425,22 +1696,45 @@ dependencies = [ [[package]] name = "fedimint-dummy-client" -version = "0.2.1" -source = "git+https://github.com/fedimint/fedimint?tag=v0.2.1#a8422b84102ab5fc768307215d5b20d807143f27" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b22348ff729258f1d87cd67db8d8a287c7c5382c83117592991846e17e9cac60" +dependencies = [ + "anyhow", + "async-trait", + "erased-serde 0.4.4", + "fedimint-client 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-dummy-common 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-threshold-crypto", + "futures", + "rand", + "secp256k1 0.24.3", + "serde", + "strum 0.26.2", + "strum_macros 0.26.2", + "thiserror", + "tracing", +] + +[[package]] +name = "fedimint-dummy-client" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" dependencies = [ "anyhow", "async-trait", - "erased-serde", - "fedimint-client", - "fedimint-core", - "fedimint-dummy-common 0.2.1 (git+https://github.com/fedimint/fedimint?tag=v0.2.1)", + "erased-serde 0.4.4", + "fedimint-client 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-core 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-dummy-common 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", "fedimint-threshold-crypto", "futures", "rand", "secp256k1 0.24.3", "serde", - "strum", - "strum_macros", + "strum 0.26.2", + "strum_macros 0.26.2", "thiserror", "tracing", ] @@ -1452,14 +1746,14 @@ dependencies = [ "anyhow", "async-trait", "bitcoin_hashes 0.11.0", - "erased-serde", - "fedimint-core", + "erased-serde 0.3.31", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "futures", "rand", "secp256k1 0.24.3", "serde", - "strum", - "strum_macros", + "strum 0.24.1", + "strum_macros 0.24.3", "thiserror", "threshold_crypto", "tracing", @@ -1467,21 +1761,43 @@ dependencies = [ [[package]] name = "fedimint-dummy-common" -version = "0.2.1" -source = "git+https://github.com/fedimint/fedimint?tag=v0.2.1#a8422b84102ab5fc768307215d5b20d807143f27" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f840cf9bbb63ed32a0808a9b65337a74ba31a581d91326c60441a14a4ee68219" +dependencies = [ + "anyhow", + "async-trait", + "bitcoin_hashes 0.11.0", + "erased-serde 0.4.4", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-threshold-crypto", + "futures", + "rand", + "secp256k1 0.24.3", + "serde", + "strum 0.26.2", + "strum_macros 0.26.2", + "thiserror", + "tracing", +] + +[[package]] +name = "fedimint-dummy-common" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" dependencies = [ "anyhow", "async-trait", "bitcoin_hashes 0.11.0", - "erased-serde", - "fedimint-core", + "erased-serde 0.4.4", + "fedimint-core 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", "fedimint-threshold-crypto", "futures", "rand", "secp256k1 0.24.3", "serde", - "strum", - "strum_macros", + "strum 0.26.2", + "strum_macros 0.26.2", "thiserror", "tracing", ] @@ -1493,15 +1809,16 @@ dependencies = [ "anyhow", "async-trait", "bitcoin_hashes 0.11.0", - "erased-serde", - "fedimint-core", + "erased-serde 0.3.31", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "fedimint-dummy-common 0.2.1", + "fedimint-server 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "futures", "rand", "secp256k1 0.24.3", "serde", - "strum", - "strum_macros", + "strum 0.24.1", + "strum_macros 0.24.3", "thiserror", "tokio", "tracing", @@ -1512,14 +1829,14 @@ name = "fedimint-dummy-tests" version = "0.2.1" dependencies = [ "anyhow", - "fedimint-client", - "fedimint-core", + "fedimint-client 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "fedimint-dummy-client 0.2.1", "fedimint-dummy-common 0.2.1", "fedimint-dummy-server", - "fedimint-logging", - "fedimint-server", - "fedimint-testing", + "fedimint-logging 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-server 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-testing 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand", "secp256k1 0.24.3", "threshold_crypto", @@ -1528,66 +1845,61 @@ dependencies = [ ] [[package]] -name = "fedimint-hbbft" -version = "0.1.0" +name = "fedimint-hkdf" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a73e01b656c3d800862b67437b50cdc2a5c69a9c322ed0822ebf6ef973a21e26" +checksum = "2303eedda2fc433b1f6a9969ec3aba0fd40f41e403fd60b7e079cab9a02232a5" dependencies = [ - "bincode", - "byteorder", - "derivative", - "env_logger", - "fedimint-threshold-crypto", - "hex_fmt", - "init_with", - "log", - "rand", - "rand_derive", - "reed-solomon-erasure", - "serde", - "thiserror", - "tiny-keccak", + "bitcoin_hashes 0.11.0", ] [[package]] name = "fedimint-hkdf" -version = "0.2.1" -source = "git+https://github.com/fedimint/fedimint?tag=v0.2.1#a8422b84102ab5fc768307215d5b20d807143f27" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" dependencies = [ "bitcoin_hashes 0.11.0", ] [[package]] -name = "fedimint-ldk-node" -version = "0.1.0" +name = "fedimint-ln-client" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d38e0d2f0981cd917809d627416de48232499319863c8d032ac0a56cf204edfb" +checksum = "11e2f9a7125f76b26edc719e87b5550b4cec41dcd4f46080f19b3e0b9cb959a1" dependencies = [ - "bdk", - "bip39", + "anyhow", + "aquamarine", + "async-stream", + "async-trait", + "bincode", "bitcoin 0.29.2", - "chrono", - "esplora-client 0.4.0", + "bitcoin_hashes 0.11.0", + "erased-serde 0.4.4", + "fedimint-client 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-ln-common 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-threshold-crypto", "futures", - "libc", - "lightning 0.0.115", - "lightning-background-processor", - "lightning-invoice 0.23.0", - "lightning-net-tokio", - "lightning-persister", - "lightning-rapid-gossip-sync", - "lightning-transaction-sync", + "itertools 0.12.1", + "lightning-invoice", "rand", "reqwest", - "rusqlite", + "secp256k1 0.24.3", + "secp256k1-zkp", + "serde", "serde_json", + "strum 0.26.2", + "strum_macros 0.26.2", + "thiserror", "tokio", + "tracing", + "url", ] [[package]] name = "fedimint-ln-client" -version = "0.2.1" -source = "git+https://github.com/fedimint/fedimint?tag=v0.2.1#a8422b84102ab5fc768307215d5b20d807143f27" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" dependencies = [ "anyhow", "aquamarine", @@ -1596,22 +1908,22 @@ dependencies = [ "bincode", "bitcoin 0.29.2", "bitcoin_hashes 0.11.0", - "erased-serde", - "fedimint-client", - "fedimint-core", - "fedimint-ln-common", + "erased-serde 0.4.4", + "fedimint-client 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-core 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-ln-common 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", "fedimint-threshold-crypto", "futures", - "itertools 0.10.5", - "lightning-invoice 0.26.0", + "itertools 0.12.1", + "lightning-invoice", "rand", "reqwest", "secp256k1 0.24.3", "secp256k1-zkp", "serde", "serde_json", - "strum", - "strum_macros", + "strum 0.26.2", + "strum_macros 0.26.2", "thiserror", "tokio", "tracing", @@ -1620,29 +1932,60 @@ dependencies = [ [[package]] name = "fedimint-ln-common" -version = "0.2.1" -source = "git+https://github.com/fedimint/fedimint?tag=v0.2.1#a8422b84102ab5fc768307215d5b20d807143f27" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd0590df1190cfb2a53c39d2c7eb152c45f77760c2653a2e823b4c10a57c2612" dependencies = [ "anyhow", "aquamarine", "async-trait", "bitcoin 0.29.2", "bitcoin_hashes 0.11.0", - "erased-serde", - "fedimint-client", - "fedimint-core", + "erased-serde 0.4.4", + "fedimint-client 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "fedimint-threshold-crypto", "futures", - "itertools 0.10.5", - "lightning 0.0.118", - "lightning-invoice 0.26.0", + "itertools 0.12.1", + "lightning", + "lightning-invoice", + "rand", + "secp256k1 0.24.3", + "serde", + "serde-big-array", + "serde_json", + "strum 0.26.2", + "strum_macros 0.26.2", + "thiserror", + "tracing", + "url", +] + +[[package]] +name = "fedimint-ln-common" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" +dependencies = [ + "anyhow", + "aquamarine", + "async-trait", + "bitcoin 0.29.2", + "bitcoin_hashes 0.11.0", + "erased-serde 0.4.4", + "fedimint-client 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-core 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-threshold-crypto", + "futures", + "itertools 0.12.1", + "lightning", + "lightning-invoice", "rand", "secp256k1 0.24.3", "serde", "serde-big-array", "serde_json", - "strum", - "strum_macros", + "strum 0.26.2", + "strum_macros 0.26.2", "thiserror", "tracing", "url", @@ -1650,48 +1993,98 @@ dependencies = [ [[package]] name = "fedimint-ln-gateway" -version = "0.2.1" -source = "git+https://github.com/fedimint/fedimint?tag=v0.2.1#a8422b84102ab5fc768307215d5b20d807143f27" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a08e1dfe8aecad919b30ab1cccbe73f752334052930f2b3f8c3c02742340263" dependencies = [ "anyhow", "aquamarine", "async-stream", "async-trait", - "axum", + "axum 0.7.5", "axum-macros", "bitcoin 0.29.2", "bitcoin_hashes 0.11.0", "clap", "cln-plugin", - "erased-serde", - "fedimint-build", - "fedimint-client", + "erased-serde 0.4.4", + "fedimint-build 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-client 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "fedimint-cln-rpc", - "fedimint-core", - "fedimint-dummy-client 0.2.1 (git+https://github.com/fedimint/fedimint?tag=v0.2.1)", - "fedimint-ln-client", - "fedimint-ln-common", - "fedimint-logging", - "fedimint-mint-client", - "fedimint-rocksdb", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-dummy-client 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-ln-client 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-ln-common 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-logging 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-mint-client 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-rocksdb 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "fedimint-tonic-lnd", - "fedimint-wallet-client", + "fedimint-wallet-client 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "futures", - "lightning-invoice 0.26.0", - "prost 0.12.3", + "lightning-invoice", + "prost", "rand", "reqwest", "secp256k1 0.24.3", "secp256k1-zkp", "serde", "serde_json", - "strum", - "strum_macros", + "strum 0.26.2", + "strum_macros 0.26.2", "thiserror", "tokio", "tokio-stream", - "tonic 0.10.2", - "tonic-build", + "tonic 0.11.0", + "tonic-build 0.11.0", + "tower-http", + "tracing", + "url", +] + +[[package]] +name = "fedimint-ln-gateway" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" +dependencies = [ + "anyhow", + "aquamarine", + "async-stream", + "async-trait", + "axum 0.7.5", + "axum-macros", + "bitcoin 0.29.2", + "bitcoin_hashes 0.11.0", + "clap", + "cln-plugin", + "erased-serde 0.4.4", + "fedimint-build 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-client 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-cln-rpc", + "fedimint-core 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-dummy-client 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-ln-client 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-ln-common 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-logging 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-mint-client 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-rocksdb 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-tonic-lnd", + "fedimint-wallet-client 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "futures", + "lightning-invoice", + "prost", + "rand", + "reqwest", + "secp256k1 0.24.3", + "secp256k1-zkp", + "serde", + "serde_json", + "strum 0.26.2", + "strum_macros 0.26.2", + "thiserror", + "tokio", + "tokio-stream", + "tonic 0.11.0", + "tonic-build 0.11.0", "tower-http", "tracing", "url", @@ -1699,31 +2092,63 @@ dependencies = [ [[package]] name = "fedimint-ln-server" -version = "0.2.1" -source = "git+https://github.com/fedimint/fedimint?tag=v0.2.1#a8422b84102ab5fc768307215d5b20d807143f27" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e871397826a617a739186fcf0b70f14bff1fb7f5f5520fa9aed891cb9da2c445" dependencies = [ "anyhow", "async-trait", "bincode", "bitcoin_hashes 0.11.0", - "erased-serde", - "fedimint-bitcoind", - "fedimint-core", - "fedimint-hbbft", - "fedimint-ln-common", - "fedimint-metrics", - "fedimint-server", + "erased-serde 0.4.4", + "fedimint-bitcoind 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-ln-common 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-metrics 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-server 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "fedimint-threshold-crypto", "futures", - "itertools 0.10.5", - "lightning 0.0.118", - "lightning-invoice 0.26.0", + "itertools 0.12.1", + "lightning", + "lightning-invoice", + "rand", + "secp256k1 0.24.3", + "serde", + "serde_json", + "strum 0.26.2", + "strum_macros 0.26.2", + "thiserror", + "tokio", + "tracing", + "url", +] + +[[package]] +name = "fedimint-ln-server" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" +dependencies = [ + "anyhow", + "async-trait", + "bincode", + "bitcoin_hashes 0.11.0", + "erased-serde 0.4.4", + "fedimint-bitcoind 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-core 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-ln-common 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-metrics 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-server 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-threshold-crypto", + "futures", + "itertools 0.12.1", + "lightning", + "lightning-invoice", "rand", "secp256k1 0.24.3", "serde", "serde_json", - "strum", - "strum_macros", + "strum 0.26.2", + "strum_macros 0.26.2", "thiserror", "tokio", "tracing", @@ -1732,8 +2157,9 @@ dependencies = [ [[package]] name = "fedimint-logging" -version = "0.2.1" -source = "git+https://github.com/fedimint/fedimint?tag=v0.2.1#a8422b84102ab5fc768307215d5b20d807143f27" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a26a4aec2b4da537dad90e76eae070a066e211f11bd1d16c5d84fa16f61cf568" dependencies = [ "anyhow", "console-subscriber", @@ -1744,340 +2170,910 @@ dependencies = [ ] [[package]] -name = "fedimint-metrics" -version = "0.2.1" -source = "git+https://github.com/fedimint/fedimint?tag=v0.2.1#a8422b84102ab5fc768307215d5b20d807143f27" +name = "fedimint-logging" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" dependencies = [ "anyhow", - "axum", - "fedimint-core", - "lazy_static", - "prometheus", - "tokio", + "console-subscriber", + "opentelemetry-jaeger", + "tracing-chrome", + "tracing-opentelemetry", + "tracing-subscriber", +] + +[[package]] +name = "fedimint-meta-client" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53dd802f994dcd101f17a8c5cd45cce38cbd8fba6f50aa4e74c9bd95a49c9d78" +dependencies = [ + "anyhow", + "async-trait", + "clap", + "erased-serde 0.4.4", + "fedimint-client 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-meta-common 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-threshold-crypto", + "futures", + "hex", + "rand", + "secp256k1 0.24.3", + "serde", + "serde_json", + "strum 0.24.1", + "strum_macros 0.24.3", + "thiserror", "tracing", ] [[package]] -name = "fedimint-mint-client" -version = "0.2.1" -source = "git+https://github.com/fedimint/fedimint?tag=v0.2.1#a8422b84102ab5fc768307215d5b20d807143f27" +name = "fedimint-meta-client" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" dependencies = [ "anyhow", - "aquamarine", - "async-stream", "async-trait", - "base64 0.20.0", - "bincode", - "bitcoin_hashes 0.11.0", - "erased-serde", - "fedimint-client", - "fedimint-core", - "fedimint-derive-secret", - "fedimint-logging", - "fedimint-mint-common", - "fedimint-tbs", + "clap", + "erased-serde 0.4.4", + "fedimint-client 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-core 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-meta-common 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", "fedimint-threshold-crypto", "futures", - "itertools 0.10.5", + "hex", "rand", "secp256k1 0.24.3", - "secp256k1-zkp", "serde", - "serde-big-array", "serde_json", - "strum", - "strum_macros", + "strum 0.24.1", + "strum_macros 0.24.3", "thiserror", - "tokio", "tracing", ] [[package]] -name = "fedimint-mint-common" -version = "0.2.1" -source = "git+https://github.com/fedimint/fedimint?tag=v0.2.1#a8422b84102ab5fc768307215d5b20d807143f27" +name = "fedimint-meta-common" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5712885e0fcd00451e5882237c4e577ac0500c829c9bffedd4b5d11324fc145e" dependencies = [ "anyhow", "async-trait", - "bincode", "bitcoin_hashes 0.11.0", - "fedimint-core", - "fedimint-tbs", + "erased-serde 0.4.4", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "fedimint-threshold-crypto", "futures", - "itertools 0.10.5", + "hex", "rand", "secp256k1 0.24.3", - "secp256k1-zkp", "serde", - "strum", - "strum_macros", + "serde_json", + "strum 0.24.1", + "strum_macros 0.24.3", "thiserror", "tracing", ] [[package]] -name = "fedimint-mint-server" -version = "0.2.1" -source = "git+https://github.com/fedimint/fedimint?tag=v0.2.1#a8422b84102ab5fc768307215d5b20d807143f27" +name = "fedimint-meta-common" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" dependencies = [ "anyhow", - "assert_matches", "async-trait", - "bincode", "bitcoin_hashes 0.11.0", - "erased-serde", - "fedimint-core", - "fedimint-metrics", - "fedimint-mint-common", - "fedimint-server", - "fedimint-tbs", + "erased-serde 0.4.4", + "fedimint-core 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", "fedimint-threshold-crypto", "futures", - "impl-tools", - "itertools 0.10.5", + "hex", "rand", "secp256k1 0.24.3", - "secp256k1-zkp", "serde", - "strum", - "strum_macros", + "serde_json", + "strum 0.24.1", + "strum_macros 0.24.3", "thiserror", "tracing", ] [[package]] -name = "fedimint-portalloc" -version = "0.2.1" -source = "git+https://github.com/fedimint/fedimint?tag=v0.2.1#a8422b84102ab5fc768307215d5b20d807143f27" +name = "fedimint-meta-server" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e21fd3de53d6220d1377e94498e78a8cda7cef4c74707413eed08054aa4e4c5" dependencies = [ "anyhow", - "dirs", - "fedimint-core", - "fs2", + "async-trait", + "bitcoin_hashes 0.11.0", + "erased-serde 0.4.4", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-logging 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-meta-common 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "futures", "rand", + "secp256k1 0.24.3", "serde", - "serde_json", + "strum 0.24.1", + "strum_macros 0.24.3", + "thiserror", + "tokio", "tracing", ] [[package]] -name = "fedimint-rocksdb" -version = "0.2.1" -source = "git+https://github.com/fedimint/fedimint?tag=v0.2.1#a8422b84102ab5fc768307215d5b20d807143f27" +name = "fedimint-meta-server" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" dependencies = [ "anyhow", "async-trait", - "fedimint-core", + "bitcoin_hashes 0.11.0", + "erased-serde 0.4.4", + "fedimint-core 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-logging 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-meta-common 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", "futures", - "rocksdb", + "rand", + "secp256k1 0.24.3", + "serde", + "strum 0.24.1", + "strum_macros 0.24.3", + "thiserror", "tokio", "tracing", ] [[package]] -name = "fedimint-server" -version = "0.2.1" -source = "git+https://github.com/fedimint/fedimint?tag=v0.2.1#a8422b84102ab5fc768307215d5b20d807143f27" +name = "fedimint-metrics" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afeabae0fae6f1a83967865ff434ba63c26b1c691e2c7e36d2c462f0648365d8" dependencies = [ - "aleph-bft", - "aleph-bft-types", "anyhow", - "async-channel", + "axum 0.7.5", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static", + "prometheus", + "tokio", + "tracing", +] + +[[package]] +name = "fedimint-metrics" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" +dependencies = [ + "anyhow", + "axum 0.7.5", + "fedimint-core 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "lazy_static", + "prometheus", + "tokio", + "tracing", +] + +[[package]] +name = "fedimint-mint-client" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bc49a3963e108a9ee34e097d7929496cae14cf3b4e97cc3fb4b0da92e039037" +dependencies = [ + "anyhow", + "aquamarine", + "async-stream", "async-trait", + "base64 0.22.0", "bincode", - "bitcoin 0.29.2", - "bitcoin 0.30.2", "bitcoin_hashes 0.11.0", - "bitcoin_hashes 0.12.0", - "bytes", - "fedimint-aead", - "fedimint-build", - "fedimint-core", - "fedimint-hbbft", - "fedimint-logging", - "fedimint-tbs", + "erased-serde 0.4.4", + "fedimint-client 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-derive-secret 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-logging 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-mint-common 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-tbs 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "fedimint-threshold-crypto", "futures", - "itertools 0.10.5", - "jsonrpsee", - "parity-scale-codec", + "itertools 0.12.1", "rand", - "rcgen", + "secp256k1 0.24.3", "secp256k1-zkp", "serde", + "serde-big-array", "serde_json", - "sha3", - "strum", - "strum_macros", + "strum 0.26.2", + "strum_macros 0.26.2", "thiserror", "tokio", - "tokio-rustls 0.23.4", - "tokio-stream", - "tokio-util", "tracing", - "tracing-subscriber", - "url", ] [[package]] -name = "fedimint-starter-tests" -version = "0.2.1" +name = "fedimint-mint-client" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" dependencies = [ "anyhow", - "devimint", - "fedimint-cli", - "fedimint-core", - "fedimint-dummy-client 0.2.1", - "fedimint-logging", + "aquamarine", + "async-stream", + "async-trait", + "base64 0.22.0", + "bincode", + "bitcoin_hashes 0.11.0", + "erased-serde 0.4.4", + "fedimint-client 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-core 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-derive-secret 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-logging 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-mint-common 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-tbs 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-threshold-crypto", + "futures", + "itertools 0.12.1", + "rand", + "secp256k1 0.24.3", + "secp256k1-zkp", + "serde", + "serde-big-array", + "serde_json", + "strum 0.26.2", + "strum_macros 0.26.2", + "thiserror", "tokio", "tracing", ] [[package]] -name = "fedimint-tbs" -version = "0.2.1" -source = "git+https://github.com/fedimint/fedimint?tag=v0.2.1#a8422b84102ab5fc768307215d5b20d807143f27" +name = "fedimint-mint-common" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c40186a21482c8162ddef517692b3547fddc6ab584fb4f9e90a09adf8a331e16" dependencies = [ + "anyhow", + "async-trait", + "bincode", "bitcoin_hashes 0.11.0", - "bls12_381", - "ff", - "group", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-tbs 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-threshold-crypto", + "futures", + "itertools 0.12.1", + "rand", + "secp256k1 0.24.3", + "secp256k1-zkp", + "serde", + "strum 0.26.2", + "strum_macros 0.26.2", + "thiserror", + "tracing", +] + +[[package]] +name = "fedimint-mint-common" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" +dependencies = [ + "anyhow", + "async-trait", + "bincode", + "bitcoin_hashes 0.11.0", + "fedimint-core 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-tbs 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-threshold-crypto", + "futures", + "itertools 0.12.1", + "rand", + "secp256k1 0.24.3", + "secp256k1-zkp", + "serde", + "strum 0.26.2", + "strum_macros 0.26.2", + "thiserror", + "tracing", +] + +[[package]] +name = "fedimint-mint-server" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e799b52e6bcac33199c4936b3bc03cae4586b3e7bc69cd1289f3226bd2a40a86" +dependencies = [ + "anyhow", + "assert_matches", + "async-trait", + "bincode", + "bitcoin_hashes 0.11.0", + "erased-serde 0.4.4", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-metrics 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-mint-common 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-server 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-tbs 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-threshold-crypto", + "futures", + "itertools 0.12.1", + "rand", + "secp256k1 0.24.3", + "secp256k1-zkp", + "serde", + "strum 0.26.2", + "strum_macros 0.26.2", + "thiserror", + "tracing", +] + +[[package]] +name = "fedimint-mint-server" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" +dependencies = [ + "anyhow", + "assert_matches", + "async-trait", + "bincode", + "bitcoin_hashes 0.11.0", + "erased-serde 0.4.4", + "fedimint-core 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-metrics 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-mint-common 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-server 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-tbs 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-threshold-crypto", + "futures", + "itertools 0.12.1", + "rand", + "secp256k1 0.24.3", + "secp256k1-zkp", + "serde", + "strum 0.26.2", + "strum_macros 0.26.2", + "thiserror", + "tracing", +] + +[[package]] +name = "fedimint-portalloc" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bed29a76d6ff77337ab64e3bd5645a459e6463878238dc8486d9b611a03ef928" +dependencies = [ + "anyhow", + "dirs", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fs2", + "rand", + "serde", + "serde_json", + "tracing", +] + +[[package]] +name = "fedimint-portalloc" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" +dependencies = [ + "anyhow", + "dirs", + "fedimint-core 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fs2", + "rand", + "serde", + "serde_json", + "tracing", +] + +[[package]] +name = "fedimint-rocksdb" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6855695fa429c4cdcdff1756ac217369f3585e3a68a2c52bcff173e656bb0325" +dependencies = [ + "anyhow", + "async-trait", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "futures", + "rocksdb", + "tokio", + "tracing", +] + +[[package]] +name = "fedimint-rocksdb" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" +dependencies = [ + "anyhow", + "async-trait", + "fedimint-core 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "futures", + "rocksdb", + "tokio", + "tracing", +] + +[[package]] +name = "fedimint-server" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0658ed8e32c0f62e85f03f9f7c61dd4058686fcf9a969fdfcc22c5b4fb2feeab" +dependencies = [ + "aleph-bft-types", + "anyhow", + "async-channel", + "async-trait", + "bincode", + "bitcoin 0.29.2", + "bitcoin 0.30.2", + "bitcoin_hashes 0.11.0", + "bitcoin_hashes 0.12.0", + "bytes", + "fedimint-aead 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-aleph-bft", + "fedimint-build 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-logging 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-metrics 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-tbs 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-threshold-crypto", + "futures", + "hex", + "itertools 0.12.1", + "jsonrpsee", + "lazy_static", + "parity-scale-codec", + "pin-project", + "rand", + "rand_chacha", + "rcgen", + "secp256k1-zkp", + "serde", + "serde_json", + "sha3", + "strum 0.26.2", + "strum_macros 0.26.2", + "tar", + "thiserror", + "tokio", + "tokio-rustls 0.23.4", + "tokio-stream", + "tokio-util", + "tower", + "tracing", + "tracing-subscriber", + "url", +] + +[[package]] +name = "fedimint-server" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" +dependencies = [ + "aleph-bft-types", + "anyhow", + "async-channel", + "async-trait", + "bincode", + "bitcoin 0.29.2", + "bitcoin 0.30.2", + "bitcoin_hashes 0.11.0", + "bitcoin_hashes 0.12.0", + "bytes", + "fedimint-aead 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-aleph-bft", + "fedimint-build 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-core 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-logging 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-metrics 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-tbs 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-threshold-crypto", + "futures", + "hex", + "itertools 0.12.1", + "jsonrpsee", + "lazy_static", + "parity-scale-codec", + "pin-project", + "rand", + "rand_chacha", + "rcgen", + "secp256k1-zkp", + "serde", + "serde_json", + "sha3", + "strum 0.26.2", + "strum_macros 0.26.2", + "tar", + "thiserror", + "tokio", + "tokio-rustls 0.23.4", + "tokio-stream", + "tokio-util", + "tower", + "tracing", + "tracing-subscriber", + "url", +] + +[[package]] +name = "fedimint-starter-tests" +version = "0.2.1" +dependencies = [ + "anyhow", + "devimint", + "fedimint-cli 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-dummy-client 0.2.1", + "fedimint-logging 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "tokio", + "tracing", +] + +[[package]] +name = "fedimint-tbs" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad90977bc2ca480371aeb395efe35c57ddabad103b10ffe418dd8c068092dd93" +dependencies = [ + "bitcoin_hashes 0.11.0", + "bls12_381", + "ff", + "group", + "rand", + "rand_chacha", + "serde", + "sha3", +] + +[[package]] +name = "fedimint-tbs" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" +dependencies = [ + "bitcoin_hashes 0.11.0", + "bls12_381", + "ff", + "group", + "rand", + "rand_chacha", + "serde", + "sha3", +] + +[[package]] +name = "fedimint-testing" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "017ecffc0933578f5c6b77c707bfe5f32f6552798e742e1591f8b8544c9776a8" +dependencies = [ + "anyhow", + "async-stream", + "async-trait", + "bitcoin 0.29.2", + "bitcoincore-rpc", + "clap", + "fedimint-bitcoind 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-client 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-cln-rpc", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-ln-gateway 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-logging 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-portalloc 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-rocksdb 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-server 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-tonic-lnd", + "fs-lock", + "futures", + "lazy_static", + "lightning-invoice", + "rand", + "secp256k1 0.24.3", + "secp256k1-zkp", + "serde", + "tempfile", + "tokio", + "tokio-rustls 0.23.4", + "tokio-stream", + "tracing", + "url", +] + +[[package]] +name = "fedimint-testing" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" +dependencies = [ + "anyhow", + "async-stream", + "async-trait", + "bitcoin 0.29.2", + "bitcoincore-rpc", + "clap", + "fedimint-bitcoind 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-client 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-cln-rpc", + "fedimint-core 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-ln-gateway 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-logging 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-portalloc 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-rocksdb 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-server 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-tonic-lnd", + "fs-lock", + "futures", + "lazy_static", + "lightning-invoice", + "rand", + "secp256k1 0.24.3", + "secp256k1-zkp", + "serde", + "tempfile", + "tokio", + "tokio-rustls 0.23.4", + "tokio-stream", + "tracing", + "url", +] + +[[package]] +name = "fedimint-threshold-crypto" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd2930eda59c029045497a7ef03799d01eaba6091a03713bef5366bd79aab423" +dependencies = [ + "bls12_381", + "byteorder", + "ff", + "group", + "hex_fmt", + "log", + "pairing", + "rand", + "rand_chacha", + "serde", + "subtle", + "thiserror", + "tiny-keccak", + "zeroize", +] + +[[package]] +name = "fedimint-tonic-lnd" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df03ca33b5116de3051c1e233fe341e23b04c4913c7b16042497924559bc2a2e" +dependencies = [ + "hex", + "http-body 0.4.5", + "hyper 0.14.27", + "hyper-rustls", + "prost", + "rustls 0.21.7", + "rustls-pemfile 1.0.3", + "tokio", + "tokio-stream", + "tonic 0.10.2", + "tonic-build 0.10.2", + "tower", +] + +[[package]] +name = "fedimint-unknown-common" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "420794c1eb9d48ba39886204e476ab84de2677f43d3736ee2b9a60a558df91c4" +dependencies = [ + "anyhow", + "async-trait", + "bitcoin_hashes 0.11.0", + "erased-serde 0.4.4", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "futures", + "rand", + "serde", + "thiserror", + "tracing", +] + +[[package]] +name = "fedimint-unknown-common" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" +dependencies = [ + "anyhow", + "async-trait", + "bitcoin_hashes 0.11.0", + "erased-serde 0.4.4", + "fedimint-core 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "futures", + "rand", + "serde", + "thiserror", + "tracing", +] + +[[package]] +name = "fedimint-unknown-server" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc760a7b0fcef96f18012f541100a04842227f9e1a9512f67239eb10787ee699" +dependencies = [ + "anyhow", + "async-trait", + "erased-serde 0.4.4", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-unknown-common 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "futures", + "rand", + "serde", + "strum 0.26.2", + "strum_macros 0.26.2", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "fedimint-unknown-server" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" +dependencies = [ + "anyhow", + "async-trait", + "erased-serde 0.4.4", + "fedimint-core 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-unknown-common 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "futures", + "rand", + "serde", + "strum 0.26.2", + "strum_macros 0.26.2", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "fedimint-wallet-client" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9edc4fcd7f3284fe9d89d7e94fb03d765753a66b46b53e2256de70b65f52c4f3" +dependencies = [ + "anyhow", + "aquamarine", + "async-stream", + "async-trait", + "bitcoin 0.29.2", + "erased-serde 0.4.4", + "fedimint-bitcoind 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-client 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-wallet-common 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "futures", + "impl-tools", + "miniscript 10.0.0", "rand", - "rand_chacha", + "secp256k1 0.24.3", "serde", - "sha3", + "serde_json", + "strum 0.26.2", + "strum_macros 0.26.2", + "thiserror", + "tokio", + "tracing", + "url", + "validator", ] [[package]] -name = "fedimint-testing" -version = "0.2.1" -source = "git+https://github.com/fedimint/fedimint?tag=v0.2.1#a8422b84102ab5fc768307215d5b20d807143f27" +name = "fedimint-wallet-client" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" dependencies = [ "anyhow", + "aquamarine", "async-stream", "async-trait", "bitcoin 0.29.2", - "bitcoincore-rpc", - "clap", - "fedimint-bitcoind", - "fedimint-client", - "fedimint-cln-rpc", - "fedimint-core", - "fedimint-ldk-node", - "fedimint-ln-gateway", - "fedimint-logging", - "fedimint-portalloc", - "fedimint-rocksdb", - "fedimint-server", - "fedimint-tonic-lnd", - "fs-lock", + "erased-serde 0.4.4", + "fedimint-bitcoind 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-client 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-core 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-wallet-common 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", "futures", - "lazy_static", - "lightning-invoice 0.26.0", + "impl-tools", + "miniscript 10.0.0", "rand", "secp256k1 0.24.3", - "secp256k1-zkp", "serde", - "tempfile", + "serde_json", + "strum 0.26.2", + "strum_macros 0.26.2", + "thiserror", "tokio", - "tokio-rustls 0.23.4", - "tokio-stream", "tracing", "url", + "validator", ] [[package]] -name = "fedimint-threshold-crypto" -version = "0.1.0" +name = "fedimint-wallet-common" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd2930eda59c029045497a7ef03799d01eaba6091a03713bef5366bd79aab423" +checksum = "a4d8f6767ab717bbc47ffbb2dc3bb7d68ea5d83c48f25fbfe100b6b879406b48" dependencies = [ - "bls12_381", - "byteorder", - "ff", - "group", - "hex_fmt", - "log", - "pairing", + "anyhow", + "async-trait", + "bitcoin 0.29.2", + "erased-serde 0.4.4", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "futures", + "impl-tools", + "miniscript 10.0.0", + "miniscript 9.0.2", "rand", - "rand_chacha", + "secp256k1 0.24.3", "serde", - "subtle", + "strum 0.26.2", + "strum_macros 0.26.2", "thiserror", - "tiny-keccak", - "zeroize", -] - -[[package]] -name = "fedimint-tonic-lnd" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a1213680212363f551be5913506ceba1222fa88dfbe46757a85220eeacb4fad" -dependencies = [ - "hex", - "http-body", - "hyper", - "hyper-rustls", - "prost 0.12.3", - "rustls 0.21.7", - "rustls-pemfile", - "tokio", - "tokio-stream", - "tonic 0.10.2", - "tonic-build", - "tower", + "tracing", + "url", + "validator", ] [[package]] -name = "fedimint-wallet-client" -version = "0.2.1" -source = "git+https://github.com/fedimint/fedimint?tag=v0.2.1#a8422b84102ab5fc768307215d5b20d807143f27" +name = "fedimint-wallet-common" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" dependencies = [ "anyhow", - "aquamarine", - "async-stream", "async-trait", "bitcoin 0.29.2", - "erased-serde", - "fedimint-bitcoind", - "fedimint-client", - "fedimint-core", - "fedimint-wallet-common", + "erased-serde 0.4.4", + "fedimint-core 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", "futures", "impl-tools", - "miniscript", + "miniscript 10.0.0", + "miniscript 9.0.2", "rand", "secp256k1 0.24.3", "serde", - "serde_json", - "strum", - "strum_macros", + "strum 0.26.2", + "strum_macros 0.26.2", "thiserror", - "tokio", "tracing", "url", "validator", ] [[package]] -name = "fedimint-wallet-common" -version = "0.2.1" -source = "git+https://github.com/fedimint/fedimint?tag=v0.2.1#a8422b84102ab5fc768307215d5b20d807143f27" +name = "fedimint-wallet-server" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f365315038502bd082c185985e1b72bca39457ed3f457e86e851908c9f05b9a1" dependencies = [ "anyhow", "async-trait", "bitcoin 0.29.2", - "erased-serde", - "fedimint-core", + "erased-serde 0.4.4", + "fedimint-bitcoind 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-metrics 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-server 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-wallet-common 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "futures", "impl-tools", - "miniscript", + "miniscript 10.0.0", + "miniscript 9.0.2", "rand", "secp256k1 0.24.3", "serde", - "strum", - "strum_macros", + "strum 0.26.2", + "strum_macros 0.26.2", "thiserror", "tracing", "url", @@ -2086,26 +3082,27 @@ dependencies = [ [[package]] name = "fedimint-wallet-server" -version = "0.2.1" -source = "git+https://github.com/fedimint/fedimint?tag=v0.2.1#a8422b84102ab5fc768307215d5b20d807143f27" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" dependencies = [ "anyhow", "async-trait", "bitcoin 0.29.2", - "erased-serde", - "fedimint-bitcoind", - "fedimint-core", - "fedimint-metrics", - "fedimint-server", - "fedimint-wallet-common", + "erased-serde 0.4.4", + "fedimint-bitcoind 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-core 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-metrics 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-server 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-wallet-common 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", "futures", "impl-tools", - "miniscript", + "miniscript 10.0.0", + "miniscript 9.0.2", "rand", "secp256k1 0.24.3", "serde", - "strum", - "strum_macros", + "strum 0.26.2", + "strum_macros 0.26.2", "thiserror", "tracing", "url", @@ -2114,41 +3111,96 @@ dependencies = [ [[package]] name = "fedimintd" -version = "0.2.1" -source = "git+https://github.com/fedimint/fedimint?tag=v0.2.1#a8422b84102ab5fc768307215d5b20d807143f27" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbe7e22ffbe1d6f1da9a1b7fe6c99d4a80d6a78b2cba2dc5759450348adff49e" dependencies = [ "anyhow", "async-trait", - "axum", + "axum 0.7.5", "bincode", "bitcoin 0.29.2", "bytes", "clap", "console-subscriber", - "fedimint-aead", - "fedimint-bitcoind", - "fedimint-build", - "fedimint-core", - "fedimint-hbbft", - "fedimint-ln-common", - "fedimint-ln-server", - "fedimint-logging", - "fedimint-metrics", - "fedimint-mint-server", - "fedimint-rocksdb", - "fedimint-server", - "fedimint-tbs", + "fedimint-aead 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-bitcoind 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-build 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-ln-common 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-ln-server 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-logging 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-meta-server 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-metrics 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-mint-server 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-rocksdb 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-server 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-tbs 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "fedimint-threshold-crypto", - "fedimint-wallet-server", + "fedimint-unknown-common 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-unknown-server 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fedimint-wallet-server 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "futures", - "http", - "http-body", - "hyper", - "itertools 0.10.5", + "http 1.1.0", + "http-body 1.0.0", + "hyper 1.3.1", + "itertools 0.12.1", + "jsonrpsee", + "rand", + "rcgen", + "ring 0.17.8", + "secp256k1-zkp", + "serde", + "serde_json", + "sha3", + "thiserror", + "tokio", + "tokio-rustls 0.23.4", + "tokio-util", + "tower", + "tracing", + "url", +] + +[[package]] +name = "fedimintd" +version = "0.3.0" +source = "git+https://github.com/fedimint/fedimint?tag=v0.3.0#a41e3a7e31ce0f26058206a04f1cd49ef2b12fe3" +dependencies = [ + "anyhow", + "async-trait", + "axum 0.7.5", + "bincode", + "bitcoin 0.29.2", + "bytes", + "clap", + "console-subscriber", + "fedimint-aead 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-bitcoind 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-build 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-core 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-ln-common 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-ln-server 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-logging 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-meta-server 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-metrics 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-mint-server 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-rocksdb 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-server 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-tbs 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-threshold-crypto", + "fedimint-unknown-common 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-unknown-server 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "fedimint-wallet-server 0.3.0 (git+https://github.com/fedimint/fedimint?tag=v0.3.0)", + "futures", + "http 1.1.0", + "http-body 1.0.0", + "hyper 1.3.1", + "itertools 0.12.1", "jsonrpsee", "rand", "rcgen", - "ring 0.17.7", + "ring 0.17.8", "secp256k1-zkp", "serde", "serde_json", @@ -2169,7 +3221,7 @@ dependencies = [ "anyhow", "fedimint-dummy-common 0.2.1", "fedimint-dummy-server", - "fedimintd", + "fedimintd 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", ] @@ -2184,6 +3236,18 @@ dependencies = [ "subtle", ] +[[package]] +name = "filetime" +version = "0.2.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.4.1", + "windows-sys 0.52.0", +] + [[package]] name = "fixedbitset" version = "0.4.2" @@ -2208,18 +3272,18 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "form_urlencoded" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" dependencies = [ "percent-encoding", ] [[package]] name = "fs-lock" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a672b4ad40e0c0a40da1c96788d84312f7d28eedeeb49a9b1c2dcbb45824d23" +checksum = "e4f2e18078ea3b2c89f718dd7dad6850e29d74330b37665bea259e5987be9301" dependencies = [ "fs4", ] @@ -2236,12 +3300,12 @@ dependencies = [ [[package]] name = "fs4" -version = "0.7.0" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29f9df8a11882c4e3335eb2d18a0137c505d9ca927470b0cac9c6f0ae07d28f7" +checksum = "21dabded2e32cd57ded879041205c60a4a4c4bab47bd0fd2fa8b01f30849f02b" dependencies = [ "rustix", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -2252,9 +3316,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" +checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" dependencies = [ "futures-channel", "futures-core", @@ -2267,9 +3331,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" dependencies = [ "futures-core", "futures-sink", @@ -2277,15 +3341,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" [[package]] name = "futures-executor" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" dependencies = [ "futures-core", "futures-task", @@ -2294,32 +3358,32 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" [[package]] name = "futures-macro" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", - "quote 1.0.35", + "quote", "syn 2.0.48", ] [[package]] name = "futures-sink" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" [[package]] name = "futures-task" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" [[package]] name = "futures-timer" @@ -2327,15 +3391,15 @@ version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" dependencies = [ - "gloo-timers", + "gloo-timers 0.2.6", "send_wrapper", ] [[package]] name = "futures-util" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" dependencies = [ "futures-channel", "futures-core", @@ -2361,9 +3425,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.10" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" dependencies = [ "cfg-if", "js-sys", @@ -2384,30 +3448,17 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" -[[package]] -name = "globset" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "759c97c1e17c55525b57192c06a267cda0ac5210b222d6b82189a2338fa1c13d" -dependencies = [ - "aho-corasick", - "bstr", - "fnv", - "log", - "regex", -] - [[package]] name = "gloo-net" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ac9e8288ae2c632fa9f8657ac70bfe38a1530f345282d7ba66a1f70b72b7dc4" +checksum = "43aaa242d1239a8822c15c645f02166398da4f8b5c4bae795c1f5b44e9eee173" dependencies = [ "futures-channel", "futures-core", "futures-sink", "gloo-utils", - "http", + "http 0.2.9", "js-sys", "pin-project", "serde", @@ -2430,6 +3481,18 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "gloo-timers" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbb143cf96099802033e0d4f4963b19fd2e0b728bcf076cd9cf7f6634f092994" +dependencies = [ + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", +] + [[package]] name = "gloo-utils" version = "0.2.0" @@ -2456,17 +3519,36 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.21" +version = "0.3.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833" +checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" dependencies = [ "bytes", "fnv", "futures-core", "futures-sink", "futures-util", - "http", - "indexmap 1.9.3", + "http 0.2.9", + "indexmap 2.2.6", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "h2" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "816ec7294445779408f36fe57bc5b7fc1cf59664059096c65f905c1c61f58069" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http 1.1.0", + "indexmap 2.2.6", "slab", "tokio", "tokio-util", @@ -2491,23 +3573,14 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "hashbrown" -version = "0.14.0" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" dependencies = [ - "ahash 0.8.3", + "ahash 0.8.11", "allocator-api2", ] -[[package]] -name = "hashlink" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" -dependencies = [ - "hashbrown 0.14.0", -] - [[package]] name = "hdrhistogram" version = "7.5.2" @@ -2527,6 +3600,12 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + [[package]] name = "hermit-abi" version = "0.3.2" @@ -2560,7 +3639,7 @@ version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" dependencies = [ - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -2574,6 +3653,17 @@ dependencies = [ "itoa", ] +[[package]] +name = "http" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + [[package]] name = "http-body" version = "0.4.5" @@ -2581,15 +3671,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" dependencies = [ "bytes", - "http", + "http 0.2.9", "pin-project-lite", ] [[package]] -name = "http-range-header" -version = "0.3.1" +name = "http-body" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" +dependencies = [ + "bytes", + "http 1.1.0", +] + +[[package]] +name = "http-body-util" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" +checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d" +dependencies = [ + "bytes", + "futures-core", + "http 1.1.0", + "http-body 1.0.0", + "pin-project-lite", +] [[package]] name = "httparse" @@ -2619,9 +3726,9 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2", - "http", - "http-body", + "h2 0.3.26", + "http 0.2.9", + "http-body 0.4.5", "httparse", "httpdate", "itoa", @@ -2633,6 +3740,27 @@ dependencies = [ "want", ] +[[package]] +name = "hyper" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "h2 0.4.4", + "http 1.1.0", + "http-body 1.0.0", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + [[package]] name = "hyper-rustls" version = "0.24.1" @@ -2640,8 +3768,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97" dependencies = [ "futures-util", - "http", - "hyper", + "http 0.2.9", + "hyper 0.14.27", "rustls 0.21.7", "tokio", "tokio-rustls 0.24.1", @@ -2653,73 +3781,88 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" dependencies = [ - "hyper", + "hyper 0.14.27", "pin-project-lite", "tokio", "tokio-io-timeout", ] [[package]] -name = "iana-time-zone" -version = "0.1.57" +name = "hyper-util" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" +checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa" dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "wasm-bindgen", - "windows", + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.0", + "hyper 1.3.1", + "pin-project-lite", + "socket2 0.5.6", + "tokio", ] [[package]] -name = "iana-time-zone-haiku" -version = "0.1.2" +name = "ident_case" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" -dependencies = [ - "cc", -] +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" dependencies = [ "unicode-bidi", "unicode-normalization", ] [[package]] -name = "if_chain" -version = "1.0.2" +name = "imbl" +version = "2.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978d142c8028edf52095703af2fad11d6f611af1246685725d6b850634647085" +dependencies = [ + "bitmaps", + "imbl-sized-chunks", + "rand_core", + "rand_xoshiro", + "version_check", +] + +[[package]] +name = "imbl-sized-chunks" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb56e1aa765b4b4f3aadfab769793b7087bb03a4ea4920644a6d238e2df5b9ed" +checksum = "144006fb58ed787dcae3f54575ff4349755b00ccc99f4b4873860b654be1ed63" +dependencies = [ + "bitmaps", +] [[package]] name = "impl-tools" -version = "0.8.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bde75c0fa563af28932bd7317eaa58186d4d29043858f5f3a8c199076c06da7" +checksum = "d82c305b1081f1a99fda262883c788e50ab57d36c00830bdd7e0a82894ad965c" dependencies = [ "autocfg", "impl-tools-lib", "proc-macro-error", - "syn 1.0.109", + "syn 2.0.48", ] [[package]] name = "impl-tools-lib" -version = "0.8.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ffdf3b0bdfaa18798f4df71bc965704f63fba521b24d425cd61fb2bc771a77b" +checksum = "85d3946d886eaab0702fa0c6585adcced581513223fa9df7ccfabbd9fa331a88" dependencies = [ "proc-macro-error", "proc-macro2", - "quote 1.0.35", - "syn 1.0.109", + "quote", + "syn 2.0.48", ] [[package]] @@ -2729,7 +3872,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" dependencies = [ "proc-macro2", - "quote 1.0.35", + "quote", "syn 1.0.109", ] @@ -2749,7 +3892,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b139284b5cf57ecfa712bcc66950bb635b31aff41c188e8a4cfc758eca374a3f" dependencies = [ "proc-macro2", - "quote 1.0.35", + "quote", ] [[package]] @@ -2764,20 +3907,14 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.0.0" +version = "2.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", - "hashbrown 0.14.0", + "hashbrown 0.14.3", ] -[[package]] -name = "init_with" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0175f63815ce00183bf755155ad0cb48c65226c5d17a724e369c25418d2b7699" - [[package]] name = "inout" version = "0.1.3" @@ -2788,15 +3925,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "instant" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -dependencies = [ - "cfg-if", -] - [[package]] name = "integer-encoding" version = "3.0.4" @@ -2817,7 +3945,7 @@ checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" dependencies = [ "hermit-abi", "rustix", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -2838,6 +3966,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.9" @@ -2855,9 +3992,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.64" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" dependencies = [ "wasm-bindgen", ] @@ -2876,100 +4013,82 @@ dependencies = [ [[package]] name = "jsonrpsee" -version = "0.16.3" +version = "0.22.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "367a292944c07385839818bb71c8d76611138e2dedb0677d035b8da21d29c78b" +checksum = "c4b0e68d9af1f066c06d6e2397583795b912d78537d7d907c561e82c13d69fa1" dependencies = [ - "jsonrpsee-core 0.16.3", + "jsonrpsee-core", "jsonrpsee-server", - "jsonrpsee-types 0.16.3", + "jsonrpsee-types", + "tokio", ] [[package]] name = "jsonrpsee-client-transport" -version = "0.20.3" +version = "0.22.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b005c793122d03217da09af68ba9383363caa950b90d3436106df8cabce935" +checksum = "92f254f56af1ae84815b9b1325094743dcf05b92abb5e94da2e81a35cff0cada" dependencies = [ "futures-channel", "futures-util", "gloo-net", - "http", - "jsonrpsee-core 0.20.3", + "http 0.2.9", + "jsonrpsee-core", "pin-project", + "rustls-pki-types", "soketto", "thiserror", "tokio", - "tokio-rustls 0.24.1", + "tokio-rustls 0.25.0", "tokio-util", "tracing", "url", - "webpki-roots 0.25.2", -] - -[[package]] -name = "jsonrpsee-core" -version = "0.16.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b5dde66c53d6dcdc8caea1874a45632ec0fcf5b437789f1e45766a1512ce803" -dependencies = [ - "anyhow", - "arrayvec", - "async-trait", - "beef", - "futures-channel", - "futures-util", - "globset", - "hyper", - "jsonrpsee-types 0.16.3", - "parking_lot 0.12.1", - "rand", - "rustc-hash", - "serde", - "serde_json", - "soketto", - "thiserror", - "tokio", - "tracing", + "webpki-roots 0.26.1", ] [[package]] name = "jsonrpsee-core" -version = "0.20.3" +version = "0.22.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da2327ba8df2fdbd5e897e2b5ed25ce7f299d345b9736b6828814c3dbd1fd47b" +checksum = "274d68152c24aa78977243bb56f28d7946e6aa309945b37d33174a3f92d89a3a" dependencies = [ "anyhow", - "async-lock", "async-trait", "beef", "futures-timer", "futures-util", - "jsonrpsee-types 0.20.3", + "hyper 0.14.27", + "jsonrpsee-types", + "parking_lot", + "pin-project", + "rand", "rustc-hash", "serde", "serde_json", "thiserror", "tokio", + "tokio-stream", "tracing", "wasm-bindgen-futures", ] [[package]] name = "jsonrpsee-server" -version = "0.16.3" +version = "0.22.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4d945a6008c9b03db3354fb3c83ee02d2faa9f2e755ec1dfb69c3551b8f4ba" +checksum = "3b5bfbda5f8fb63f997102fd18f73e35e34c84c6dcdbdbbe72c6e48f6d2c959b" dependencies = [ - "futures-channel", "futures-util", - "http", - "hyper", - "jsonrpsee-core 0.16.3", - "jsonrpsee-types 0.16.3", + "http 0.2.9", + "hyper 0.14.27", + "jsonrpsee-core", + "jsonrpsee-types", + "pin-project", + "route-recognizer", "serde", "serde_json", "soketto", + "thiserror", "tokio", "tokio-stream", "tokio-util", @@ -2979,53 +4098,38 @@ dependencies = [ [[package]] name = "jsonrpsee-types" -version = "0.16.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245ba8e5aa633dd1c1e4fae72bce06e71f42d34c14a2767c6b4d173b57bee5e5" -dependencies = [ - "anyhow", - "beef", - "serde", - "serde_json", - "thiserror", - "tracing", -] - -[[package]] -name = "jsonrpsee-types" -version = "0.20.3" +version = "0.22.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5be0be325642e850ed0bdff426674d2e66b2b7117c9be23a7caef68a2902b7d9" +checksum = "3dc828e537868d6b12bbb07ec20324909a22ced6efca0057c825c3e1126b2c6d" dependencies = [ "anyhow", "beef", "serde", "serde_json", "thiserror", - "tracing", ] [[package]] name = "jsonrpsee-wasm-client" -version = "0.20.3" +version = "0.22.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c7cbb3447cf14fd4d2f407c3cc96e6c9634d5440aa1fbed868a31f3c02b27f0" +checksum = "7cf8dcee48f383e24957e238240f997ec317ba358b4e6d2e8be3f745bcdabdb5" dependencies = [ "jsonrpsee-client-transport", - "jsonrpsee-core 0.20.3", - "jsonrpsee-types 0.20.3", + "jsonrpsee-core", + "jsonrpsee-types", ] [[package]] name = "jsonrpsee-ws-client" -version = "0.20.3" +version = "0.22.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bca9cb3933ccae417eb6b08c3448eb1cb46e39834e5b503e395e5e5bd08546c0" +checksum = "32f00abe918bf34b785f87459b9205790e5361a3f7437adb50e928dc243f27eb" dependencies = [ - "http", + "http 0.2.9", "jsonrpsee-client-transport", - "jsonrpsee-core 0.20.3", - "jsonrpsee-types 0.20.3", + "jsonrpsee-core", + "jsonrpsee-types", "url", ] @@ -3052,9 +4156,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.152" +version = "0.2.153" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" +checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] name = "libloading" @@ -3066,12 +4170,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "libm" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4" - [[package]] name = "libredox" version = "0.0.1" @@ -3085,9 +4183,9 @@ dependencies = [ [[package]] name = "librocksdb-sys" -version = "0.11.0+8.1.1" +version = "0.16.0+8.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3386f101bcb4bd252d8e9d2fb41ec3b0862a15a62b478c355b2982efa469e3e" +checksum = "ce3d60bc059831dc1c83903fb45c103f75db65c5a7bf22272764d9cc683e348c" dependencies = [ "bindgen", "bzip2-sys", @@ -3099,17 +4197,6 @@ dependencies = [ "zstd-sys", ] -[[package]] -name = "libsqlite3-sys" -version = "0.25.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29f835d03d717946d28b1d1ed632eb6f0e24a299388ee623d0c23118d3e8a7fa" -dependencies = [ - "cc", - "pkg-config", - "vcpkg", -] - [[package]] name = "libz-sys" version = "1.1.12" @@ -3121,15 +4208,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "lightning" -version = "0.0.115" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e009e1c0c21f66378b491bb40f548682138c63e09db6f3a05af59f8804bb9f4a" -dependencies = [ - "bitcoin 0.29.2", -] - [[package]] name = "lightning" version = "0.0.118" @@ -3141,31 +4219,6 @@ dependencies = [ "hashbrown 0.8.2", ] -[[package]] -name = "lightning-background-processor" -version = "0.0.115" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "721b05b9848a09d5b943915449b5ffb31e24708007763640cf9d79b124a17e19" -dependencies = [ - "bitcoin 0.29.2", - "lightning 0.0.115", - "lightning-rapid-gossip-sync", -] - -[[package]] -name = "lightning-invoice" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4e44b0e2822c8811470137d2339fdfe67a699b3248bb1606d1d02eb6a1e9f0a" -dependencies = [ - "bech32", - "bitcoin 0.29.2", - "bitcoin_hashes 0.11.0", - "lightning 0.0.115", - "num-traits", - "secp256k1 0.24.3", -] - [[package]] name = "lightning-invoice" version = "0.26.0" @@ -3175,77 +4228,29 @@ dependencies = [ "bech32", "bitcoin 0.29.2", "bitcoin_hashes 0.11.0", - "lightning 0.0.118", + "lightning", "num-traits", "secp256k1 0.24.3", "serde", ] -[[package]] -name = "lightning-net-tokio" -version = "0.0.115" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4561ec5d4df2dd410a8b80955791fcfb007ef9210395db6e914b9527397b868c" -dependencies = [ - "bitcoin 0.29.2", - "lightning 0.0.115", - "tokio", -] - -[[package]] -name = "lightning-persister" -version = "0.0.115" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c52ed57ec33fb945f464b7e91b5df49f49fec649e1b44909f3ce517e96b0449a" -dependencies = [ - "bitcoin 0.29.2", - "libc", - "lightning 0.0.115", - "winapi", -] - -[[package]] -name = "lightning-rapid-gossip-sync" -version = "0.0.115" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd84d74a9b3892db22a60ac11dfc12e76b257b3174db6743e818ecc24834f3be" -dependencies = [ - "bitcoin 0.29.2", - "lightning 0.0.115", -] - -[[package]] -name = "lightning-transaction-sync" -version = "0.0.115" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "173e4fc554de3fdb88dde6d4fb63fbaa01a44b466a0e4d0a07abdcfcd4869ac8" -dependencies = [ - "bdk-macros", - "bitcoin 0.29.2", - "esplora-client 0.4.0", - "futures", - "lightning 0.0.115", - "reqwest", -] - [[package]] name = "linux-raw-sys" -version = "0.4.7" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a9bad9f94746442c783ca431b22403b519cd7fbeed0533fdd6328b2f2212128" +checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" [[package]] name = "lnurl-rs" -version = "0.3.1" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4fa42d2e0488393c00b96d0ea170eb6f9acbda7f965690fcd40ce6447517db7" +checksum = "29742339d2d88bd3ea1f4305e11b22d3efada9f86010ccbd7b6646837cc57e85" dependencies = [ "aes", "anyhow", "base64 0.13.1", "bech32", - "bitcoin 0.29.2", - "bitcoin_hashes 0.12.0", + "bitcoin 0.30.2", "cbc", "email_address", "reqwest", @@ -3270,6 +4275,15 @@ version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +[[package]] +name = "lru" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc" +dependencies = [ + "hashbrown 0.14.3", +] + [[package]] name = "lz4-sys" version = "1.9.4" @@ -3282,9 +4296,9 @@ dependencies = [ [[package]] name = "macro_rules_attribute" -version = "0.1.3" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf0c9b980bf4f3a37fd7b1c066941dd1b1d0152ce6ee6e8fe8c49b9f6810d862" +checksum = "8a82271f7bc033d84bbca59a3ce3e4159938cb08a9c3aebbe54d215131518a13" dependencies = [ "macro_rules_attribute-proc_macro", "paste", @@ -3292,9 +4306,9 @@ dependencies = [ [[package]] name = "macro_rules_attribute-proc_macro" -version = "0.1.3" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58093314a45e00c77d5c508f76e77c3396afbbc0d01506e7fae47b018bac2b1d" +checksum = "b8dd856d451cc0da70e2ef2ce95a18e39a93b7558bedf10201ad28503f918568" [[package]] name = "matchers" @@ -3317,15 +4331,6 @@ version = "2.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c" -[[package]] -name = "memoffset" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" -dependencies = [ - "autocfg", -] - [[package]] name = "mime" version = "0.3.17" @@ -3345,6 +4350,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5b106477a0709e2da253e5559ba4ab20a272f8577f1eefff72f3a905b5d35f5" dependencies = [ "bitcoin 0.29.2", +] + +[[package]] +name = "miniscript" +version = "10.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1eb102b66b2127a872dbcc73095b7b47aeb9d92f7b03c2b2298253ffc82c7594" +dependencies = [ + "bitcoin 0.30.2", + "bitcoin-private", "serde", ] @@ -3359,13 +4374,13 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.8" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" dependencies = [ "libc", "wasi", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -3376,15 +4391,14 @@ checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" [[package]] name = "nix" -version = "0.26.4" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" +checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.0", "cfg-if", + "cfg_aliases", "libc", - "memoffset", - "pin-utils", ] [[package]] @@ -3407,6 +4421,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + [[package]] name = "num-traits" version = "0.2.16" @@ -3449,70 +4469,57 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "opentelemetry" -version = "0.20.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9591d937bc0e6d2feb6f71a559540ab300ea49955229c347a517a28d27784c54" +checksum = "900d57987be3f2aeb70d385fff9b27fb74c5723cc9a52d904d4f9c807a0667bf" dependencies = [ - "opentelemetry_api", - "opentelemetry_sdk", + "futures-core", + "futures-sink", + "js-sys", + "once_cell", + "pin-project-lite", + "thiserror", + "urlencoding", ] [[package]] name = "opentelemetry-jaeger" -version = "0.19.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "876958ba9084f390f913fcf04ddf7bbbb822898867bb0a51cc28f2b9e5c1b515" +checksum = "fb7f5ef13427696ae8382c6f3bb7dcdadb5994223d6b983c7c50a46df7d19277" dependencies = [ "async-trait", "futures-core", "futures-util", "opentelemetry", "opentelemetry-semantic-conventions", + "opentelemetry_sdk", "thrift", ] [[package]] name = "opentelemetry-semantic-conventions" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73c9f9340ad135068800e7f1b24e9e09ed9e7143f5bf8518ded3d3ec69789269" -dependencies = [ - "opentelemetry", -] - -[[package]] -name = "opentelemetry_api" -version = "0.20.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a81f725323db1b1206ca3da8bb19874bbd3f57c3bcd59471bfb04525b265b9b" -dependencies = [ - "futures-channel", - "futures-util", - "indexmap 1.9.3", - "js-sys", - "once_cell", - "pin-project-lite", - "thiserror", - "urlencoding", -] +checksum = "f9ab5bd6c42fb9349dcf28af2ba9a0667f697f9bdcca045d39f2cec5543e2910" [[package]] name = "opentelemetry_sdk" -version = "0.20.0" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa8e705a0612d48139799fcbaba0d4a90f06277153e43dd2bdc16c6f0edd8026" +checksum = "9e90c7113be649e31e9a0f8b5ee24ed7a16923b322c3c5ab6367469c049d6b7e" dependencies = [ "async-trait", "crossbeam-channel", "futures-channel", "futures-executor", "futures-util", + "glob", "once_cell", - "opentelemetry_api", - "ordered-float 3.9.2", + "opentelemetry", + "ordered-float 4.2.0", "percent-encoding", "rand", - "regex", "thiserror", ] @@ -3533,9 +4540,9 @@ dependencies = [ [[package]] name = "ordered-float" -version = "3.9.2" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1e1c390732d15f1d48471625cd92d154e66db2c56645e29a9cd26f4699f72dc" +checksum = "a76df7075c7d4d01fdcb46c912dd17fba5b60c78ea480b475f2b6ab6f666584e" dependencies = [ "num-traits", ] @@ -3577,20 +4584,15 @@ checksum = "be30eaf4b0a9fba5336683b38de57bb86d179a35862ba6bfcf57625d006bde5b" dependencies = [ "proc-macro-crate", "proc-macro2", - "quote 1.0.35", + "quote", "syn 1.0.109", ] [[package]] -name = "parking_lot" -version = "0.11.2" +name = "parking" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" -dependencies = [ - "instant", - "lock_api", - "parking_lot_core 0.8.6", -] +checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" [[package]] name = "parking_lot" @@ -3599,21 +4601,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ "lock_api", - "parking_lot_core 0.9.8", -] - -[[package]] -name = "parking_lot_core" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" -dependencies = [ - "cfg-if", - "instant", - "libc", - "redox_syscall 0.2.16", - "smallvec", - "winapi", + "parking_lot_core", ] [[package]] @@ -3626,7 +4614,7 @@ dependencies = [ "libc", "redox_syscall 0.3.5", "smallvec", - "windows-targets", + "windows-targets 0.48.5", ] [[package]] @@ -3646,26 +4634,21 @@ version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" -[[package]] -name = "peeking_take_while" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" - [[package]] name = "pem" -version = "1.1.1" +version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" +checksum = "8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae" dependencies = [ - "base64 0.13.1", + "base64 0.22.0", + "serde", ] [[package]] name = "percent-encoding" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "petgraph" @@ -3674,26 +4657,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" dependencies = [ "fixedbitset", - "indexmap 2.0.0", + "indexmap 2.2.6", ] [[package]] name = "pin-project" -version = "1.1.3" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.3" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", - "quote 1.0.35", + "quote", "syn 2.0.48", ] @@ -3715,6 +4698,12 @@ version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" +[[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.17" @@ -3749,7 +4738,7 @@ checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", "proc-macro2", - "quote 1.0.35", + "quote", "syn 1.0.109", "version_check", ] @@ -3761,7 +4750,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ "proc-macro2", - "quote 1.0.35", + "quote", "version_check", ] @@ -3784,21 +4773,11 @@ dependencies = [ "fnv", "lazy_static", "memchr", - "parking_lot 0.12.1", + "parking_lot", "protobuf", "thiserror", ] -[[package]] -name = "prost" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" -dependencies = [ - "bytes", - "prost-derive 0.11.9", -] - [[package]] name = "prost" version = "0.12.3" @@ -3806,7 +4785,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "146c289cda302b98a28d40c8b3b90498d6e526dd24ac2ecea73e4e491685b94a" dependencies = [ "bytes", - "prost-derive 0.12.3", + "prost-derive", ] [[package]] @@ -3816,34 +4795,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c55e02e35260070b6f716a2423c2ff1c3bb1642ddca6f99e1f26d06268a0e2d2" dependencies = [ "bytes", - "heck", + "heck 0.4.1", "itertools 0.11.0", "log", "multimap", "once_cell", "petgraph", "prettyplease", - "prost 0.12.3", - "prost-types 0.12.3", + "prost", + "prost-types", "regex", "syn 2.0.48", "tempfile", "which", ] -[[package]] -name = "prost-derive" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" -dependencies = [ - "anyhow", - "itertools 0.10.5", - "proc-macro2", - "quote 1.0.35", - "syn 1.0.109", -] - [[package]] name = "prost-derive" version = "0.12.3" @@ -3851,19 +4817,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e" dependencies = [ "anyhow", - "itertools 0.11.0", - "proc-macro2", - "quote 1.0.35", - "syn 2.0.48", -] - -[[package]] -name = "prost-types" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" -dependencies = [ - "prost 0.11.9", + "itertools 0.11.0", + "proc-macro2", + "quote", + "syn 2.0.48", ] [[package]] @@ -3872,7 +4829,7 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "193898f59edcf43c26227dcd4c8427f00d99d61e95dcde58dabd49fa291d470e" dependencies = [ - "prost 0.12.3", + "prost", ] [[package]] @@ -3881,12 +4838,6 @@ version = "2.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94" -[[package]] -name = "quote" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a" - [[package]] name = "quote" version = "1.0.35" @@ -3933,36 +4884,26 @@ dependencies = [ ] [[package]] -name = "rand_derive" -version = "0.5.0" +name = "rand_xoshiro" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12f00303d5bccc2d79947dd033b160a7e661b1df3d3165d2eea03a79ebd4e1af" +checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" dependencies = [ - "quote 0.3.15", - "syn 0.11.11", + "rand_core", ] [[package]] name = "rcgen" -version = "0.10.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b" +checksum = "48406db8ac1f3cbc7dcdb56ec355343817958a356ff430259bb07baf7607e1e1" dependencies = [ "pem", - "ring 0.16.20", + "ring 0.17.8", "time", "yasna", ] -[[package]] -name = "redox_syscall" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" -dependencies = [ - "bitflags 1.3.2", -] - [[package]] name = "redox_syscall" version = "0.3.5" @@ -3992,18 +4933,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "reed-solomon-erasure" -version = "5.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2fe31452b684b8b33f65f8730c8b8812c3f5a0bb8a096934717edb1ac488641" -dependencies = [ - "libm", - "parking_lot 0.11.2", - "smallvec", - "spin 0.9.8", -] - [[package]] name = "regex" version = "1.9.5" @@ -4050,19 +4979,19 @@ checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" [[package]] name = "reqwest" -version = "0.11.20" +version = "0.11.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e9ad3fe7488d7e34558a2033d45a0c90b72d97b4f80705666fea71472e2e6a1" +checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" dependencies = [ "base64 0.21.4", "bytes", "encoding_rs", "futures-core", "futures-util", - "h2", - "http", - "http-body", - "hyper", + "h2 0.3.26", + "http 0.2.9", + "http-body 0.4.5", + "hyper 0.14.27", "hyper-rustls", "ipnet", "js-sys", @@ -4072,10 +5001,12 @@ dependencies = [ "percent-encoding", "pin-project-lite", "rustls 0.21.7", - "rustls-pemfile", + "rustls-pemfile 1.0.3", "serde", "serde_json", "serde_urlencoded", + "sync_wrapper 0.1.2", + "system-configuration", "tokio", "tokio-rustls 0.24.1", "tokio-socks", @@ -4105,41 +5036,34 @@ dependencies = [ [[package]] name = "ring" -version = "0.17.7" +version = "0.17.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", + "cfg-if", "getrandom", "libc", "spin 0.9.8", "untrusted 0.9.0", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] name = "rocksdb" -version = "0.21.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb6f170a4041d50a0ce04b0d2e14916d6ca863ea2e422689a5b694395d299ffe" +checksum = "6bd13e55d6d7b8cd0ea569161127567cd587676c99f4472f779a0279aa60a7a7" dependencies = [ "libc", "librocksdb-sys", ] [[package]] -name = "rusqlite" -version = "0.28.0" +name = "route-recognizer" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01e213bc3ecb39ac32e81e51ebe31fd888a940515173e3a18a35f8c6e896422a" -dependencies = [ - "bitflags 1.3.2", - "fallible-iterator", - "fallible-streaming-iterator", - "hashlink", - "libsqlite3-sys", - "smallvec", -] +checksum = "afab94fb28594581f62d981211a9a4d53cc8130bbcbbb89a0440d9b8e81a7746" [[package]] name = "rustc-demangle" @@ -4164,15 +5088,15 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.13" +version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7db8590df6dfcd144d22afd1b83b36c21a18d7cbc1dc4bb5295a8712e9eb662" +checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ "bitflags 2.4.0", "errno", "libc", "linux-raw-sys", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -4195,10 +5119,24 @@ checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8" dependencies = [ "log", "ring 0.16.20", - "rustls-webpki", + "rustls-webpki 0.101.5", "sct", ] +[[package]] +name = "rustls" +version = "0.22.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" +dependencies = [ + "log", + "ring 0.17.8", + "rustls-pki-types", + "rustls-webpki 0.102.3", + "subtle", + "zeroize", +] + [[package]] name = "rustls-pemfile" version = "1.0.3" @@ -4208,6 +5146,22 @@ dependencies = [ "base64 0.21.4", ] +[[package]] +name = "rustls-pemfile" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" +dependencies = [ + "base64 0.22.0", + "rustls-pki-types", +] + +[[package]] +name = "rustls-pki-types" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "beb461507cee2c2ff151784c52762cf4d9ff6a61f3e80968600ed24fa837fa54" + [[package]] name = "rustls-webpki" version = "0.101.5" @@ -4218,6 +5172,17 @@ dependencies = [ "untrusted 0.7.1", ] +[[package]] +name = "rustls-webpki" +version = "0.102.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3bce581c0dd41bce533ce695a1437fa16a7ab5ac3ccfa99fe1a620a7885eabf" +dependencies = [ + "ring 0.17.8", + "rustls-pki-types", + "untrusted 0.9.0", +] + [[package]] name = "rustversion" version = "1.0.14" @@ -4265,7 +5230,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25996b82292a7a57ed3508f052cfff8640d38d32018784acd714758b43da9c8f" dependencies = [ "bitcoin_hashes 0.12.0", + "rand", "secp256k1-sys 0.8.1", + "serde", ] [[package]] @@ -4310,9 +5277,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.21" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0" +checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" [[package]] name = "send_wrapper" @@ -4322,9 +5289,9 @@ checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" [[package]] name = "serde" -version = "1.0.195" +version = "1.0.198" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02" +checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc" dependencies = [ "serde_derive", ] @@ -4340,22 +5307,22 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.195" +version = "1.0.198" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c" +checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9" dependencies = [ "proc-macro2", - "quote 1.0.35", + "quote", "syn 2.0.48", ] [[package]] name = "serde_json" -version = "1.0.111" +version = "1.0.116" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4" +checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813" dependencies = [ - "indexmap 2.0.0", + "indexmap 2.2.6", "itoa", "ryu", "serde", @@ -4441,9 +5408,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.0" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "socket2" @@ -4457,12 +5424,12 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.4" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e" +checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" dependencies = [ "libc", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -4474,7 +5441,7 @@ dependencies = [ "base64 0.13.1", "bytes", "futures", - "http", + "http 0.2.9", "httparse", "log", "rand", @@ -4499,41 +5466,55 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + [[package]] name = "strum" version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" +[[package]] +name = "strum" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29" + [[package]] name = "strum_macros" version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" dependencies = [ - "heck", + "heck 0.4.1", "proc-macro2", - "quote 1.0.35", + "quote", "rustversion", "syn 1.0.109", ] [[package]] -name = "subtle" -version = "2.5.0" +name = "strum_macros" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" +checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.48", +] [[package]] -name = "syn" -version = "0.11.11" +name = "subtle" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad" -dependencies = [ - "quote 0.3.15", - "synom", - "unicode-xid", -] +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" [[package]] name = "syn" @@ -4542,7 +5523,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ "proc-macro2", - "quote 1.0.35", + "quote", "unicode-ident", ] @@ -4553,7 +5534,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" dependencies = [ "proc-macro2", - "quote 1.0.35", + "quote", "unicode-ident", ] @@ -4564,12 +5545,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" [[package]] -name = "synom" -version = "0.11.3" +name = "sync_wrapper" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" + +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" dependencies = [ - "unicode-xid", + "core-foundation-sys", + "libc", ] [[package]] @@ -4578,17 +5577,27 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" +[[package]] +name = "tar" +version = "0.4.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb" +dependencies = [ + "filetime", + "libc", + "xattr", +] + [[package]] name = "tempfile" -version = "3.8.0" +version = "3.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef" +checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" dependencies = [ "cfg-if", "fastrand", - "redox_syscall 0.3.5", "rustix", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] @@ -4602,21 +5611,21 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.48" +version = "1.0.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d6d7a740b8a666a7e828dd00da9c0dc290dff53154ea77ac109281de90589b7" +checksum = "f0126ad08bff79f29fc3ae6a55cc72352056dfff61e3ff8bb7129476d44b23aa" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.48" +version = "1.0.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49922ecae66cc8a249b77e68d1d0623c1b2c514f0060c27cdc68bd62a1219d35" +checksum = "d1cd413b5d558b4c5bf3680e324a6fa5014e7b7c067a51e69dbdf47eb7148b66" dependencies = [ "proc-macro2", - "quote 1.0.35", + "quote", "syn 2.0.48", ] @@ -4675,12 +5684,14 @@ dependencies = [ [[package]] name = "time" -version = "0.3.28" +version = "0.3.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17f6bb557fd245c28e6411aa56b6403c689ad95061f50e4be16c274e70a17e48" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" dependencies = [ "deranged", "itoa", + "num-conv", + "powerfmt", "serde", "time-core", "time-macros", @@ -4688,16 +5699,17 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.14" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a942f44339478ef67935ab2bbaec2fb0322496cf3cbe84b261e06ac3814c572" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" dependencies = [ + "num-conv", "time-core", ] @@ -4727,22 +5739,22 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.32.0" +version = "1.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9" +checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" dependencies = [ "backtrace", "bytes", "libc", "mio", "num_cpus", - "parking_lot 0.12.1", + "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.4", + "socket2 0.5.6", "tokio-macros", "tracing", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -4757,12 +5769,12 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" +checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", - "quote 1.0.35", + "quote", "syn 2.0.48", ] @@ -4787,6 +5799,17 @@ dependencies = [ "tokio", ] +[[package]] +name = "tokio-rustls" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" +dependencies = [ + "rustls 0.22.4", + "rustls-pki-types", + "tokio", +] + [[package]] name = "tokio-socks" version = "0.5.1" @@ -4808,13 +5831,14 @@ dependencies = [ "futures-core", "pin-project-lite", "tokio", + "tokio-util", ] [[package]] name = "tokio-util" -version = "0.7.8" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d" +checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" dependencies = [ "bytes", "futures-core", @@ -4837,32 +5861,34 @@ version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" dependencies = [ - "indexmap 2.0.0", + "indexmap 2.2.6", "toml_datetime", "winnow", ] [[package]] name = "tonic" -version = "0.9.2" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3082666a3a6433f7f511c7192923fa1fe07c69332d3c6a2e6bb040b569199d5a" +checksum = "d560933a0de61cf715926b9cac824d4c883c2c43142f787595e48280c40a1d0e" dependencies = [ + "async-stream", "async-trait", - "axum", + "axum 0.6.20", "base64 0.21.4", "bytes", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "hyper", + "h2 0.3.26", + "http 0.2.9", + "http-body 0.4.5", + "hyper 0.14.27", "hyper-timeout", "percent-encoding", "pin-project", - "prost 0.11.9", + "prost", + "rustls 0.21.7", + "rustls-pemfile 1.0.3", "tokio", + "tokio-rustls 0.24.1", "tokio-stream", "tower", "tower-layer", @@ -4872,27 +5898,27 @@ dependencies = [ [[package]] name = "tonic" -version = "0.10.2" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d560933a0de61cf715926b9cac824d4c883c2c43142f787595e48280c40a1d0e" +checksum = "76c4eb7a4e9ef9d4763600161f12f5070b92a578e1b634db88a6887844c91a13" dependencies = [ "async-stream", "async-trait", - "axum", + "axum 0.6.20", "base64 0.21.4", "bytes", - "h2", - "http", - "http-body", - "hyper", + "h2 0.3.26", + "http 0.2.9", + "http-body 0.4.5", + "hyper 0.14.27", "hyper-timeout", "percent-encoding", "pin-project", - "prost 0.12.3", - "rustls 0.21.7", - "rustls-pemfile", + "prost", + "rustls-pemfile 2.1.2", + "rustls-pki-types", "tokio", - "tokio-rustls 0.24.1", + "tokio-rustls 0.25.0", "tokio-stream", "tower", "tower-layer", @@ -4909,7 +5935,20 @@ dependencies = [ "prettyplease", "proc-macro2", "prost-build", - "quote 1.0.35", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "tonic-build" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4ef6dd70a610078cb4e338a0f79d06bc759ff1b22d2120c2ff02ae264ba9c2" +dependencies = [ + "prettyplease", + "proc-macro2", + "prost-build", + "quote", "syn 2.0.48", ] @@ -4935,18 +5974,16 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.4.4" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140" +checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" dependencies = [ "base64 0.21.4", "bitflags 2.4.0", "bytes", - "futures-core", - "futures-util", - "http", - "http-body", - "http-range-header", + "http 1.1.0", + "http-body 1.0.0", + "http-body-util", "mime", "pin-project-lite", "tower-layer", @@ -4967,11 +6004,10 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" [[package]] name = "tracing" -version = "0.1.37" +version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ - "cfg-if", "log", "pin-project-lite", "tracing-attributes", @@ -4980,12 +6016,12 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", - "quote 1.0.35", + "quote", "syn 2.0.48", ] @@ -5002,9 +6038,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" dependencies = [ "once_cell", "valuable", @@ -5012,34 +6048,38 @@ dependencies = [ [[package]] name = "tracing-log" -version = "0.1.3" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" dependencies = [ - "lazy_static", "log", + "once_cell", "tracing-core", ] [[package]] name = "tracing-opentelemetry" -version = "0.20.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc09e402904a5261e42cf27aea09ccb7d5318c6717a9eec3d8e2e65c56b18f19" +checksum = "a9be14ba1bbe4ab79e9229f7f89fab8d120b865859f10527f31c033e599d2284" dependencies = [ + "js-sys", "once_cell", "opentelemetry", + "opentelemetry_sdk", + "smallvec", "tracing", "tracing-core", "tracing-log", "tracing-subscriber", + "web-time", ] [[package]] name = "tracing-subscriber" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" dependencies = [ "matchers", "nu-ansi-term", @@ -5086,12 +6126,6 @@ dependencies = [ "tinyvec", ] -[[package]] -name = "unicode-xid" -version = "0.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc" - [[package]] name = "untrusted" version = "0.7.1" @@ -5106,9 +6140,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" +checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" dependencies = [ "form_urlencoded", "idna", @@ -5124,12 +6158,12 @@ checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" [[package]] name = "validator" -version = "0.16.1" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b92f40481c04ff1f4f61f304d61793c7b56ff76ac1469f1beb199b1445b253bd" +checksum = "da339118f018cc70ebf01fafc103360528aad53717e4bf311db929cb01cb9345" dependencies = [ "idna", - "lazy_static", + "once_cell", "regex", "serde", "serde_derive", @@ -5140,28 +6174,16 @@ dependencies = [ [[package]] name = "validator_derive" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc44ca3088bb3ba384d9aecf40c6a23a676ce23e09bdaca2073d99c207f864af" +checksum = "76e88ea23b8f5e59230bff8a2f03c0ee0054a61d5b8343a38946bcd406fe624c" dependencies = [ - "if_chain", - "lazy_static", + "darling", "proc-macro-error", "proc-macro2", - "quote 1.0.35", + "quote", "regex", - "syn 1.0.109", - "validator_types", -] - -[[package]] -name = "validator_types" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "111abfe30072511849c5910134e8baf8dc05de4c0e5903d681cbd5c9c4d611e3" -dependencies = [ - "proc-macro2", - "syn 1.0.109", + "syn 2.0.48", ] [[package]] @@ -5199,9 +6221,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -5209,24 +6231,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", - "quote 1.0.35", + "quote", "syn 2.0.48", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.37" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" dependencies = [ "cfg-if", "js-sys", @@ -5236,22 +6258,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" dependencies = [ - "quote 1.0.35", + "quote", "wasm-bindgen-macro-support", ] [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", - "quote 1.0.35", + "quote", "syn 2.0.48", "wasm-bindgen-backend", "wasm-bindgen-shared", @@ -5259,9 +6281,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.87" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "web-sys" @@ -5273,6 +6295,16 @@ 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" version = "0.22.1" @@ -5298,6 +6330,15 @@ version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc" +[[package]] +name = "webpki-roots" +version = "0.26.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3de34ae270483955a94f4b21bdaaeb83d508bb84a01435f393818edb0012009" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "which" version = "4.4.2" @@ -5342,21 +6383,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] -name = "windows" +name = "windows-sys" version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ - "windows-targets", + "windows-targets 0.48.5", ] [[package]] name = "windows-sys" -version = "0.48.0" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets", + "windows-targets 0.52.5", ] [[package]] @@ -5365,13 +6406,29 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", + "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.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +dependencies = [ + "windows_aarch64_gnullvm 0.52.5", + "windows_aarch64_msvc 0.52.5", + "windows_i686_gnu 0.52.5", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.5", + "windows_x86_64_gnu 0.52.5", + "windows_x86_64_gnullvm 0.52.5", + "windows_x86_64_msvc 0.52.5", ] [[package]] @@ -5380,42 +6437,90 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" + [[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.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" + [[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.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" + [[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.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" + [[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.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" + [[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.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" + [[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.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" + [[package]] name = "winnow" version = "0.5.33" @@ -5432,7 +6537,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" dependencies = [ "cfg-if", - "windows-sys", + "windows-sys 0.48.0", ] [[package]] @@ -5444,6 +6549,17 @@ dependencies = [ "tap", ] +[[package]] +name = "xattr" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" +dependencies = [ + "libc", + "linux-raw-sys", + "rustix", +] + [[package]] name = "yasna" version = "0.5.2" @@ -5453,6 +6569,26 @@ dependencies = [ "time", ] +[[package]] +name = "zerocopy" +version = "0.7.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + [[package]] name = "zeroize" version = "1.6.0" diff --git a/Cargo.toml b/Cargo.toml index 3a381a4..9faef20 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,17 +22,18 @@ license-file = "LICENSE" keywords = ["bitcoin", "lightning", "chaumian", "e-cash", "federated"] [workspace.dependencies] -fedimintd = { git = "https://github.com/fedimint/fedimint", tag = "v0.2.1" } -fedimint-cli = { git = "https://github.com/fedimint/fedimint", tag = "v0.2.1" } -fedimint-core = { git = "https://github.com/fedimint/fedimint", tag = "v0.2.1" } -fedimint-client = { git = "https://github.com/fedimint/fedimint", tag = "v0.2.1" } -fedimint-logging = { git = "https://github.com/fedimint/fedimint", tag = "v0.2.1" } -fedimint-server = { git = "https://github.com/fedimint/fedimint", tag = "v0.2.1" } -fedimint-testing = { git = "https://github.com/fedimint/fedimint", tag = "v0.2.1" } -devimint = { git = "https://github.com/fedimint/fedimint", tag = "v0.2.1" } -aead = { git = "https://github.com/fedimint/fedimint", tag = "v0.2.1" } +fedimintd = "0.3.0" +fedimint-cli = "0.3.0" +fedimint-core = "0.3.0" +fedimint-client = "0.3.0" +fedimint-logging = "0.3.0" +fedimint-server = "0.3.0" +fedimint-testing = "0.3.0" +devimint = { git = "https://github.com/fedimint/fedimint", tag = "v0.3.0" } +aead = { git = "https://github.com/fedimint/fedimint", tag = "v0.3.0" } threshold_crypto = { git = "https://github.com/fedimint/threshold_crypto" } -tbs = { git = "https://github.com/fedimint/fedimint", tag = "v0.2.1" } +tbs = { git = "https://github.com/fedimint/fedimint", tag = "v0.3.0" } +secp256k1 = "0.24.3" # Comment above lines and uncomment these to work with local fedimint dependencies # fedimintd = { path = "../fedimint/fedimintd" } diff --git a/fedimint-dummy-client/Cargo.toml b/fedimint-dummy-client/Cargo.toml index 859c2db..1826713 100644 --- a/fedimint-dummy-client/Cargo.toml +++ b/fedimint-dummy-client/Cargo.toml @@ -13,14 +13,14 @@ path = "src/lib.rs" [dependencies] async-trait = "0.1.73" anyhow = "1.0.66" -fedimint-dummy-common ={ path = "../fedimint-dummy-common" } +fedimint-dummy-common = { path = "../fedimint-dummy-common" } fedimint-client = { workspace = true } -fedimint-core ={ workspace = true } +fedimint-core = { workspace = true } futures = "0.3" erased-serde = "0.3" rand = "0.8.5" -secp256k1 = "0.24.2" -serde = {version = "1.0.149", features = [ "derive" ] } +secp256k1 = { workspace = true } +serde = { version = "1.0.149", features = ["derive"] } strum = "0.24" strum_macros = "0.24" tracing = "0.1.37" diff --git a/fedimint-dummy-client/src/db.rs b/fedimint-dummy-client/src/db.rs index 89a2d47..de08971 100644 --- a/fedimint-dummy-client/src/db.rs +++ b/fedimint-dummy-client/src/db.rs @@ -1,11 +1,21 @@ +use fedimint_client::sm::DynState; +use fedimint_core::core::{IntoDynInstance, ModuleInstanceId, OperationId}; +use fedimint_core::db::{DatabaseTransaction, DatabaseValue, IDatabaseTransactionOpsCoreTyped}; use fedimint_core::encoding::{Decodable, Encodable}; +use fedimint_core::module::registry::ModuleDecoderRegistry; use fedimint_core::{impl_db_record, Amount}; use strum_macros::EnumIter; +use tracing::warn; + +use crate::states::DummyStateMachine; #[repr(u8)] #[derive(Clone, Debug, EnumIter)] pub enum DbKeyPrefix { ClientFunds = 0x04, + // Used to verify that 0x50 key can be written to, which used to conflict with + // `DatabaseVersionKeyV0` + ClientName = 0x50, } impl std::fmt::Display for DbKeyPrefix { @@ -19,6 +29,132 @@ pub struct DummyClientFundsKeyV0; impl_db_record!( key = DummyClientFundsKeyV0, + value = (), + db_prefix = DbKeyPrefix::ClientFunds, +); + +#[derive(Debug, Clone, Encodable, Decodable, Eq, PartialEq, Hash)] +pub struct DummyClientFundsKeyV1; + +impl_db_record!( + key = DummyClientFundsKeyV1, value = Amount, db_prefix = DbKeyPrefix::ClientFunds, ); + +#[derive(Debug, Clone, Encodable, Decodable, Eq, PartialEq, Hash)] +pub struct DummyClientNameKey; + +impl_db_record!( + key = DummyClientNameKey, + value = String, + db_prefix = DbKeyPrefix::ClientName, +); + +/// Migrates the database from version 0 to version 1 by +/// removing `DummyClientFundsKeyV0` and inserting `DummyClientFundsKeyV1`. +/// The new key/value pair has an `Amount` as the value. +pub async fn migrate_to_v1( + dbtx: &mut DatabaseTransaction<'_>, +) -> anyhow::Result, Vec)>> { + if dbtx.remove_entry(&DummyClientFundsKeyV0).await.is_some() { + // Since this is a dummy migration, we can insert any value for the client + // funds. Real modules should handle the funds properly. + + dbtx.insert_new_entry(&DummyClientFundsKeyV1, &Amount::from_sats(1000)) + .await; + } else { + warn!("Dummy client did not have client funds, skipping database migration"); + } + + Ok(None) +} + +/// Migrates the database from version 1 to version 2. Maps all `Unreachable` +/// states in the state machine to `InputDone`. +pub async fn migrate_to_v2( + module_instance_id: ModuleInstanceId, + active_states: Vec<(Vec, OperationId)>, + inactive_states: Vec<(Vec, OperationId)>, + decoders: ModuleDecoderRegistry, +) -> anyhow::Result, Vec)>> { + let mut new_active_states = Vec::new(); + for (active_state, _) in active_states { + // Try to decode the bytes as a `DynState` + let dynstate = DynState::from_bytes(active_state.as_slice(), &decoders)?; + let typed_state = dynstate + .as_any() + .downcast_ref::() + .expect("Unexpected DynState suppilied to migration function"); + + match typed_state { + DummyStateMachine::Unreachable(_, _) => { + // Try to parse the bytes as the `Unreachable` struct to simulate a deleted + // state. In a real migration, `DynState::from_bytes` will + // fail since `DummyStateMachine::Unreachable` will not exist. + if let Ok(unreachable) = + Unreachable::consensus_decode_vec(active_state.clone(), &decoders) + { + new_active_states.push( + DummyStateMachine::OutputDone(unreachable.amount, unreachable.operation_id) + .into_dyn(module_instance_id), + ); + } + } + state => new_active_states.push(state.clone().into_dyn(module_instance_id)), + } + } + + let mut new_inactive_states = Vec::new(); + for (inactive_state, _) in inactive_states { + // Try to decode the bytes as a `DynState` + let dynstate = DynState::from_bytes(inactive_state.as_slice(), &decoders)?; + let typed_state = dynstate + .as_any() + .downcast_ref::() + .expect("Unexpected DynState suppilied to migration function"); + + match typed_state { + DummyStateMachine::Unreachable(_, _) => { + // Try to parse the bytes as the `Unreachable` struct to simulate a deleted + // state. In a real migration, `DynState::from_bytes` will + // fail since `DummyStateMachine::Unreachable` will not exist. + if let Ok(unreachable) = + Unreachable::consensus_decode_vec(inactive_state.clone(), &decoders) + { + new_inactive_states.push( + DummyStateMachine::OutputDone(unreachable.amount, unreachable.operation_id) + .into_dyn(module_instance_id), + ); + } + } + state => new_inactive_states.push(state.clone().into_dyn(module_instance_id)), + } + } + + Ok(Some((new_active_states, new_inactive_states))) +} + +#[derive(Debug)] +struct Unreachable { + _module_instance_id: ModuleInstanceId, + operation_id: OperationId, + amount: Amount, +} + +impl Decodable for Unreachable { + fn consensus_decode( + reader: &mut R, + modules: &ModuleDecoderRegistry, + ) -> Result { + let module_instance_id = ModuleInstanceId::consensus_decode(reader, modules)?; + let operation_id = OperationId::consensus_decode(reader, modules)?; + let amount = Amount::consensus_decode(reader, modules)?; + + Ok(Unreachable { + _module_instance_id: module_instance_id, + operation_id, + amount, + }) + } +} diff --git a/fedimint-dummy-client/src/lib.rs b/fedimint-dummy-client/src/lib.rs index 386cbc3..34e62b6 100644 --- a/fedimint-dummy-client/src/lib.rs +++ b/fedimint-dummy-client/src/lib.rs @@ -4,16 +4,17 @@ use std::time::Duration; use anyhow::{anyhow, format_err, Context as _}; use common::broken_fed_key_pair; -use db::DbKeyPrefix; +use db::{migrate_to_v1, migrate_to_v2, DbKeyPrefix, DummyClientFundsKeyV1, DummyClientNameKey}; +use fedimint_client::db::ClientMigrationFn; use fedimint_client::module::init::{ClientModuleInit, ClientModuleInitArgs}; use fedimint_client::module::recovery::NoModuleBackup; use fedimint_client::module::{ClientContext, ClientModule, IClientModule}; use fedimint_client::sm::{Context, ModuleNotifier}; use fedimint_client::transaction::{ClientInput, ClientOutput, TransactionBuilder}; -use fedimint_client::DynGlobalClientContext; -use fedimint_core::api::GlobalFederationApi; use fedimint_core::core::{Decoder, KeyPair, OperationId}; -use fedimint_core::db::{Database, DatabaseTransaction, IDatabaseTransactionOpsCoreTyped}; +use fedimint_core::db::{ + Database, DatabaseTransaction, DatabaseVersion, IDatabaseTransactionOpsCoreTyped, +}; use fedimint_core::module::{ ApiVersion, CommonModuleInit, ModuleCommon, ModuleInit, MultiApiVersion, TransactionItemAmount, }; @@ -25,22 +26,20 @@ use fedimint_dummy_common::{ fed_key_pair, DummyCommonInit, DummyInput, DummyModuleTypes, DummyOutput, DummyOutputOutcome, KIND, }; -use futures::{pin_mut, StreamExt}; +use futures::{pin_mut, FutureExt, StreamExt}; use secp256k1::{PublicKey, Secp256k1}; use states::DummyStateMachine; use strum::IntoEnumIterator; -use crate::db::DummyClientFundsKeyV0; - pub mod api; -mod db; +pub mod db; pub mod states; #[derive(Debug)] pub struct DummyClientModule { cfg: DummyClientConfig, key: KeyPair, - notifier: ModuleNotifier, + notifier: ModuleNotifier, client_ctx: ClientContext, db: Database, } @@ -88,6 +87,14 @@ impl ClientModule for DummyClientModule { }) } + // fn input_fee(&self, _input: &::Input) -> + // Option { Some(self.cfg.tx_fee) + // } + + // fn output_fee(&self, _output: &::Output) -> + // Option { Some(self.cfg.tx_fee) + // } + fn supports_being_primary(&self) -> bool { true } @@ -106,7 +113,7 @@ impl ClientModule for DummyClientModule { return Err(format_err!("Insufficient funds")); } let updated = funds - amount; - dbtx.insert_entry(&DummyClientFundsKeyV0, &updated).await; + dbtx.insert_entry(&DummyClientFundsKeyV1, &updated).await; // Construct input and state machine to track the tx Ok(vec![ClientInput { @@ -296,7 +303,7 @@ impl DummyClientModule { return Err(format_err!("Wrong account id")); } - dbtx.insert_entry(&DummyClientFundsKeyV0, &new_balance) + dbtx.insert_entry(&DummyClientFundsKeyV1, &new_balance) .await; dbtx.commit_tx().await; Ok(()) @@ -309,7 +316,7 @@ impl DummyClientModule { } async fn get_funds(dbtx: &mut DatabaseTransaction<'_>) -> Amount { - let funds = dbtx.get_value(&DummyClientFundsKeyV0).await; + let funds = dbtx.get_value(&DummyClientFundsKeyV1).await; funds.unwrap_or(Amount::ZERO) } @@ -317,9 +324,9 @@ async fn get_funds(dbtx: &mut DatabaseTransaction<'_>) -> Amount { pub struct DummyClientInit; // TODO: Boilerplate-code -#[apply(async_trait_maybe_send!)] impl ModuleInit for DummyClientInit { type Common = DummyCommonInit; + const DATABASE_VERSION: DatabaseVersion = DatabaseVersion(2); async fn dump_database( &self, @@ -334,10 +341,15 @@ impl ModuleInit for DummyClientInit { for table in filtered_prefixes { match table { DbKeyPrefix::ClientFunds => { - if let Some(funds) = dbtx.get_value(&DummyClientFundsKeyV0).await { + if let Some(funds) = dbtx.get_value(&DummyClientFundsKeyV1).await { items.insert("Dummy Funds".to_string(), Box::new(funds)); } } + DbKeyPrefix::ClientName => { + if let Some(name) = dbtx.get_value(&DummyClientNameKey).await { + items.insert("Dummy Name".to_string(), Box::new(name)); + } + } } } @@ -367,4 +379,20 @@ impl ClientModuleInit for DummyClientInit { db: args.db().clone(), }) } + + fn get_database_migrations(&self) -> BTreeMap { + let mut migrations: BTreeMap = BTreeMap::new(); + migrations.insert(DatabaseVersion(0), move |dbtx, _, _, _, _| { + migrate_to_v1(dbtx).boxed() + }); + + migrations.insert( + DatabaseVersion(1), + move |_, module_instance_id, active_states, inactive_states, decoders| { + migrate_to_v2(module_instance_id, active_states, inactive_states, decoders).boxed() + }, + ); + + migrations + } } diff --git a/fedimint-dummy-client/src/states.rs b/fedimint-dummy-client/src/states.rs index 2360eea..3898b49 100644 --- a/fedimint-dummy-client/src/states.rs +++ b/fedimint-dummy-client/src/states.rs @@ -2,7 +2,6 @@ use std::time::Duration; use fedimint_client::sm::{DynState, State, StateTransition}; use fedimint_client::DynGlobalClientContext; -use fedimint_core::api::{GlobalFederationApi, OutputOutcomeError}; use fedimint_core::core::{Decoder, IntoDynInstance, ModuleInstanceId, OperationId}; use fedimint_core::db::{DatabaseTransaction, IDatabaseTransactionOpsCoreTyped}; use fedimint_core::encoding::{Decodable, Encodable}; @@ -13,33 +12,33 @@ use serde::{Deserialize, Serialize}; use thiserror::Error; use tracing::debug; -use crate::db::DummyClientFundsKeyV0; +use crate::db::DummyClientFundsKeyV1; use crate::{get_funds, DummyClientContext}; const RETRY_DELAY: Duration = Duration::from_secs(1); /// Tracks a transaction -#[derive(Debug, Clone, Eq, PartialEq, Decodable, Encodable)] +#[derive(Debug, Clone, Eq, PartialEq, Hash, Decodable, Encodable)] pub enum DummyStateMachine { Input(Amount, TransactionId, OperationId), Output(Amount, TransactionId, OperationId), InputDone(OperationId), OutputDone(Amount, OperationId), Refund(OperationId), + Unreachable(OperationId, Amount), } impl State for DummyStateMachine { type ModuleContext = DummyClientContext; - type GlobalContext = DynGlobalClientContext; fn transitions( &self, context: &Self::ModuleContext, - global_context: &Self::GlobalContext, + global_context: &DynGlobalClientContext, ) -> Vec> { match self.clone() { DummyStateMachine::Input(amount, txid, id) => vec![StateTransition::new( - await_tx_accepted(global_context.clone(), id, txid), + await_tx_accepted(global_context.clone(), txid), move |dbtx, res, _state: Self| match res { // accepted, we are done Ok(_) => Box::pin(async move { DummyStateMachine::InputDone(id) }), @@ -69,6 +68,7 @@ impl State for DummyStateMachine { DummyStateMachine::InputDone(_) => vec![], DummyStateMachine::OutputDone(_, _) => vec![], DummyStateMachine::Refund(_) => vec![], + DummyStateMachine::Unreachable(_, _) => vec![], } } @@ -79,22 +79,22 @@ impl State for DummyStateMachine { DummyStateMachine::InputDone(id) => *id, DummyStateMachine::OutputDone(_, id) => *id, DummyStateMachine::Refund(id) => *id, + DummyStateMachine::Unreachable(id, _) => *id, } } } async fn add_funds(amount: Amount, mut dbtx: DatabaseTransaction<'_>) { let funds = get_funds(&mut dbtx).await + amount; - dbtx.insert_entry(&DummyClientFundsKeyV0, &funds).await; + dbtx.insert_entry(&DummyClientFundsKeyV1, &funds).await; } // TODO: Boiler-plate, should return OutputOutcome async fn await_tx_accepted( context: DynGlobalClientContext, - id: OperationId, txid: TransactionId, ) -> Result<(), String> { - context.await_tx_accepted(id, txid).await + context.await_tx_accepted(txid).await } async fn await_dummy_output_outcome( @@ -115,23 +115,21 @@ async fn await_dummy_output_outcome( Ok(_) => { return Ok(()); } - Err(OutputOutcomeError::Federation(e)) if e.is_retryable() => { - debug!( - "Awaiting output outcome failed, retrying in {}s", - RETRY_DELAY.as_secs_f64() - ); - sleep(RETRY_DELAY).await; - } - Err(_) => { + Err(e) if e.is_rejected() => { return Err(DummyError::DummyInternalError); } + Err(e) => { + e.report_if_important(); + debug!(error = %e, "Awaiting output outcome failed, retrying"); + } } + sleep(RETRY_DELAY).await; } } // TODO: Boiler-plate impl IntoDynInstance for DummyStateMachine { - type DynType = DynState; + type DynType = DynState; fn into_dyn(self, instance_id: ModuleInstanceId) -> Self::DynType { DynState::from_typed(instance_id, self) diff --git a/fedimint-dummy-common/Cargo.toml b/fedimint-dummy-common/Cargo.toml index ddd0ed8..8abd246 100644 --- a/fedimint-dummy-common/Cargo.toml +++ b/fedimint-dummy-common/Cargo.toml @@ -19,10 +19,10 @@ async-trait = "0.1.73" bitcoin_hashes = "0.11.0" erased-serde = "0.3" futures = "0.3" -fedimint-core ={ workspace = true } +fedimint-core = { workspace = true } rand = "0.8" -serde = { version = "1.0.149", features = [ "derive" ] } -secp256k1 = "0.24.2" +serde = { version = "1.0.149", features = ["derive"] } +secp256k1 = { workspace = true } strum = "0.24" strum_macros = "0.24" thiserror = "1.0.39" diff --git a/fedimint-dummy-common/src/config.rs b/fedimint-dummy-common/src/config.rs index 36d9d15..15dedd8 100644 --- a/fedimint-dummy-common/src/config.rs +++ b/fedimint-dummy-common/src/config.rs @@ -14,7 +14,7 @@ pub struct DummyGenParams { /// Local parameters for config generation #[derive(Debug, Clone, Serialize, Deserialize)] -pub struct DummyGenParamsLocal(pub String); +pub struct DummyGenParamsLocal; /// Consensus parameters for config generation #[derive(Debug, Clone, Serialize, Deserialize)] @@ -25,7 +25,7 @@ pub struct DummyGenParamsConsensus { impl Default for DummyGenParams { fn default() -> Self { Self { - local: DummyGenParamsLocal("example".to_string()), + local: DummyGenParamsLocal, consensus: DummyGenParamsConsensus { tx_fee: Amount::ZERO, }, @@ -50,9 +50,7 @@ pub struct DummyClientConfig { /// Locally unencrypted config unique to each member #[derive(Clone, Debug, Serialize, Deserialize, Decodable, Encodable)] -pub struct DummyConfigLocal { - pub example: String, -} +pub struct DummyConfigLocal; /// Will be the same for every federation member #[derive(Clone, Debug, Serialize, Deserialize, Decodable, Encodable)] diff --git a/fedimint-dummy-common/src/lib.rs b/fedimint-dummy-common/src/lib.rs index 91f759b..1400ef9 100644 --- a/fedimint-dummy-common/src/lib.rs +++ b/fedimint-dummy-common/src/lib.rs @@ -18,7 +18,7 @@ pub mod config; pub const KIND: ModuleKind = ModuleKind::from_static_str("dummy"); /// Modules are non-compatible with older versions -pub const CONSENSUS_VERSION: ModuleConsensusVersion = ModuleConsensusVersion::new(0, 0); +pub const MODULE_CONSENSUS_VERSION: ModuleConsensusVersion = ModuleConsensusVersion::new(2, 0); /// Non-transaction items that will be submitted to consensus #[derive(Debug, Clone, Eq, PartialEq, Hash, Serialize, Deserialize, Encodable, Decodable)] @@ -74,7 +74,7 @@ plugin_types_trait_impl_common!( pub struct DummyCommonInit; impl CommonModuleInit for DummyCommonInit { - const CONSENSUS_VERSION: ModuleConsensusVersion = CONSENSUS_VERSION; + const CONSENSUS_VERSION: ModuleConsensusVersion = MODULE_CONSENSUS_VERSION; const KIND: ModuleKind = KIND; type ClientConfig = DummyClientConfig; diff --git a/fedimint-dummy-server/Cargo.toml b/fedimint-dummy-server/Cargo.toml index ffadc42..e827d06 100644 --- a/fedimint-dummy-server/Cargo.toml +++ b/fedimint-dummy-server/Cargo.toml @@ -22,11 +22,11 @@ futures = "0.3" fedimint-core = { workspace = true } fedimint-dummy-common = { path = "../fedimint-dummy-common" } rand = "0.8" -serde = { version = "1.0.149", features = [ "derive" ] } -secp256k1 = "0.24.2" +serde = { version = "1.0.149", features = ["derive"] } +secp256k1 = { workspace = true } strum = "0.24" strum_macros = "0.24" thiserror = "1.0.39" -#fedimint-server = { workspace = true } +fedimint-server = { workspace = true } tracing = "0.1.37" tokio = { version = "1.26.0", features = ["sync"] } diff --git a/fedimint-dummy-server/src/lib.rs b/fedimint-dummy-server/src/lib.rs index ecc09dc..aeb0919 100644 --- a/fedimint-dummy-server/src/lib.rs +++ b/fedimint-dummy-server/src/lib.rs @@ -1,5 +1,4 @@ use std::collections::BTreeMap; -use std::string::ToString; use anyhow::bail; use async_trait::async_trait; @@ -9,7 +8,7 @@ use fedimint_core::config::{ }; use fedimint_core::core::ModuleInstanceId; use fedimint_core::db::{ - DatabaseTransaction, DatabaseVersion, IDatabaseTransactionOpsCoreTyped, MigrationMap, + DatabaseTransaction, DatabaseVersion, IDatabaseTransactionOpsCoreTyped, ServerMigrationFn, }; use fedimint_core::module::audit::Audit; use fedimint_core::module::{ @@ -25,8 +24,9 @@ use fedimint_dummy_common::config::{ use fedimint_dummy_common::{ broken_fed_public_key, fed_public_key, DummyCommonInit, DummyConsensusItem, DummyInput, DummyInputError, DummyModuleTypes, DummyOutput, DummyOutputError, DummyOutputOutcome, - CONSENSUS_VERSION, + MODULE_CONSENSUS_VERSION, }; +use fedimint_server::config::CORE_CONSENSUS_VERSION; use futures::{FutureExt, StreamExt}; use strum::IntoEnumIterator; @@ -35,16 +35,16 @@ use crate::db::{ DummyOutcomePrefix, }; -mod db; +pub mod db; /// Generates the module #[derive(Debug, Clone)] pub struct DummyInit; // TODO: Boilerplate-code -#[async_trait] impl ModuleInit for DummyInit { type Common = DummyCommonInit; + const DATABASE_VERSION: DatabaseVersion = DatabaseVersion(1); /// Dumps all database items for debugging async fn dump_database( @@ -91,15 +91,21 @@ impl ModuleInit for DummyInit { #[async_trait] impl ServerModuleInit for DummyInit { type Params = DummyGenParams; - const DATABASE_VERSION: DatabaseVersion = DatabaseVersion(1); /// Returns the version of this module fn versions(&self, _core: CoreConsensusVersion) -> &[ModuleConsensusVersion] { - &[CONSENSUS_VERSION] + &[MODULE_CONSENSUS_VERSION] } fn supported_api_versions(&self) -> SupportedModuleApiVersions { - SupportedModuleApiVersions::from_raw((u32::MAX, 0), (0, 0), &[(0, 0)]) + SupportedModuleApiVersions::from_raw( + (CORE_CONSENSUS_VERSION.major, CORE_CONSENSUS_VERSION.minor), + ( + MODULE_CONSENSUS_VERSION.major, + MODULE_CONSENSUS_VERSION.minor, + ), + &[(0, 0)], + ) } /// Initialize the module @@ -107,13 +113,6 @@ impl ServerModuleInit for DummyInit { Ok(Dummy::new(args.cfg().to_typed()?).into()) } - /// DB migrations to move from old to newer versions - fn get_database_migrations(&self) -> MigrationMap { - let mut migrations = MigrationMap::new(); - migrations.insert(DatabaseVersion(0), move |dbtx| migrate_to_v1(dbtx).boxed()); - migrations - } - /// Generates configs for all peers in a trusted manner for testing fn trusted_dealer_gen( &self, @@ -126,9 +125,7 @@ impl ServerModuleInit for DummyInit { .iter() .map(|&peer| { let config = DummyConfig { - local: DummyConfigLocal { - example: params.local.0.clone(), - }, + local: DummyConfigLocal {}, private: DummyConfigPrivate, consensus: DummyConfigConsensus { tx_fee: params.consensus.tx_fee, @@ -148,9 +145,7 @@ impl ServerModuleInit for DummyInit { let params = self.parse_params(params).unwrap(); Ok(DummyConfig { - local: DummyConfigLocal { - example: params.local.0.clone(), - }, + local: DummyConfigLocal {}, private: DummyConfigPrivate, consensus: DummyConfigConsensus { tx_fee: params.consensus.tx_fee, @@ -177,6 +172,13 @@ impl ServerModuleInit for DummyInit { ) -> anyhow::Result<()> { Ok(()) } + + /// DB migrations to move from old to newer versions + fn get_database_migrations(&self) -> BTreeMap { + let mut migrations: BTreeMap = BTreeMap::new(); + migrations.insert(DatabaseVersion(0), move |dbtx| migrate_to_v1(dbtx).boxed()); + migrations + } } /// Dummy module @@ -205,6 +207,11 @@ impl ServerModule for Dummy { _consensus_item: DummyConsensusItem, _peer_id: PeerId, ) -> anyhow::Result<()> { + // WARNING: `process_consensus_item` should return an `Err` for items that do + // not change any internal consensus state. Failure to do so, will result in an + // (potentially significantly) increased consensus history size. + // If you are using this code as a template, + // make sure to read the [`ServerModule::process_consensus_item`] documentation, bail!("The dummy module does not use consensus items"); } diff --git a/fedimint-dummy-tests/Cargo.toml b/fedimint-dummy-tests/Cargo.toml index 5efad97..4a27704 100644 --- a/fedimint-dummy-tests/Cargo.toml +++ b/fedimint-dummy-tests/Cargo.toml @@ -22,7 +22,7 @@ fedimint-logging = { workspace = true } fedimint-server = { workspace = true } fedimint-testing = { workspace = true } rand = "0.8" -secp256k1 = "0.24.2" +secp256k1 = { workspace = true } tokio = { version = "1.26.0", features = ["sync"] } tracing = "0.1.37"