From 3152508d6cc6127eb7ef609d8978cb1b11219528 Mon Sep 17 00:00:00 2001
From: elsirion
Date: Sat, 28 Feb 2026 23:42:40 +0200
Subject: [PATCH] refactor: remove fmo_frontend and upgrade Fedimint to v0.10
- Remove the Leptos-based fmo_frontend (replaced by fmo_frontend_react)
- Upgrade all Fedimint dependencies from 0.8.0-beta.2 to 0.10.0
- Switch from elsirion's fork to official fedimint repo
- Add fedimint-connectors dependency for new connector API
- Update API usage for v0.10 breaking changes:
- Replace Connector with ConnectorRegistry
- Replace DynGlobalApi::from_endpoints with DynGlobalApi::new
- Use fedimint_api_client::download_from_invite_code
- Add cmake to nix devShell for aws-lc-sys build dependency
- Update CI, documentation, and build configuration
Co-Authored-By: Claude Opus 4.5
---
.github/workflows/ci.yml | 1 -
.gitignore | 2 -
CLAUDE.md | 21 +-
Cargo.lock | 3243 +++++++----------
Cargo.toml | 14 +-
README.md | 8 +-
flake.nix | 68 +-
fmo_frontend/.rustfmt.toml | 5 -
fmo_frontend/Cargo.toml | 32 -
fmo_frontend/assets/fedimint.png | Bin 8894 -> 0 bytes
fmo_frontend/index.html | 17 -
fmo_frontend/package-lock.json | 1003 -----
fmo_frontend/package.json | 6 -
fmo_frontend/src/components/alert.rs | 41 -
fmo_frontend/src/components/badge.rs | 40 -
fmo_frontend/src/components/button.rs | 64 -
fmo_frontend/src/components/copyable.rs | 40 -
.../src/components/federation/activity.rs | 214 --
.../src/components/federation/chart.rs | 59 -
.../src/components/federation/general.rs | 105 -
.../src/components/federation/guardians.rs | 137 -
fmo_frontend/src/components/federation/mod.rs | 172 -
.../src/components/federation/nostr_vote.rs | 157 -
.../src/components/federation/utxos.rs | 86 -
.../components/federations/federation_row.rs | 73 -
.../src/components/federations/mod.rs | 201 -
.../src/components/federations/rating.rs | 25 -
.../src/components/federations/totals.rs | 99 -
fmo_frontend/src/components/mod.rs | 14 -
fmo_frontend/src/components/navbar.rs | 79 -
.../src/components/nostr/check_federation.rs | 415 ---
fmo_frontend/src/components/nostr/mod.rs | 241 --
.../components/nostr/nostr_federation_row.rs | 44 -
fmo_frontend/src/components/tabs.rs | 58 -
fmo_frontend/src/lib.rs | 7 -
fmo_frontend/src/main.rs | 48 -
fmo_frontend/src/util.rs | 32 -
fmo_frontend/style/tailwind.css | 3 -
fmo_frontend/tailwind.config.js | 15 -
fmo_server/Cargo.toml | 1 +
fmo_server/src/config/meta.rs | 19 +-
fmo_server/src/config/mod.rs | 6 +-
fmo_server/src/federation/guardians.rs | 16 +-
fmo_server/src/federation/observer.rs | 31 +-
justfile | 5 -
justfile.fmo.just | 3 -
tailwind.config.js | 15 -
47 files changed, 1419 insertions(+), 5566 deletions(-)
delete mode 100644 fmo_frontend/.rustfmt.toml
delete mode 100644 fmo_frontend/Cargo.toml
delete mode 100644 fmo_frontend/assets/fedimint.png
delete mode 100644 fmo_frontend/index.html
delete mode 100644 fmo_frontend/package-lock.json
delete mode 100644 fmo_frontend/package.json
delete mode 100644 fmo_frontend/src/components/alert.rs
delete mode 100644 fmo_frontend/src/components/badge.rs
delete mode 100644 fmo_frontend/src/components/button.rs
delete mode 100644 fmo_frontend/src/components/copyable.rs
delete mode 100644 fmo_frontend/src/components/federation/activity.rs
delete mode 100644 fmo_frontend/src/components/federation/chart.rs
delete mode 100644 fmo_frontend/src/components/federation/general.rs
delete mode 100644 fmo_frontend/src/components/federation/guardians.rs
delete mode 100644 fmo_frontend/src/components/federation/mod.rs
delete mode 100644 fmo_frontend/src/components/federation/nostr_vote.rs
delete mode 100644 fmo_frontend/src/components/federation/utxos.rs
delete mode 100644 fmo_frontend/src/components/federations/federation_row.rs
delete mode 100644 fmo_frontend/src/components/federations/mod.rs
delete mode 100644 fmo_frontend/src/components/federations/rating.rs
delete mode 100644 fmo_frontend/src/components/federations/totals.rs
delete mode 100644 fmo_frontend/src/components/mod.rs
delete mode 100644 fmo_frontend/src/components/navbar.rs
delete mode 100644 fmo_frontend/src/components/nostr/check_federation.rs
delete mode 100644 fmo_frontend/src/components/nostr/mod.rs
delete mode 100644 fmo_frontend/src/components/nostr/nostr_federation_row.rs
delete mode 100644 fmo_frontend/src/components/tabs.rs
delete mode 100644 fmo_frontend/src/lib.rs
delete mode 100644 fmo_frontend/src/main.rs
delete mode 100644 fmo_frontend/src/util.rs
delete mode 100644 fmo_frontend/style/tailwind.css
delete mode 100644 fmo_frontend/tailwind.config.js
delete mode 100644 tailwind.config.js
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index ab4cefd..606a81d 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -13,7 +13,6 @@ jobs:
matrix:
target:
- fmo_server
- - fmo_frontend_default
- fmo_frontend_react_default
steps:
diff --git a/.gitignore b/.gitignore
index 722a093..dd666b2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,5 +5,3 @@ fedimint_observer.db
.direnv
.pg_dev
/db_backups
-/fmo_frontend/dist
-/fmo_frontend/node_modules
diff --git a/CLAUDE.md b/CLAUDE.md
index afa1b8d..acc9e91 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -19,9 +19,6 @@ just pg_start
# Run backend server with auto-reload
just watch
-# Run frontend with hot-reload (in separate terminal)
-just serve_frontend
-
# Check code compilation and common issues (preferred during development)
just clippy
@@ -39,7 +36,6 @@ just final-check
```bash
just build # Build everything
just build_package fmo_server
-just build_package fmo_frontend --target wasm32-unknown-unknown
```
### Code Quality Commands
@@ -63,7 +59,6 @@ just pg_restore BACKUP_FILE
### Testing Specific Components
```bash
just test_package fmo_server
-just test_package fmo_frontend --target wasm32-unknown-unknown
```
## Architecture Overview
@@ -74,17 +69,13 @@ just test_package fmo_frontend --target wasm32-unknown-unknown
- `/config/*` endpoints - Federation configuration API (stable)
- `/federations/*` endpoints - Federation monitoring API (unstable)
- Background tasks for monitoring federations and syncing data
-- `fmo_frontend/` - Frontend PWA (Leptos + WASM + Tailwind CSS)
- - Component-based architecture with reactive state management
- - Client-side routing with Leptos Router
+- `fmo_frontend_react/` - Frontend (React + TypeScript)
### Key Patterns
1. **Shared Types**: All API types are defined in `fmo_api_types` and used by both frontend and backend
2. **Database Migrations**: Version-controlled SQL migrations in `fmo_server/schema/` (v0-v8)
3. **Background Monitoring**: `FederationObserver` spawns tasks to monitor multiple federations concurrently
-4. **State Management**:
- - Backend: Shared app state with Arc/RwLock for thread safety
- - Frontend: Leptos signals and resources for reactive updates
+4. **State Management**: Backend uses shared app state with Arc/RwLock for thread safety
5. **Error Handling**: Custom `AppError` type wrapping `anyhow::Error` for consistent error propagation
### Environment Configuration
@@ -100,14 +91,6 @@ Required environment variables (see `sample.env`):
- **Federations API** (`/federations/*`): Unstable API for federation monitoring data
- **Admin endpoints**: Require bearer token authentication via `FO_ADMIN_AUTH`
-### Frontend Development
-The frontend uses Leptos with WASM compilation. Components are organized by feature:
-- `src/components/federations/` - Federation list views
-- `src/components/federation/` - Single federation details
-- `src/components/nostr/` - Nostr integration views
-
-Use `just serve_frontend` for hot-reload development with Trunk.
-
### Database Schema
PostgreSQL with materialized views and complex indexes. Key tables:
- `federations` - Federation configurations
diff --git a/Cargo.lock b/Cargo.lock
index d3e3a08..caa5ad0 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -4,9 +4,9 @@ version = 4
[[package]]
name = "addr2line"
-version = "0.24.2"
+version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1"
+checksum = "1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b"
dependencies = [
"gimli",
]
@@ -41,9 +41,9 @@ dependencies = [
[[package]]
name = "aho-corasick"
-version = "1.1.3"
+version = "1.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
+checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301"
dependencies = [
"memchr",
]
@@ -54,12 +54,6 @@ version = "0.2.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923"
-[[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"
@@ -71,9 +65,9 @@ dependencies = [
[[package]]
name = "anstream"
-version = "0.6.19"
+version = "0.6.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "301af1932e46185686725e0fad2f8f2aa7da69dd70bf6ecc44d6b703844a3933"
+checksum = "43d5b281e737544384e969a5ccad3f1cdd24b48086a0fc1b2a5262a26b8f4f4a"
dependencies = [
"anstyle",
"anstyle-parse",
@@ -86,9 +80,9 @@ dependencies = [
[[package]]
name = "anstyle"
-version = "1.0.11"
+version = "1.0.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd"
+checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78"
[[package]]
name = "anstyle-parse"
@@ -101,43 +95,29 @@ dependencies = [
[[package]]
name = "anstyle-query"
-version = "1.1.3"
+version = "1.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c8bdeb6047d8983be085bab0ba1472e6dc604e7041dbf6fcd5e71523014fae9"
+checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc"
dependencies = [
- "windows-sys 0.59.0",
+ "windows-sys 0.61.2",
]
[[package]]
name = "anstyle-wincon"
-version = "3.0.9"
+version = "3.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "403f75924867bb1033c59fbf0797484329750cfbe3c4325cd33127941fabc882"
+checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d"
dependencies = [
"anstyle",
"once_cell_polyfill",
- "windows-sys 0.59.0",
-]
-
-[[package]]
-name = "any_spawner"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1384d3fe1eecb464229fcf6eebb72306591c56bf27b373561489458a7c73027d"
-dependencies = [
- "futures",
- "thiserror 2.0.12",
- "wasm-bindgen-futures",
+ "windows-sys 0.61.2",
]
[[package]]
name = "anyhow"
-version = "1.0.98"
+version = "1.0.102"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487"
-dependencies = [
- "backtrace",
-]
+checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c"
[[package]]
name = "aquamarine"
@@ -150,14 +130,14 @@ dependencies = [
"proc-macro-error",
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
name = "archery"
-version = "1.2.1"
+version = "1.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eae2ed21cd55021f05707a807a5fc85695dafb98832921f6cfa06db67ca5b869"
+checksum = "70e0a5f99dfebb87bb342d0f53bb92c81842e100bbb915223e38349580e5441d"
[[package]]
name = "arrayvec"
@@ -189,7 +169,7 @@ checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
"synstructure",
]
@@ -201,7 +181,7 @@ checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
@@ -229,9 +209,9 @@ dependencies = [
[[package]]
name = "async-compat"
-version = "0.2.4"
+version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7bab94bde396a3f7b4962e396fdad640e241ed797d4d8d77fc8c237d14c58fc0"
+checksum = "a1ba85bc55464dcbf728b56d97e119d673f4cf9062be330a9a26f3acf504a590"
dependencies = [
"futures-core",
"futures-io",
@@ -242,9 +222,9 @@ dependencies = [
[[package]]
name = "async-executor"
-version = "1.13.2"
+version = "1.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb812ffb58524bdd10860d7d974e2f01cc0950c2438a74ee5ec2e2280c6c4ffa"
+checksum = "c96bf972d85afc50bf5ab8fe2d54d1586b4e0b46c97c50a0c9e71e2f7bcd812a"
dependencies = [
"async-task",
"concurrent-queue",
@@ -271,29 +251,29 @@ dependencies = [
[[package]]
name = "async-io"
-version = "2.5.0"
+version = "2.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19634d6336019ef220f09fd31168ce5c184b295cbf80345437cc36094ef223ca"
+checksum = "456b8a8feb6f42d237746d4b3e9a178494627745c3c56c6ea55d92ba50d026fc"
dependencies = [
- "async-lock",
+ "autocfg",
"cfg-if",
"concurrent-queue",
"futures-io",
"futures-lite",
"parking",
"polling",
- "rustix",
+ "rustix 1.1.4",
"slab",
- "windows-sys 0.60.2",
+ "windows-sys 0.61.2",
]
[[package]]
name = "async-lock"
-version = "3.4.0"
+version = "3.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18"
+checksum = "290f7f2596bd5b78a9fec8088ccd89180d7f9f55b94b0576823bbbdc72ee8311"
dependencies = [
- "event-listener 5.4.0",
+ "event-listener 5.4.1",
"event-listener-strategy",
"pin-project-lite",
]
@@ -306,14 +286,14 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
name = "async-std"
-version = "1.13.1"
+version = "1.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "730294c1c08c2e0f85759590518f6333f0d5a0a766a27d519c1b244c3dfd8a24"
+checksum = "2c8e079a4ab67ae52b7403632e4618815d6db36d2a010cfe41b02c1b1578f93b"
dependencies = [
"async-channel 1.9.0",
"async-global-executor",
@@ -354,7 +334,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
@@ -365,13 +345,13 @@ checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de"
[[package]]
name = "async-trait"
-version = "0.1.88"
+version = "0.1.89"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5"
+checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
@@ -398,7 +378,7 @@ dependencies = [
"js-sys",
"thiserror 1.0.69",
"tokio",
- "tokio-rustls 0.26.2",
+ "tokio-rustls 0.26.4",
"tokio-socks",
"tokio-tungstenite",
"url",
@@ -443,50 +423,56 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
[[package]]
name = "attohttpc"
-version = "0.24.1"
+version = "0.30.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d9a9bf8b79a749ee0b911b91b671cc2b6c670bdbc7e3dfd537576ddc94bb2a2"
+checksum = "16e2cdb6d5ed835199484bb92bb8b3edd526effe995c61732580439c1a67e2e9"
dependencies = [
- "http 0.2.12",
+ "base64 0.22.1",
+ "http 1.4.0",
"log",
"url",
]
[[package]]
-name = "attribute-derive"
-version = "0.10.3"
+name = "autocfg"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
+
+[[package]]
+name = "aws-lc-rs"
+version = "1.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0053e96dd3bec5b4879c23a138d6ef26f2cb936c9cdc96274ac2b9ed44b5bb54"
+checksum = "d9a7b350e3bb1767102698302bc37256cbd48422809984b98d292c40e2579aa9"
dependencies = [
- "attribute-derive-macro",
- "derive-where",
- "manyhow",
- "proc-macro2",
- "quote",
- "syn 2.0.104",
+ "aws-lc-sys 0.37.1",
+ "zeroize",
]
[[package]]
-name = "attribute-derive-macro"
-version = "0.10.3"
+name = "aws-lc-sys"
+version = "0.30.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "463b53ad0fd5b460af4b1915fe045ff4d946d025fb6c4dc3337752eaa980f71b"
+checksum = "dbfd150b5dbdb988bcc8fb1fe787eb6b7ee6180ca24da683b61ea5405f3d43ff"
dependencies = [
- "collection_literals",
- "interpolator",
- "manyhow",
- "proc-macro-utils",
- "proc-macro2",
- "quote",
- "quote-use",
- "syn 2.0.104",
+ "bindgen",
+ "cc",
+ "cmake",
+ "dunce",
+ "fs_extra",
]
[[package]]
-name = "autocfg"
-version = "1.5.0"
+name = "aws-lc-sys"
+version = "0.37.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
+checksum = "b092fe214090261288111db7a2b2c2118e5a7f30dc2569f1732c4069a6840549"
+dependencies = [
+ "cc",
+ "cmake",
+ "dunce",
+ "fs_extra",
+]
[[package]]
name = "axum"
@@ -498,10 +484,10 @@ dependencies = [
"axum-core",
"bytes",
"futures-util",
- "http 1.3.1",
+ "http 1.4.0",
"http-body 1.0.1",
"http-body-util",
- "hyper 1.6.0",
+ "hyper 1.8.1",
"hyper-util",
"itoa",
"matchit",
@@ -531,7 +517,7 @@ dependencies = [
"async-trait",
"axum-core",
"base64 0.21.7",
- "http 1.3.1",
+ "http 1.4.0",
]
[[package]]
@@ -543,7 +529,7 @@ dependencies = [
"async-trait",
"bytes",
"futures-util",
- "http 1.3.1",
+ "http 1.4.0",
"http-body 1.0.1",
"http-body-util",
"mime",
@@ -569,9 +555,9 @@ dependencies = [
[[package]]
name = "backon"
-version = "1.5.1"
+version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "302eaff5357a264a2c42f127ecb8bac761cf99749fc3dc95677e2743991f99e7"
+checksum = "cffb0e931875b666fc4fcb20fee52e9bbd1ef836fd9e9e04ec21555f9f85f7ef"
dependencies = [
"fastrand",
"gloo-timers 0.3.0",
@@ -580,9 +566,9 @@ dependencies = [
[[package]]
name = "backtrace"
-version = "0.3.75"
+version = "0.3.76"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002"
+checksum = "bb531853791a215d7c62a30daf0dde835f381ab5de4589cfe7c649d2cbe92bd6"
dependencies = [
"addr2line",
"cfg-if",
@@ -590,7 +576,7 @@ dependencies = [
"miniz_oxide",
"object",
"rustc-demangle",
- "windows-targets 0.52.6",
+ "windows-link 0.2.1",
]
[[package]]
@@ -612,7 +598,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2c8d66485a3a2ea485c1913c4572ce0256067a5377ac8c75c4960e1cda98605f"
dependencies = [
"bitcoin-internals 0.3.0",
- "bitcoin_hashes 0.14.0",
+ "bitcoin_hashes 0.14.1",
]
[[package]]
@@ -629,18 +615,18 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
[[package]]
name = "base64-url"
-version = "3.0.0"
+version = "3.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38e2b6c78c06f7288d5e3c3d683bde35a79531127c83b087e5d0d77c974b4b28"
+checksum = "f5b428e9fb429c6fda7316e9b006f993e6b4c33005e4659339fb5214479dddec"
dependencies = [
"base64 0.22.1",
]
[[package]]
name = "base64ct"
-version = "1.8.0"
+version = "1.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba"
+checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06"
[[package]]
name = "bech32"
@@ -656,9 +642,9 @@ checksum = "98f7eed2b2781a6f0b5c903471d48e15f56fb4e1165df8a9a2337fd1a59d45ea"
[[package]]
name = "bech32"
-version = "0.11.0"
+version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d965446196e3b7decd44aa7ee49e31d630118f90ef12f97900f262eb915c951d"
+checksum = "32637268377fc7b10a8c6d51de3e7fba1ce5dd371a96e342b34e6078db558e7f"
[[package]]
name = "bincode"
@@ -669,13 +655,36 @@ dependencies = [
"serde",
]
+[[package]]
+name = "bindgen"
+version = "0.69.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088"
+dependencies = [
+ "bitflags 2.11.0",
+ "cexpr",
+ "clang-sys",
+ "itertools 0.12.1",
+ "lazy_static",
+ "lazycell",
+ "log",
+ "prettyplease",
+ "proc-macro2",
+ "quote",
+ "regex",
+ "rustc-hash 1.1.0",
+ "shlex",
+ "syn 2.0.117",
+ "which",
+]
+
[[package]]
name = "bip39"
-version = "2.2.0"
+version = "2.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43d193de1f7487df1914d3a568b772458861d33f9c54249612cc2893d6915054"
+checksum = "90dbd31c98227229239363921e60fcf5e558e43ec69094d46fc4996f08d1d5bc"
dependencies = [
- "bitcoin_hashes 0.13.0",
+ "bitcoin_hashes 0.14.1",
"serde",
"unicode-normalization",
]
@@ -723,17 +732,17 @@ dependencies = [
[[package]]
name = "bitcoin"
-version = "0.32.6"
+version = "0.32.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad8929a18b8e33ea6b3c09297b687baaa71fb1b97353243a3f1029fad5c59c5b"
+checksum = "1e499f9fc0407f50fe98af744ab44fa67d409f76b6772e1689ec8485eb0c0f66"
dependencies = [
"base58ck",
- "bech32 0.11.0",
+ "bech32 0.11.1",
"bitcoin-internals 0.3.0",
"bitcoin-io",
"bitcoin-units",
- "bitcoin_hashes 0.14.0",
- "hex-conservative 0.2.1",
+ "bitcoin_hashes 0.14.1",
+ "hex-conservative 0.2.2",
"hex_lit",
"secp256k1 0.29.1",
"serde",
@@ -759,9 +768,9 @@ dependencies = [
[[package]]
name = "bitcoin-io"
-version = "0.1.3"
+version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b47c4ab7a93edb0c7198c5535ed9b52b63095f4e9b45279c6736cec4b856baf"
+checksum = "2dee39a0ee5b4095224a0cfc6bf4cc1baf0f9624b96b367e53b66d974e51d953"
[[package]]
name = "bitcoin-private"
@@ -811,12 +820,12 @@ dependencies = [
[[package]]
name = "bitcoin_hashes"
-version = "0.14.0"
+version = "0.14.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb18c03d0db0247e147a21a6faafd5a7eb851c743db062de72018b6b7e8e4d16"
+checksum = "26ec84b80c482df901772e931a9a681e26a1b9ee2302edeff23cb30328745c8b"
dependencies = [
"bitcoin-io",
- "hex-conservative 0.2.1",
+ "hex-conservative 0.2.2",
"serde",
]
@@ -828,9 +837,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitflags"
-version = "2.9.1"
+version = "2.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967"
+checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af"
[[package]]
name = "bitmaps"
@@ -909,9 +918,9 @@ checksum = "387e80962b798815a2b5c4bcfdb6bf626fa922ffe9f74e373103b858738e9f31"
[[package]]
name = "bumpalo"
-version = "3.19.0"
+version = "3.20.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43"
+checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb"
[[package]]
name = "byte-slice-cast"
@@ -927,15 +936,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
[[package]]
name = "bytes"
-version = "1.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a"
-
-[[package]]
-name = "camino"
-version = "1.1.10"
+version = "1.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0da45bc31171d8d6960122e222a67740df867c1dd53b4d51caa297084c185cab"
+checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33"
[[package]]
name = "cbc"
@@ -948,18 +951,30 @@ dependencies = [
[[package]]
name = "cc"
-version = "1.2.30"
+version = "1.2.56"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "deec109607ca693028562ed836a5f1c4b8bd77755c4e132fc5ce11b0b6211ae7"
+checksum = "aebf35691d1bfb0ac386a69bac2fde4dd276fb618cf8bf4f5318fe285e821bb2"
dependencies = [
+ "find-msvc-tools",
+ "jobserver",
+ "libc",
"shlex",
]
+[[package]]
+name = "cexpr"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
+dependencies = [
+ "nom",
+]
+
[[package]]
name = "cfg-if"
-version = "1.0.1"
+version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268"
+checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
[[package]]
name = "cfg_aliases"
@@ -993,17 +1008,16 @@ dependencies = [
[[package]]
name = "chrono"
-version = "0.4.41"
+version = "0.4.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d"
+checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0"
dependencies = [
- "android-tzdata",
"iana-time-zone",
"js-sys",
"num-traits",
"serde",
"wasm-bindgen",
- "windows-link",
+ "windows-link 0.2.1",
]
[[package]]
@@ -1017,11 +1031,22 @@ dependencies = [
"zeroize",
]
+[[package]]
+name = "clang-sys"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4"
+dependencies = [
+ "glob",
+ "libc",
+ "libloading",
+]
+
[[package]]
name = "clap"
-version = "4.5.41"
+version = "4.5.60"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be92d32e80243a54711e5d7ce823c35c41c9d929dc4ab58e1276f625841aadf9"
+checksum = "2797f34da339ce31042b27d23607e051786132987f595b02ba4f6a6dffb7030a"
dependencies = [
"clap_builder",
"clap_derive",
@@ -1029,9 +1054,9 @@ dependencies = [
[[package]]
name = "clap_builder"
-version = "4.5.41"
+version = "4.5.60"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "707eab41e9622f9139419d573eca0900137718000c517d47da73045f54331c3d"
+checksum = "24a241312cea5059b13574bb9b3861cabf758b879c15190b37b6d6fd63ab6876"
dependencies = [
"anstream",
"anstyle",
@@ -1041,53 +1066,45 @@ dependencies = [
[[package]]
name = "clap_derive"
-version = "4.5.41"
+version = "4.5.55"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef4f52386a59ca4c860f7393bcf8abd8dfd91ecccc0f774635ff68e92eeef491"
+checksum = "a92793da1a46a5f2a02a6f4c46c6496b28c43638adea8306fcb0caa1634f24e5"
dependencies = [
"heck",
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
name = "clap_lex"
-version = "0.7.5"
+version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675"
+checksum = "3a822ea5bc7590f9d40f1ba12c0dc3c2760f3482c6984db1573ad11031420831"
[[package]]
-name = "cobs"
-version = "0.3.0"
+name = "cmake"
+version = "0.1.57"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1"
+checksum = "75443c44cd6b379beb8c5b45d85d0773baf31cce901fe7bb252f4eff3008ef7d"
dependencies = [
- "thiserror 2.0.12",
+ "cc",
]
[[package]]
-name = "codee"
-version = "0.3.2"
+name = "cobs"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd8bbfdadf2f8999c6e404697bc08016dce4a3d77dec465b36c9a0652fdb3327"
+checksum = "0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1"
dependencies = [
- "serde",
- "serde_json",
- "thiserror 2.0.12",
+ "thiserror 2.0.18",
]
-[[package]]
-name = "collection_literals"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26b3f65b8fb8e88ba339f7d23a390fe1b0896217da05e2a66c584c9b29a91df8"
-
[[package]]
name = "color-backtrace"
-version = "0.7.0"
+version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2123a5984bd52ca861c66f66a9ab9883b27115c607f801f86c1bc2a84eb69f0f"
+checksum = "308329d5d62e877ba02943db3a8e8c052de9fde7ab48283395ba0e6494efbabd"
dependencies = [
"backtrace",
"btparse",
@@ -1109,46 +1126,17 @@ dependencies = [
"crossbeam-utils",
]
-[[package]]
-name = "config"
-version = "0.15.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b1eb4fb07bc7f012422df02766c7bd5971effb894f573865642f06fa3265440"
-dependencies = [
- "convert_case 0.6.0",
- "pathdiff",
- "serde",
- "toml",
- "winnow",
-]
-
-[[package]]
-name = "console_error_panic_hook"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc"
-dependencies = [
- "cfg-if",
- "wasm-bindgen",
-]
-
[[package]]
name = "const-oid"
version = "0.9.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8"
-[[package]]
-name = "const-str"
-version = "0.6.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "041fbfcf8e7054df725fb9985297e92422cdc80fcf313665f5ca3d761bb63f4c"
-
[[package]]
name = "const_format"
-version = "0.2.34"
+version = "0.2.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "126f97965c8ad46d6d9163268ff28432e8f6a1196a55578867832e3049df63dd"
+checksum = "7faa7469a93a566e9ccc1c73fe783b4a65c274c5ace346038dca9c39fe0030ad"
dependencies = [
"const_format_proc_macros",
]
@@ -1164,41 +1152,6 @@ dependencies = [
"unicode-xid",
]
-[[package]]
-name = "const_str_slice_concat"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f67855af358fcb20fac58f9d714c94e2b228fe5694c1c9b4ead4a366343eda1b"
-
-[[package]]
-name = "convert_case"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca"
-dependencies = [
- "unicode-segmentation",
-]
-
-[[package]]
-name = "convert_case"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baaaa0ecca5b51987b9423ccdc971514dd8b0bb7b4060b983d3664dad3f1f89f"
-dependencies = [
- "unicode-segmentation",
-]
-
-[[package]]
-name = "cookie"
-version = "0.18.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ddef33a339a91ea89fb53151bd0a4689cfce27055c291dfa69945475d22c747"
-dependencies = [
- "percent-encoding",
- "time",
- "version_check",
-]
-
[[package]]
name = "cordyceps"
version = "0.3.4"
@@ -1236,9 +1189,9 @@ dependencies = [
[[package]]
name = "crc"
-version = "3.3.0"
+version = "3.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675"
+checksum = "5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d"
dependencies = [
"crc-catalog",
]
@@ -1287,9 +1240,9 @@ checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5"
[[package]]
name = "crypto-common"
-version = "0.1.6"
+version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
+checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a"
dependencies = [
"generic-array",
"rand_core 0.6.4",
@@ -1330,21 +1283,21 @@ dependencies = [
[[package]]
name = "csv"
-version = "1.3.1"
+version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acdc4883a9c96732e4733212c01447ebd805833b7275a73ca3ee080fd77afdaf"
+checksum = "52cd9d68cf7efc6ddfaaee42e7288d3a99d613d4b50f76ce9827ae0c6e14f938"
dependencies = [
"csv-core",
"itoa",
"ryu",
- "serde",
+ "serde_core",
]
[[package]]
name = "csv-core"
-version = "0.1.12"
+version = "0.1.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d02f3b0da4c6504f86e9cd789d8dbafab48c2321be74e9987593de5a894d93d"
+checksum = "704a3c26996a80471189265814dbc2c257598b96b8a7feae2d31ace646bb9782"
dependencies = [
"memchr",
]
@@ -1375,7 +1328,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
@@ -1399,7 +1352,7 @@ dependencies = [
"proc-macro2",
"quote",
"strsim",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
@@ -1410,36 +1363,23 @@ checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead"
dependencies = [
"darling_core",
"quote",
- "syn 2.0.104",
-]
-
-[[package]]
-name = "dashmap"
-version = "6.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf"
-dependencies = [
- "cfg-if",
- "crossbeam-utils",
- "hashbrown 0.14.5",
- "lock_api",
- "once_cell",
- "parking_lot_core",
+ "syn 2.0.117",
]
[[package]]
name = "data-encoding"
-version = "2.9.0"
+version = "2.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476"
+checksum = "d7a1e2f27636f116493b8b860f5546edb47c8d8f8ea73e1d2a20be88e28d1fea"
[[package]]
name = "deadpool"
-version = "0.12.2"
+version = "0.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ed5957ff93768adf7a65ab167a17835c3d2c3c50d084fe305174c112f468e2f"
+checksum = "0be2b1d1d6ec8d846f05e137292d0b89133caf95ef33695424c09568bdd39b1b"
dependencies = [
"deadpool-runtime",
+ "lazy_static",
"num_cpus",
"tokio",
]
@@ -1452,7 +1392,7 @@ checksum = "3d697d376cbfa018c23eb4caab1fd1883dd9c906a8c034e8d9a3cb06a7e0bef9"
dependencies = [
"async-trait",
"deadpool",
- "getrandom 0.2.16",
+ "getrandom 0.2.17",
"tokio",
"tokio-postgres",
"tracing",
@@ -1467,18 +1407,6 @@ dependencies = [
"tokio",
]
-[[package]]
-name = "default-struct-builder"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0df63c21a4383f94bd5388564829423f35c316aed85dc4f8427aded372c7c0d"
-dependencies = [
- "darling",
- "proc-macro2",
- "quote",
- "syn 2.0.104",
-]
-
[[package]]
name = "der"
version = "0.7.10"
@@ -1513,29 +1441,18 @@ checksum = "8034092389675178f570469e6c3b0465d3d30b4505c294a6550db47f3c17ad18"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
name = "deranged"
-version = "0.4.0"
+version = "0.5.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e"
+checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c"
dependencies = [
"powerfmt",
]
-[[package]]
-name = "derive-where"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "510c292c8cf384b1a340b816a9a6cf2599eb8f566a44949024af88418000c50b"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.104",
-]
-
[[package]]
name = "derive_more"
version = "1.0.0"
@@ -1553,7 +1470,7 @@ checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
"unicode-xid",
]
@@ -1582,7 +1499,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
@@ -1598,15 +1515,15 @@ dependencies = [
[[package]]
name = "dnssec-prover"
-version = "0.6.7"
+version = "0.6.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48f9e1163868b86c37d43c586af9d917e699c87f1266ebfdf356ad1003458118"
+checksum = "ec4f825369fc7134da70ca4040fddc8e03b80a46d249ae38d9c1c39b7b4476bf"
[[package]]
name = "document-features"
-version = "0.2.11"
+version = "0.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95249b50c6c185bee49034bcb378a49dc2b5dff0be90ff6616d31d64febab05d"
+checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61"
dependencies = [
"litrs",
]
@@ -1618,16 +1535,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f"
[[package]]
-name = "drain_filter_polyfill"
-version = "0.1.3"
+name = "dunce"
+version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "669a445ee724c5c69b1b06fe0b63e70a1c84bc9bb7d9696cd4f4e3ec45050408"
+checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813"
[[package]]
name = "dyn-clone"
-version = "1.0.19"
+version = "1.0.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005"
+checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555"
[[package]]
name = "ed25519"
@@ -1661,16 +1578,6 @@ version = "1.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
-[[package]]
-name = "either_of"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "216d23e0ec69759a17f05e1c553f3a6870e5ec73420fbb07807a6f34d5d1d5a4"
-dependencies = [
- "paste",
- "pin-project-lite",
-]
-
[[package]]
name = "embedded-io"
version = "0.4.0"
@@ -1701,7 +1608,7 @@ dependencies = [
"heck",
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
@@ -1721,7 +1628,7 @@ checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
@@ -1730,30 +1637,25 @@ version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
-[[package]]
-name = "erased"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1731451909bde27714eacba19c2566362a7f35224f52b153d3f42cf60f72472"
-
[[package]]
name = "erased-serde"
-version = "0.4.6"
+version = "0.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e004d887f51fcb9fef17317a2f3525c887d8aa3f4f50fed920816a688284a5b7"
+checksum = "89e8918065695684b2b0702da20382d5ae6065cf3327bc2d6436bd49a71ce9f3"
dependencies = [
"serde",
+ "serde_core",
"typeid",
]
[[package]]
name = "errno"
-version = "0.3.13"
+version = "0.3.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad"
+checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
dependencies = [
"libc",
- "windows-sys 0.60.2",
+ "windows-sys 0.61.2",
]
[[package]]
@@ -1763,8 +1665,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "23be31c97b2e505ac6af0d72a201caead71298a957639061a10314f6d4860cd7"
dependencies = [
"async-std",
- "bitcoin 0.32.6",
- "hex-conservative 0.2.1",
+ "bitcoin 0.32.8",
+ "hex-conservative 0.2.2",
"log",
"reqwest 0.11.27",
"serde",
@@ -1778,9 +1680,9 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
[[package]]
name = "event-listener"
-version = "5.4.0"
+version = "5.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae"
+checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab"
dependencies = [
"concurrent-queue",
"parking",
@@ -1793,7 +1695,7 @@ version = "0.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93"
dependencies = [
- "event-listener 5.4.0",
+ "event-listener 5.4.1",
"pin-project-lite",
]
@@ -1817,103 +1719,125 @@ checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
[[package]]
name = "fedimint-api-client"
-version = "0.8.0-beta.2"
-source = "git+https://github.com/elsirion/fedimint?branch=v0.8-beta.2-patch-xyz#b3b6a41a48120b298dcd8560cd6c312e9a4bbfe9"
+version = "0.10.0"
+source = "git+https://github.com/fedimint/fedimint?tag=v0.10.0#76f6c7ce5435a609a256d58b0924161c5fc9b3ec"
dependencies = [
"anyhow",
"async-channel 2.5.0",
"async-trait",
- "base64 0.22.1",
- "bitcoin 0.32.6",
- "fedimint-core 0.8.0-beta.2",
- "fedimint-logging 0.8.0-beta.2",
+ "bitcoin 0.32.8",
+ "fedimint-connectors",
+ "fedimint-core 0.10.0",
+ "fedimint-logging 0.10.0",
"futures",
- "iroh 0.35.0",
- "iroh 0.90.0",
- "iroh-base 0.35.0",
"itertools 0.14.0",
"jsonrpsee-core",
- "jsonrpsee-types",
- "jsonrpsee-wasm-client",
- "jsonrpsee-ws-client",
- "lru 0.13.0",
+ "lru 0.16.3",
"rand 0.8.5",
- "rustls-pki-types",
"serde",
"serde_json",
- "thiserror 2.0.12",
+ "thiserror 2.0.18",
"tokio",
- "tokio-rustls 0.26.2",
+ "tokio-stream",
"tracing",
- "url",
- "webpki-roots 1.0.2",
- "z32",
]
[[package]]
name = "fedimint-build"
-version = "0.8.0-beta.2"
-source = "git+https://github.com/elsirion/fedimint?branch=v0.8-beta.2-patch-xyz#b3b6a41a48120b298dcd8560cd6c312e9a4bbfe9"
+version = "0.10.0"
+source = "git+https://github.com/fedimint/fedimint?tag=v0.10.0#76f6c7ce5435a609a256d58b0924161c5fc9b3ec"
dependencies = [
"serde_json",
]
[[package]]
name = "fedimint-client-module"
-version = "0.8.0-beta.2"
-source = "git+https://github.com/elsirion/fedimint?branch=v0.8-beta.2-patch-xyz#b3b6a41a48120b298dcd8560cd6c312e9a4bbfe9"
+version = "0.10.0"
+source = "git+https://github.com/fedimint/fedimint?tag=v0.10.0#76f6c7ce5435a609a256d58b0924161c5fc9b3ec"
dependencies = [
"anyhow",
"aquamarine",
"async-stream",
"async-trait",
- "bitcoin 0.32.6",
+ "bitcoin 0.32.8",
"fedimint-api-client",
"fedimint-build",
- "fedimint-core 0.8.0-beta.2",
+ "fedimint-connectors",
+ "fedimint-core 0.10.0",
"fedimint-derive-secret",
"fedimint-eventlog",
- "fedimint-logging 0.8.0-beta.2",
+ "fedimint-logging 0.10.0",
"futures",
"itertools 0.14.0",
"rand 0.8.5",
- "reqwest 0.12.22",
+ "reqwest 0.12.28",
"serde",
"serde_json",
"strum 0.27.2",
- "strum_macros 0.26.4",
- "thiserror 2.0.12",
+ "strum_macros 0.27.2",
+ "thiserror 2.0.18",
"tokio",
"tokio-stream",
"tracing",
]
[[package]]
-name = "fedimint-core"
-version = "0.4.4"
-source = "git+https://github.com/elsirion/fedimint?branch=v0.4.4-patch-xyz#ca970accfcb128a1d573cc0dee6844b84df235d8"
+name = "fedimint-connectors"
+version = "0.10.0"
+source = "git+https://github.com/fedimint/fedimint?tag=v0.10.0#76f6c7ce5435a609a256d58b0924161c5fc9b3ec"
dependencies = [
"anyhow",
- "async-lock",
- "async-recursion",
"async-trait",
- "backon 0.4.4",
- "backtrace",
- "base64-url",
- "bech32 0.11.0",
- "bincode",
- "bitcoin 0.29.2",
- "bitcoin 0.30.2",
- "bitcoin_hashes 0.12.0",
- "bitvec",
- "bls12_381",
- "erased-serde",
- "fedimint-derive 0.4.4",
+ "aws-lc-sys 0.30.0",
+ "base64 0.22.1",
+ "fedimint-core 0.10.0",
+ "fedimint-logging 0.10.0",
+ "futures",
+ "iroh 0.35.0",
+ "iroh 0.90.0",
+ "iroh-base 0.35.0",
+ "jsonrpsee-core",
+ "jsonrpsee-types",
+ "jsonrpsee-wasm-client",
+ "jsonrpsee-ws-client",
+ "reqwest 0.12.28",
+ "rustls-pki-types",
+ "serde_json",
+ "thiserror 2.0.18",
+ "tokio",
+ "tokio-rustls 0.26.4",
+ "tracing",
+ "url",
+ "webpki-roots 1.0.6",
+ "z32",
+]
+
+[[package]]
+name = "fedimint-core"
+version = "0.4.4"
+source = "git+https://github.com/elsirion/fedimint?branch=v0.4.4-patch-xyz#ca970accfcb128a1d573cc0dee6844b84df235d8"
+dependencies = [
+ "anyhow",
+ "async-lock",
+ "async-recursion",
+ "async-trait",
+ "backon 0.4.4",
+ "backtrace",
+ "base64-url",
+ "bech32 0.11.1",
+ "bincode",
+ "bitcoin 0.29.2",
+ "bitcoin 0.30.2",
+ "bitcoin_hashes 0.12.0",
+ "bitvec",
+ "bls12_381",
+ "erased-serde",
+ "fedimint-derive 0.4.4",
"fedimint-logging 0.4.4",
"fedimint-threshold-crypto",
"futures",
"futures-util",
- "getrandom 0.2.16",
+ "getrandom 0.2.17",
"gloo-timers 0.3.0",
"hex",
"imbl 3.0.0",
@@ -1944,47 +1868,49 @@ dependencies = [
[[package]]
name = "fedimint-core"
-version = "0.8.0-beta.2"
-source = "git+https://github.com/elsirion/fedimint?branch=v0.8-beta.2-patch-xyz#b3b6a41a48120b298dcd8560cd6c312e9a4bbfe9"
+version = "0.10.0"
+source = "git+https://github.com/fedimint/fedimint?tag=v0.10.0#76f6c7ce5435a609a256d58b0924161c5fc9b3ec"
dependencies = [
"anyhow",
"async-channel 2.5.0",
"async-lock",
"async-recursion",
"async-trait",
- "backon 1.5.1",
+ "aws-lc-sys 0.30.0",
+ "backon 1.6.0",
"backtrace",
"base64 0.22.1",
- "bech32 0.11.0",
- "bincode",
- "bitcoin 0.32.6",
+ "bech32 0.11.1",
+ "bitcoin 0.32.8",
"bitcoin-io",
"bitcoin-units",
"bitvec",
"bls12_381",
"erased-serde",
- "fedimint-derive 0.8.0-beta.2",
- "fedimint-logging 0.8.0-beta.2",
+ "fedimint-derive 0.10.0",
+ "fedimint-logging 0.10.0",
"fedimint-threshold-crypto",
+ "fedimint-util-error",
"futures",
"futures-util",
- "getrandom 0.3.3",
+ "getrandom 0.3.4",
"gloo-timers 0.3.0",
"group",
"hex",
- "hex-conservative 0.3.0",
+ "hex-conservative 0.3.2",
"imbl 5.0.0",
+ "iroh 0.35.0",
"iroh-base 0.35.0",
+ "iroh-relay 0.35.0",
"itertools 0.14.0",
"js-sys",
"jsonrpsee-core",
- "lightning 0.1.5",
+ "lightning 0.1.8",
"lightning-invoice 0.33.2",
"lightning-types",
"macro_rules_attribute",
- "miniscript 12.3.4",
+ "miniscript 12.3.5",
"n0-future",
- "parity-scale-codec",
"rand 0.8.5",
"scopeguard",
"secp256k1 0.29.1",
@@ -1993,13 +1919,14 @@ dependencies = [
"serdect",
"slotmap",
"strum 0.27.2",
- "strum_macros 0.26.4",
- "thiserror 2.0.12",
+ "strum_macros 0.27.2",
+ "thiserror 2.0.18",
"tokio",
- "tokio-rustls 0.24.1",
+ "tokio-rustls 0.26.4",
"tracing",
"url",
"wasm-bindgen-futures",
+ "z32",
]
[[package]]
@@ -2010,43 +1937,44 @@ dependencies = [
"itertools 0.12.1",
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
name = "fedimint-derive"
-version = "0.8.0-beta.2"
-source = "git+https://github.com/elsirion/fedimint?branch=v0.8-beta.2-patch-xyz#b3b6a41a48120b298dcd8560cd6c312e9a4bbfe9"
+version = "0.10.0"
+source = "git+https://github.com/fedimint/fedimint?tag=v0.10.0#76f6c7ce5435a609a256d58b0924161c5fc9b3ec"
dependencies = [
"itertools 0.14.0",
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
name = "fedimint-derive-secret"
-version = "0.8.0-beta.2"
-source = "git+https://github.com/elsirion/fedimint?branch=v0.8-beta.2-patch-xyz#b3b6a41a48120b298dcd8560cd6c312e9a4bbfe9"
+version = "0.10.0"
+source = "git+https://github.com/fedimint/fedimint?tag=v0.10.0#76f6c7ce5435a609a256d58b0924161c5fc9b3ec"
dependencies = [
"anyhow",
- "bitcoin_hashes 0.14.0",
+ "bitcoin_hashes 0.14.1",
"bls12_381",
- "fedimint-core 0.8.0-beta.2",
+ "fedimint-core 0.10.0",
"fedimint-hkdf",
"ring",
]
[[package]]
name = "fedimint-eventlog"
-version = "0.8.0-beta.2"
-source = "git+https://github.com/elsirion/fedimint?branch=v0.8-beta.2-patch-xyz#b3b6a41a48120b298dcd8560cd6c312e9a4bbfe9"
+version = "0.10.0"
+source = "git+https://github.com/fedimint/fedimint?tag=v0.10.0#76f6c7ce5435a609a256d58b0924161c5fc9b3ec"
dependencies = [
"anyhow",
"async-trait",
- "fedimint-core 0.8.0-beta.2",
- "fedimint-logging 0.8.0-beta.2",
+ "fedimint-core 0.10.0",
+ "fedimint-logging 0.10.0",
"futures",
+ "hex",
"itertools 0.14.0",
"serde",
"serde_json",
@@ -2056,27 +1984,33 @@ dependencies = [
[[package]]
name = "fedimint-hkdf"
-version = "0.8.0-beta.2"
-source = "git+https://github.com/elsirion/fedimint?branch=v0.8-beta.2-patch-xyz#b3b6a41a48120b298dcd8560cd6c312e9a4bbfe9"
+version = "0.10.0"
+source = "git+https://github.com/fedimint/fedimint?tag=v0.10.0#76f6c7ce5435a609a256d58b0924161c5fc9b3ec"
dependencies = [
- "bitcoin_hashes 0.14.0",
+ "bitcoin_hashes 0.14.1",
]
[[package]]
name = "fedimint-ln-common"
-version = "0.8.0-beta.2"
-source = "git+https://github.com/elsirion/fedimint?branch=v0.8-beta.2-patch-xyz#b3b6a41a48120b298dcd8560cd6c312e9a4bbfe9"
+version = "0.10.0"
+source = "git+https://github.com/fedimint/fedimint?tag=v0.10.0#76f6c7ce5435a609a256d58b0924161c5fc9b3ec"
dependencies = [
"anyhow",
- "bitcoin 0.32.6",
- "fedimint-core 0.8.0-beta.2",
+ "async-trait",
+ "bitcoin 0.32.8",
+ "fedimint-connectors",
+ "fedimint-core 0.10.0",
+ "fedimint-logging 0.10.0",
"fedimint-threshold-crypto",
- "lightning 0.1.5",
+ "iroh 0.35.0",
+ "lightning 0.1.8",
"lightning-invoice 0.33.2",
+ "reqwest 0.12.28",
"serde",
"serde-big-array",
"serde_json",
- "thiserror 2.0.12",
+ "thiserror 2.0.18",
+ "tokio",
"tracing",
]
@@ -2091,8 +2025,8 @@ dependencies = [
[[package]]
name = "fedimint-logging"
-version = "0.8.0-beta.2"
-source = "git+https://github.com/elsirion/fedimint?branch=v0.8-beta.2-patch-xyz#b3b6a41a48120b298dcd8560cd6c312e9a4bbfe9"
+version = "0.10.0"
+source = "git+https://github.com/fedimint/fedimint?tag=v0.10.0#76f6c7ce5435a609a256d58b0924161c5fc9b3ec"
dependencies = [
"anyhow",
"tracing-subscriber",
@@ -2100,61 +2034,61 @@ dependencies = [
[[package]]
name = "fedimint-meta-client"
-version = "0.8.0-beta.2"
-source = "git+https://github.com/elsirion/fedimint?branch=v0.8-beta.2-patch-xyz#b3b6a41a48120b298dcd8560cd6c312e9a4bbfe9"
+version = "0.10.0"
+source = "git+https://github.com/fedimint/fedimint?tag=v0.10.0#76f6c7ce5435a609a256d58b0924161c5fc9b3ec"
dependencies = [
"anyhow",
"async-trait",
"erased-serde",
"fedimint-api-client",
"fedimint-client-module",
- "fedimint-core 0.8.0-beta.2",
- "fedimint-logging 0.8.0-beta.2",
+ "fedimint-core 0.10.0",
+ "fedimint-logging 0.10.0",
"fedimint-meta-common",
"serde",
"serde_json",
"strum 0.27.2",
- "strum_macros 0.26.4",
- "thiserror 2.0.12",
+ "strum_macros 0.27.2",
+ "thiserror 2.0.18",
"tracing",
]
[[package]]
name = "fedimint-meta-common"
-version = "0.8.0-beta.2"
-source = "git+https://github.com/elsirion/fedimint?branch=v0.8-beta.2-patch-xyz#b3b6a41a48120b298dcd8560cd6c312e9a4bbfe9"
+version = "0.10.0"
+source = "git+https://github.com/fedimint/fedimint?tag=v0.10.0#76f6c7ce5435a609a256d58b0924161c5fc9b3ec"
dependencies = [
"anyhow",
- "fedimint-core 0.8.0-beta.2",
- "fedimint-logging 0.8.0-beta.2",
+ "fedimint-core 0.10.0",
+ "fedimint-logging 0.10.0",
"hex",
"serde",
"serde_json",
- "thiserror 2.0.12",
+ "thiserror 2.0.18",
"tracing",
]
[[package]]
name = "fedimint-mint-common"
-version = "0.8.0-beta.2"
-source = "git+https://github.com/elsirion/fedimint?branch=v0.8-beta.2-patch-xyz#b3b6a41a48120b298dcd8560cd6c312e9a4bbfe9"
+version = "0.10.0"
+source = "git+https://github.com/fedimint/fedimint?tag=v0.10.0#76f6c7ce5435a609a256d58b0924161c5fc9b3ec"
dependencies = [
"anyhow",
- "bitcoin_hashes 0.14.0",
- "fedimint-core 0.8.0-beta.2",
+ "bitcoin_hashes 0.14.1",
+ "fedimint-core 0.10.0",
"fedimint-tbs",
"serde",
- "thiserror 2.0.12",
+ "thiserror 2.0.18",
"tracing",
]
[[package]]
name = "fedimint-tbs"
-version = "0.8.0-beta.2"
-source = "git+https://github.com/elsirion/fedimint?branch=v0.8-beta.2-patch-xyz#b3b6a41a48120b298dcd8560cd6c312e9a4bbfe9"
+version = "0.10.0"
+source = "git+https://github.com/fedimint/fedimint?tag=v0.10.0#76f6c7ce5435a609a256d58b0924161c5fc9b3ec"
dependencies = [
"bls12_381",
- "fedimint-core 0.8.0-beta.2",
+ "fedimint-core 0.10.0",
"group",
"hex",
"rand 0.8.5",
@@ -2185,19 +2119,27 @@ dependencies = [
"zeroize",
]
+[[package]]
+name = "fedimint-util-error"
+version = "0.10.0"
+source = "git+https://github.com/fedimint/fedimint?tag=v0.10.0#76f6c7ce5435a609a256d58b0924161c5fc9b3ec"
+dependencies = [
+ "anyhow",
+]
+
[[package]]
name = "fedimint-wallet-common"
-version = "0.8.0-beta.2"
-source = "git+https://github.com/elsirion/fedimint?branch=v0.8-beta.2-patch-xyz#b3b6a41a48120b298dcd8560cd6c312e9a4bbfe9"
+version = "0.10.0"
+source = "git+https://github.com/fedimint/fedimint?tag=v0.10.0#76f6c7ce5435a609a256d58b0924161c5fc9b3ec"
dependencies = [
"anyhow",
- "bitcoin 0.32.6",
- "fedimint-core 0.8.0-beta.2",
+ "bitcoin 0.32.8",
+ "fedimint-core 0.10.0",
"hex",
"impl-tools",
- "miniscript 12.3.4",
+ "miniscript 12.3.5",
"serde",
- "thiserror 2.0.12",
+ "thiserror 2.0.18",
"tracing",
]
@@ -2218,6 +2160,12 @@ version = "0.2.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d"
+[[package]]
+name = "find-msvc-tools"
+version = "0.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582"
+
[[package]]
name = "flume"
version = "0.11.1"
@@ -2226,45 +2174,19 @@ checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095"
dependencies = [
"futures-core",
"futures-sink",
- "spin",
+ "spin 0.9.8",
]
[[package]]
name = "fmo_api_types"
version = "0.1.0"
dependencies = [
- "bitcoin 0.32.6",
+ "bitcoin 0.32.8",
"chrono",
- "fedimint-core 0.8.0-beta.2",
+ "fedimint-core 0.10.0",
"serde",
]
-[[package]]
-name = "fmo_frontend"
-version = "0.1.0"
-dependencies = [
- "anyhow",
- "chrono",
- "console_error_panic_hook",
- "fedimint-core 0.8.0-beta.2",
- "fmo_api_types",
- "futures",
- "itertools 0.12.1",
- "leptos",
- "leptos-chartistry",
- "leptos-use",
- "leptos_meta",
- "leptos_router",
- "nostr-sdk",
- "num-format",
- "reqwest 0.12.22",
- "serde_json",
- "tokio",
- "tracing",
- "tracing-wasm",
- "web-sys",
-]
-
[[package]]
name = "fmo_server"
version = "0.2.0"
@@ -2273,7 +2195,7 @@ dependencies = [
"async-stream",
"axum",
"axum-auth",
- "bitcoin 0.32.6",
+ "bitcoin 0.32.8",
"chrono",
"clap",
"csv",
@@ -2281,7 +2203,8 @@ dependencies = [
"dotenv",
"esplora-client",
"fedimint-api-client",
- "fedimint-core 0.8.0-beta.2",
+ "fedimint-connectors",
+ "fedimint-core 0.10.0",
"fedimint-ln-common",
"fedimint-meta-client",
"fedimint-mint-common",
@@ -2292,7 +2215,7 @@ dependencies = [
"nostr-sdk",
"postgres-from-row",
"regex",
- "reqwest 0.12.22",
+ "reqwest 0.12.28",
"serde",
"serde_json",
"stability-pool-common",
@@ -2315,15 +2238,27 @@ version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
+[[package]]
+name = "foldhash"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb"
+
[[package]]
name = "form_urlencoded"
-version = "1.2.1"
+version = "1.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
+checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf"
dependencies = [
"percent-encoding",
]
+[[package]]
+name = "fs_extra"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
+
[[package]]
name = "funty"
version = "2.0.0"
@@ -2332,9 +2267,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
[[package]]
name = "futures"
-version = "0.3.31"
+version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876"
+checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d"
dependencies = [
"futures-channel",
"futures-core",
@@ -2347,22 +2282,22 @@ dependencies = [
[[package]]
name = "futures-buffered"
-version = "0.2.11"
+version = "0.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe940397c8b744b9c2c974791c2c08bca2c3242ce0290393249e98f215a00472"
+checksum = "4421cb78ee172b6b06080093479d3c50f058e7c81b7d577bbb8d118d551d4cd5"
dependencies = [
"cordyceps",
"diatomic-waker",
"futures-core",
"pin-project-lite",
- "spin",
+ "spin 0.10.0",
]
[[package]]
name = "futures-channel"
-version = "0.3.31"
+version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10"
+checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d"
dependencies = [
"futures-core",
"futures-sink",
@@ -2370,33 +2305,32 @@ dependencies = [
[[package]]
name = "futures-core"
-version = "0.3.31"
+version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e"
+checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d"
[[package]]
name = "futures-executor"
-version = "0.3.31"
+version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f"
+checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d"
dependencies = [
"futures-core",
"futures-task",
"futures-util",
- "num_cpus",
]
[[package]]
name = "futures-io"
-version = "0.3.31"
+version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6"
+checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718"
[[package]]
name = "futures-lite"
-version = "2.6.0"
+version = "2.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532"
+checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad"
dependencies = [
"fastrand",
"futures-core",
@@ -2407,26 +2341,26 @@ dependencies = [
[[package]]
name = "futures-macro"
-version = "0.3.31"
+version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
+checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
name = "futures-sink"
-version = "0.3.31"
+version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7"
+checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893"
[[package]]
name = "futures-task"
-version = "0.3.31"
+version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988"
+checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393"
[[package]]
name = "futures-timer"
@@ -2440,9 +2374,9 @@ dependencies = [
[[package]]
name = "futures-util"
-version = "0.3.31"
+version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81"
+checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6"
dependencies = [
"futures-channel",
"futures-core",
@@ -2452,22 +2386,22 @@ dependencies = [
"futures-task",
"memchr",
"pin-project-lite",
- "pin-utils",
"slab",
]
[[package]]
name = "generator"
-version = "0.8.5"
+version = "0.8.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d18470a76cb7f8ff746cf1f7470914f900252ec36bbc40b569d74b1258446827"
+checksum = "52f04ae4152da20c76fe800fa48659201d5cf627c5149ca0b707b69d7eef6cf9"
dependencies = [
"cc",
"cfg-if",
"libc",
"log",
"rustversion",
- "windows 0.61.3",
+ "windows-link 0.2.1",
+ "windows-result 0.4.1",
]
[[package]]
@@ -2483,9 +2417,9 @@ dependencies = [
[[package]]
name = "getrandom"
-version = "0.2.16"
+version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592"
+checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0"
dependencies = [
"cfg-if",
"js-sys",
@@ -2496,29 +2430,42 @@ dependencies = [
[[package]]
name = "getrandom"
-version = "0.3.3"
+version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4"
+checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd"
dependencies = [
"cfg-if",
"js-sys",
"libc",
"r-efi",
- "wasi 0.14.2+wasi-0.2.4",
+ "wasip2",
"wasm-bindgen",
]
+[[package]]
+name = "getrandom"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "139ef39800118c7683f2fd3c98c1b23c09ae076556b435f8e9064ae108aaeeec"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "r-efi",
+ "wasip2",
+ "wasip3",
+]
+
[[package]]
name = "gimli"
-version = "0.31.1"
+version = "0.32.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f"
+checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7"
[[package]]
name = "glob"
-version = "0.3.2"
+version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2"
+checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280"
[[package]]
name = "gloo-net"
@@ -2530,7 +2477,7 @@ dependencies = [
"futures-core",
"futures-sink",
"gloo-utils",
- "http 1.3.1",
+ "http 1.4.0",
"js-sys",
"pin-project",
"serde",
@@ -2589,12 +2536,6 @@ dependencies = [
"subtle",
]
-[[package]]
-name = "guardian"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17e2ac29387b1aa07a1e448f7bb4f35b500787971e965b02842b900afa5c8f6f"
-
[[package]]
name = "h2"
version = "0.3.27"
@@ -2616,16 +2557,16 @@ dependencies = [
[[package]]
name = "h2"
-version = "0.4.11"
+version = "0.4.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17da50a276f1e01e0ba6c029e47b7100754904ee8a278f886546e98575380785"
+checksum = "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54"
dependencies = [
"atomic-waker",
"bytes",
"fnv",
"futures-core",
"futures-sink",
- "http 1.3.1",
+ "http 1.4.0",
"indexmap",
"slab",
"tokio",
@@ -2650,19 +2591,24 @@ checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
[[package]]
name = "hashbrown"
-version = "0.14.5"
+version = "0.15.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
+checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
+dependencies = [
+ "allocator-api2",
+ "equivalent",
+ "foldhash 0.1.5",
+]
[[package]]
name = "hashbrown"
-version = "0.15.4"
+version = "0.16.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5"
+checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100"
dependencies = [
"allocator-api2",
"equivalent",
- "foldhash",
+ "foldhash 0.2.0",
]
[[package]]
@@ -2675,7 +2621,7 @@ dependencies = [
"hash32",
"rustc_version",
"serde",
- "spin",
+ "spin 0.9.8",
"stable_deref_trait",
]
@@ -2708,18 +2654,18 @@ checksum = "212ab92002354b4819390025006c897e8140934349e8635c9b077f47b4dcbd20"
[[package]]
name = "hex-conservative"
-version = "0.2.1"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5313b072ce3c597065a808dbf612c4c8e8590bdbf8b579508bf7a762c5eae6cd"
+checksum = "fda06d18ac606267c40c04e41b9947729bf8b9efe74bd4e82b61a5f26a510b9f"
dependencies = [
"arrayvec",
]
[[package]]
name = "hex-conservative"
-version = "0.3.0"
+version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4afe881d0527571892c4034822e59bb10c6c991cce6abe8199b6f5cf10766f55"
+checksum = "830e599c2904b08f0834ee6337d8fe8f0ed4a63b5d9e7a7f49c0ffa06d08d360"
dependencies = [
"arrayvec",
]
@@ -2752,9 +2698,9 @@ dependencies = [
"idna",
"ipnet",
"once_cell",
- "rand 0.9.1",
+ "rand 0.9.2",
"ring",
- "thiserror 2.0.12",
+ "thiserror 2.0.18",
"tinyvec",
"tokio",
"tracing",
@@ -2774,10 +2720,10 @@ dependencies = [
"moka",
"once_cell",
"parking_lot",
- "rand 0.9.1",
+ "rand 0.9.2",
"resolv-conf",
"smallvec",
- "thiserror 2.0.12",
+ "thiserror 2.0.18",
"tokio",
"tracing",
]
@@ -2803,24 +2749,24 @@ dependencies = [
[[package]]
name = "hmac-sha256"
-version = "1.1.12"
+version = "1.1.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad6880c8d4a9ebf39c6e8b77007ce223f646a4d21ce29d99f70cb16420545425"
+checksum = "ec9d92d097f4749b64e8cc33d924d9f40a2d4eb91402b458014b781f5733d60f"
[[package]]
-name = "hostname-validator"
-version = "1.1.1"
+name = "home"
+version = "0.5.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f558a64ac9af88b5ba400d99b579451af0d39c6d360980045b91aac966d705e2"
+checksum = "cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d"
+dependencies = [
+ "windows-sys 0.61.2",
+]
[[package]]
-name = "html-escape"
-version = "0.2.13"
+name = "hostname-validator"
+version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d1ad449764d627e22bfd7cd5e8868264fc9236e07c752972b4080cd351cb476"
-dependencies = [
- "utf8-width",
-]
+checksum = "f558a64ac9af88b5ba400d99b579451af0d39c6d360980045b91aac966d705e2"
[[package]]
name = "http"
@@ -2835,12 +2781,11 @@ dependencies = [
[[package]]
name = "http"
-version = "1.3.1"
+version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565"
+checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a"
dependencies = [
"bytes",
- "fnv",
"itoa",
]
@@ -2862,7 +2807,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184"
dependencies = [
"bytes",
- "http 1.3.1",
+ "http 1.4.0",
]
[[package]]
@@ -2873,7 +2818,7 @@ checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a"
dependencies = [
"bytes",
"futures-core",
- "http 1.3.1",
+ "http 1.4.0",
"http-body 1.0.1",
"pin-project-lite",
]
@@ -2890,20 +2835,6 @@ version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
-[[package]]
-name = "hydration_context"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8714ae4adeaa846d838f380fbd72f049197de629948f91bf045329e0cf0a283"
-dependencies = [
- "futures",
- "once_cell",
- "or_poisoned",
- "pin-project-lite",
- "serde",
- "throw_error",
-]
-
[[package]]
name = "hyper"
version = "0.14.32"
@@ -2921,7 +2852,7 @@ dependencies = [
"httpdate",
"itoa",
"pin-project-lite",
- "socket2",
+ "socket2 0.5.10",
"tokio",
"tower-service",
"tracing",
@@ -2930,20 +2861,22 @@ dependencies = [
[[package]]
name = "hyper"
-version = "1.6.0"
+version = "1.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80"
+checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11"
dependencies = [
+ "atomic-waker",
"bytes",
"futures-channel",
- "futures-util",
- "h2 0.4.11",
- "http 1.3.1",
+ "futures-core",
+ "h2 0.4.13",
+ "http 1.4.0",
"http-body 1.0.1",
"httparse",
"httpdate",
"itoa",
"pin-project-lite",
+ "pin-utils",
"smallvec",
"tokio",
"want",
@@ -2969,36 +2902,35 @@ version = "0.27.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58"
dependencies = [
- "http 1.3.1",
- "hyper 1.6.0",
+ "http 1.4.0",
+ "hyper 1.8.1",
"hyper-util",
- "rustls 0.23.29",
+ "rustls 0.23.37",
"rustls-pki-types",
"tokio",
- "tokio-rustls 0.26.2",
+ "tokio-rustls 0.26.4",
"tower-service",
- "webpki-roots 1.0.2",
+ "webpki-roots 1.0.6",
]
[[package]]
name = "hyper-util"
-version = "0.1.15"
+version = "0.1.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f66d5bd4c6f02bf0542fad85d626775bab9258cf795a4256dcaf3161114d1df"
+checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0"
dependencies = [
"base64 0.22.1",
"bytes",
"futures-channel",
- "futures-core",
"futures-util",
- "http 1.3.1",
+ "http 1.4.0",
"http-body 1.0.1",
- "hyper 1.6.0",
+ "hyper 1.8.1",
"ipnet",
"libc",
"percent-encoding",
"pin-project-lite",
- "socket2",
+ "socket2 0.6.2",
"tokio",
"tower-service",
"tracing",
@@ -3006,9 +2938,9 @@ dependencies = [
[[package]]
name = "iana-time-zone"
-version = "0.1.63"
+version = "0.1.65"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8"
+checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470"
dependencies = [
"android_system_properties",
"core-foundation-sys",
@@ -3016,7 +2948,7 @@ dependencies = [
"js-sys",
"log",
"wasm-bindgen",
- "windows-core 0.61.2",
+ "windows-core 0.62.2",
]
[[package]]
@@ -3030,9 +2962,9 @@ dependencies = [
[[package]]
name = "icu_collections"
-version = "2.0.0"
+version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47"
+checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43"
dependencies = [
"displaydoc",
"potential_utf",
@@ -3043,9 +2975,9 @@ dependencies = [
[[package]]
name = "icu_locale_core"
-version = "2.0.0"
+version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a"
+checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6"
dependencies = [
"displaydoc",
"litemap",
@@ -3056,11 +2988,10 @@ dependencies = [
[[package]]
name = "icu_normalizer"
-version = "2.0.0"
+version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979"
+checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599"
dependencies = [
- "displaydoc",
"icu_collections",
"icu_normalizer_data",
"icu_properties",
@@ -3071,42 +3002,38 @@ dependencies = [
[[package]]
name = "icu_normalizer_data"
-version = "2.0.0"
+version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3"
+checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a"
[[package]]
name = "icu_properties"
-version = "2.0.1"
+version = "2.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b"
+checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec"
dependencies = [
- "displaydoc",
"icu_collections",
"icu_locale_core",
"icu_properties_data",
"icu_provider",
- "potential_utf",
"zerotrie",
"zerovec",
]
[[package]]
name = "icu_properties_data"
-version = "2.0.1"
+version = "2.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632"
+checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af"
[[package]]
name = "icu_provider"
-version = "2.0.0"
+version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af"
+checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614"
dependencies = [
"displaydoc",
"icu_locale_core",
- "stable_deref_trait",
- "tinystr",
"writeable",
"yoke",
"zerofrom",
@@ -3114,6 +3041,12 @@ dependencies = [
"zerovec",
]
+[[package]]
+name = "id-arena"
+version = "2.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954"
+
[[package]]
name = "ident_case"
version = "1.0.1"
@@ -3122,9 +3055,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
[[package]]
name = "idna"
-version = "1.0.3"
+version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e"
+checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de"
dependencies = [
"idna_adapter",
"smallvec",
@@ -3143,20 +3076,20 @@ dependencies = [
[[package]]
name = "igd-next"
-version = "0.16.1"
+version = "0.16.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d06464e726471718db9ad3fefc020529fabcde03313a0fc3967510e2db5add12"
+checksum = "516893339c97f6011282d5825ac94fc1c7aad5cad26bdc2d0cee068c0bf97f97"
dependencies = [
"async-trait",
"attohttpc",
"bytes",
"futures",
- "http 1.3.1",
+ "http 1.4.0",
"http-body-util",
- "hyper 1.6.0",
+ "hyper 1.8.1",
"hyper-util",
"log",
- "rand 0.9.1",
+ "rand 0.9.2",
"tokio",
"url",
"xmltree",
@@ -3184,7 +3117,7 @@ dependencies = [
"archery",
"bitmaps",
"imbl-sized-chunks",
- "rand_core 0.9.3",
+ "rand_core 0.9.5",
"rand_xoshiro 0.7.0",
"version_check",
]
@@ -3207,19 +3140,19 @@ dependencies = [
"autocfg",
"impl-tools-lib",
"proc-macro-error2",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
name = "impl-tools-lib"
-version = "0.11.3"
+version = "0.11.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc6a9b65dadb575faa21065e8464e88ec3e991b3d6745972dec69d1be6cffcfe"
+checksum = "ab699036df31c1f7d3561bfa6e9cb9bc3bb0fd2e2cd9bf121c31cb961d049ddf"
dependencies = [
"proc-macro-error2",
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
@@ -3230,7 +3163,7 @@ checksum = "a0eb5a3343abf848c0984fe4604b2b105da9539376e24fc0a3b0007411ae4fd9"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
@@ -3254,12 +3187,14 @@ dependencies = [
[[package]]
name = "indexmap"
-version = "2.10.0"
+version = "2.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661"
+checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017"
dependencies = [
"equivalent",
- "hashbrown 0.15.4",
+ "hashbrown 0.16.1",
+ "serde",
+ "serde_core",
]
[[package]]
@@ -3284,30 +3219,13 @@ dependencies = [
"web-sys",
]
-[[package]]
-name = "interpolator"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "71dd52191aae121e8611f1e8dc3e324dd0dd1dee1e6dd91d10ee07a3cfb4d9d8"
-
-[[package]]
-name = "io-uring"
-version = "0.7.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b86e202f00093dcba4275d4636b93ef9dd75d025ae560d2521b45ea28ab49013"
-dependencies = [
- "bitflags 2.9.1",
- "cfg-if",
- "libc",
-]
-
[[package]]
name = "ipconfig"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f"
dependencies = [
- "socket2",
+ "socket2 0.5.10",
"widestring",
"windows-sys 0.48.0",
"winreg",
@@ -3321,9 +3239,9 @@ checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130"
[[package]]
name = "iri-string"
-version = "0.7.8"
+version = "0.7.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2"
+checksum = "c91338f0783edbd6195decb37bae672fd3b165faffb89bf7b9e6942f8b1a731a"
dependencies = [
"memchr",
"serde",
@@ -3338,7 +3256,7 @@ dependencies = [
"aead",
"anyhow",
"atomic-waker",
- "backon 1.5.1",
+ "backon 1.6.0",
"bytes",
"cfg_aliases",
"concurrent-queue",
@@ -3349,9 +3267,9 @@ dependencies = [
"ed25519-dalek",
"futures-buffered",
"futures-util",
- "getrandom 0.3.3",
+ "getrandom 0.3.4",
"hickory-resolver",
- "http 1.3.1",
+ "http 1.4.0",
"igd-next",
"instant",
"iroh-base 0.35.0",
@@ -3368,9 +3286,9 @@ dependencies = [
"portmapper 0.5.0",
"rand 0.8.5",
"rcgen",
- "reqwest 0.12.22",
+ "reqwest 0.12.28",
"ring",
- "rustls 0.23.29",
+ "rustls 0.23.37",
"rustls-webpki 0.102.8",
"serde",
"smallvec",
@@ -3378,7 +3296,7 @@ dependencies = [
"strum 0.26.3",
"stun-rs",
"surge-ping",
- "thiserror 2.0.12",
+ "thiserror 2.0.18",
"time",
"tokio",
"tokio-stream",
@@ -3398,7 +3316,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9436f319c2d24bca1b28a2fab4477c8d2ac795ab2d3aeda142d207b38ec068f4"
dependencies = [
"aead",
- "backon 1.5.1",
+ "backon 1.6.0",
"bytes",
"cfg_aliases",
"crypto_box",
@@ -3408,9 +3326,9 @@ dependencies = [
"ed25519-dalek",
"futures-buffered",
"futures-util",
- "getrandom 0.3.3",
+ "getrandom 0.3.4",
"hickory-resolver",
- "http 1.3.1",
+ "http 1.4.0",
"igd-next",
"instant",
"iroh-base 0.90.0",
@@ -3429,11 +3347,11 @@ dependencies = [
"pkarr",
"portmapper 0.6.1",
"rand 0.8.5",
- "reqwest 0.12.22",
+ "reqwest 0.12.28",
"ring",
- "rustls 0.23.29",
+ "rustls 0.23.37",
"rustls-pki-types",
- "rustls-webpki 0.103.4",
+ "rustls-webpki 0.103.9",
"serde",
"smallvec",
"snafu",
@@ -3465,7 +3383,7 @@ dependencies = [
"postcard",
"rand_core 0.6.4",
"serde",
- "thiserror 2.0.12",
+ "thiserror 2.0.18",
"url",
]
@@ -3523,7 +3441,7 @@ dependencies = [
"heck",
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
@@ -3537,10 +3455,10 @@ dependencies = [
"iroh-quinn-proto",
"iroh-quinn-udp",
"pin-project-lite",
- "rustc-hash",
- "rustls 0.23.29",
- "socket2",
- "thiserror 2.0.12",
+ "rustc-hash 2.1.1",
+ "rustls 0.23.37",
+ "socket2 0.5.10",
+ "thiserror 2.0.18",
"tokio",
"tracing",
"web-time",
@@ -3557,10 +3475,10 @@ dependencies = [
"iroh-quinn-proto",
"iroh-quinn-udp",
"pin-project-lite",
- "rustc-hash",
- "rustls 0.23.29",
- "socket2",
- "thiserror 2.0.12",
+ "rustc-hash 2.1.1",
+ "rustls 0.23.37",
+ "socket2 0.5.10",
+ "thiserror 2.0.18",
"tokio",
"tracing",
"web-time",
@@ -3573,14 +3491,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "929d5d8fa77d5c304d3ee7cae9aede31f13908bd049f9de8c7c0094ad6f7c535"
dependencies = [
"bytes",
- "getrandom 0.2.16",
+ "getrandom 0.2.17",
"rand 0.8.5",
"ring",
- "rustc-hash",
- "rustls 0.23.29",
+ "rustc-hash 2.1.1",
+ "rustls 0.23.37",
"rustls-pki-types",
"slab",
- "thiserror 2.0.12",
+ "thiserror 2.0.18",
"tinyvec",
"tracing",
"web-time",
@@ -3595,7 +3513,7 @@ dependencies = [
"cfg_aliases",
"libc",
"once_cell",
- "socket2",
+ "socket2 0.5.10",
"tracing",
"windows-sys 0.59.0",
]
@@ -3611,11 +3529,11 @@ dependencies = [
"cfg_aliases",
"data-encoding",
"derive_more",
- "getrandom 0.3.3",
+ "getrandom 0.3.4",
"hickory-resolver",
- "http 1.3.1",
+ "http 1.4.0",
"http-body-util",
- "hyper 1.6.0",
+ "hyper 1.8.1",
"hyper-util",
"iroh-base 0.35.0",
"iroh-metrics 0.34.0",
@@ -3628,16 +3546,16 @@ dependencies = [
"pkarr",
"postcard",
"rand 0.8.5",
- "reqwest 0.12.22",
- "rustls 0.23.29",
+ "reqwest 0.12.28",
+ "rustls 0.23.37",
"rustls-webpki 0.102.8",
"serde",
"sha1",
"strum 0.26.3",
"stun-rs",
- "thiserror 2.0.12",
+ "thiserror 2.0.18",
"tokio",
- "tokio-rustls 0.26.2",
+ "tokio-rustls 0.26.4",
"tokio-util",
"tokio-websockets",
"tracing",
@@ -3657,11 +3575,11 @@ dependencies = [
"cfg_aliases",
"data-encoding",
"derive_more",
- "getrandom 0.3.3",
+ "getrandom 0.3.4",
"hickory-resolver",
- "http 1.3.1",
+ "http 1.4.0",
"http-body-util",
- "hyper 1.6.0",
+ "hyper 1.8.1",
"hyper-util",
"iroh-base 0.90.0",
"iroh-metrics 0.35.0",
@@ -3676,16 +3594,16 @@ dependencies = [
"pkarr",
"postcard",
"rand 0.8.5",
- "reqwest 0.12.22",
- "rustls 0.23.29",
+ "reqwest 0.12.28",
+ "rustls 0.23.37",
"rustls-pki-types",
- "rustls-webpki 0.103.4",
+ "rustls-webpki 0.103.9",
"serde",
"sha1",
"snafu",
"strum 0.26.3",
"tokio",
- "tokio-rustls 0.26.2",
+ "tokio-rustls 0.26.4",
"tokio-util",
"tokio-websockets",
"tracing",
@@ -3697,9 +3615,9 @@ dependencies = [
[[package]]
name = "is_terminal_polyfill"
-version = "1.70.1"
+version = "1.70.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
+checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695"
[[package]]
name = "itertools"
@@ -3730,15 +3648,25 @@ dependencies = [
[[package]]
name = "itoa"
-version = "1.0.15"
+version = "1.0.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2"
+
+[[package]]
+name = "jobserver"
+version = "0.1.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
+checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33"
+dependencies = [
+ "getrandom 0.3.4",
+ "libc",
+]
[[package]]
name = "js-sys"
-version = "0.3.77"
+version = "0.3.91"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f"
+checksum = "b49715b7073f385ba4bc528e5747d02e66cb39c6146efb66b781f131f0fb399c"
dependencies = [
"once_cell",
"wasm-bindgen",
@@ -3746,23 +3674,23 @@ dependencies = [
[[package]]
name = "jsonrpsee-client-transport"
-version = "0.24.9"
+version = "0.24.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bacb85abf4117092455e1573625e21b8f8ef4dec8aff13361140b2dc266cdff2"
+checksum = "cc4280b709ac3bb5e16cf3bad5056a0ec8df55fa89edfe996361219aadc2c7ea"
dependencies = [
"base64 0.22.1",
"futures-channel",
"futures-util",
"gloo-net",
- "http 1.3.1",
+ "http 1.4.0",
"jsonrpsee-core",
"pin-project",
- "rustls 0.23.29",
+ "rustls 0.23.37",
"rustls-pki-types",
"soketto",
"thiserror 1.0.69",
"tokio",
- "tokio-rustls 0.26.2",
+ "tokio-rustls 0.26.4",
"tokio-util",
"tracing",
"url",
@@ -3770,16 +3698,16 @@ dependencies = [
[[package]]
name = "jsonrpsee-core"
-version = "0.24.9"
+version = "0.24.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "456196007ca3a14db478346f58c7238028d55ee15c1df15115596e411ff27925"
+checksum = "348ee569eaed52926b5e740aae20863762b16596476e943c9e415a6479021622"
dependencies = [
"async-trait",
"futures-timer",
"futures-util",
"jsonrpsee-types",
"pin-project",
- "rustc-hash",
+ "rustc-hash 2.1.1",
"serde",
"serde_json",
"thiserror 1.0.69",
@@ -3791,11 +3719,11 @@ dependencies = [
[[package]]
name = "jsonrpsee-types"
-version = "0.24.9"
+version = "0.24.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08a8e70baf945b6b5752fc8eb38c918a48f1234daf11355e07106d963f860089"
+checksum = "b0f05e0028e55b15dbd2107163b3c744cd3bb4474f193f95d9708acbf5677e44"
dependencies = [
- "http 1.3.1",
+ "http 1.4.0",
"serde",
"serde_json",
"thiserror 1.0.69",
@@ -3803,9 +3731,9 @@ dependencies = [
[[package]]
name = "jsonrpsee-wasm-client"
-version = "0.24.9"
+version = "0.24.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6558a9586cad43019dafd0b6311d0938f46efc116b34b28c74778bc11a2edf6"
+checksum = "e9d745e4f543fc10fc0e2b11aa1f3be506b1e475d412167e7191a65ecd239f1c"
dependencies = [
"jsonrpsee-client-transport",
"jsonrpsee-core",
@@ -3814,11 +3742,11 @@ dependencies = [
[[package]]
name = "jsonrpsee-ws-client"
-version = "0.24.9"
+version = "0.24.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01b3323d890aa384f12148e8d2a1fd18eb66e9e7e825f9de4fa53bcc19b93eef"
+checksum = "78fc744f17e7926d57f478cf9ca6e1ee5d8332bf0514860b1a3cdf1742e614cc"
dependencies = [
- "http 1.3.1",
+ "http 1.4.0",
"jsonrpsee-client-transport",
"jsonrpsee-core",
"jsonrpsee-types",
@@ -3827,9 +3755,9 @@ dependencies = [
[[package]]
name = "keccak"
-version = "0.1.5"
+version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654"
+checksum = "cb26cec98cce3a3d96cbb7bced3c4b16e3d13f27ec56dbd62cbc8f39cfb9d653"
dependencies = [
"cpufeatures",
]
@@ -3850,233 +3778,48 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
[[package]]
-name = "leptos"
-version = "0.8.3"
+name = "lazycell"
+version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c202a7897aa73c90ac4ce73713512d871f75e79847558d9e88f778659b164dc"
-dependencies = [
- "any_spawner",
- "cfg-if",
- "either_of",
- "futures",
- "getrandom 0.3.3",
- "hydration_context",
- "leptos_config",
- "leptos_dom",
- "leptos_hot_reload",
- "leptos_macro",
- "leptos_server",
- "oco_ref",
- "or_poisoned",
- "paste",
- "reactive_graph",
- "rustc-hash",
- "rustc_version",
- "send_wrapper 0.6.0",
- "serde",
- "serde_qs",
- "server_fn",
- "slotmap",
- "tachys",
- "thiserror 2.0.12",
- "throw_error",
- "typed-builder",
- "typed-builder-macro",
- "wasm-bindgen",
- "web-sys",
-]
+checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
[[package]]
-name = "leptos-chartistry"
-version = "0.2.2"
+name = "leb128fmt"
+version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f40cb5107c4c1ea5b06de6b95b13ab0eb2bb5ae30bbcb19fdbe65004c733318"
-dependencies = [
- "chrono",
- "leptos",
- "leptos-use",
- "log",
- "web-sys",
-]
+checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2"
[[package]]
-name = "leptos-use"
-version = "0.16.2"
+name = "libc"
+version = "0.2.182"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112"
+
+[[package]]
+name = "libloading"
+version = "0.8.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6eac17e7d306b4ad67158aba97c1490884ba304add4321069cb63fe0834c3b1"
+checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55"
dependencies = [
"cfg-if",
- "chrono",
- "codee",
- "cookie",
- "default-struct-builder",
- "futures-util",
- "gloo-timers 0.3.0",
- "js-sys",
- "lazy_static",
- "leptos",
- "paste",
- "send_wrapper 0.6.0",
- "thiserror 2.0.12",
- "unic-langid",
- "wasm-bindgen",
- "wasm-bindgen-futures",
- "web-sys",
+ "windows-link 0.2.1",
]
[[package]]
-name = "leptos_config"
-version = "0.8.3"
+name = "libm"
+version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74eec2103dfa808f4b13c149dfbd3842f13a5948489fda3de31cc565fb28dbec"
-dependencies = [
- "config",
- "regex",
- "serde",
- "thiserror 2.0.12",
- "typed-builder",
-]
+checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981"
[[package]]
-name = "leptos_dom"
-version = "0.8.3"
+name = "libredox"
+version = "0.1.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25b845379c33884f0dead9abb5aa3d258d7bd507789fc2527a5972f82c0757c7"
+checksum = "1744e39d1d6a9948f4f388969627434e31128196de472883b39f148769bfe30a"
dependencies = [
- "js-sys",
- "or_poisoned",
- "reactive_graph",
- "send_wrapper 0.6.0",
- "tachys",
- "wasm-bindgen",
- "web-sys",
-]
-
-[[package]]
-name = "leptos_hot_reload"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fae732329192df886803f076515d73c883166a4c8cbc5532584d0d1e43539300"
-dependencies = [
- "anyhow",
- "camino",
- "indexmap",
- "parking_lot",
- "proc-macro2",
- "quote",
- "rstml",
- "serde",
- "syn 2.0.104",
- "walkdir",
-]
-
-[[package]]
-name = "leptos_macro"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e32ae8783d4b64838167e026ef773dbc53399e9e6658e9c2f65e0ce67a5ccec"
-dependencies = [
- "attribute-derive",
- "cfg-if",
- "convert_case 0.8.0",
- "html-escape",
- "itertools 0.14.0",
- "leptos_hot_reload",
- "prettyplease",
- "proc-macro-error2",
- "proc-macro2",
- "quote",
- "rstml",
- "rustc_version",
- "server_fn_macro",
- "syn 2.0.104",
- "uuid",
-]
-
-[[package]]
-name = "leptos_meta"
-version = "0.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3235579f4c56361dddc57d32df39ad527f5853e0757826b73fc3d558e9d362b0"
-dependencies = [
- "futures",
- "indexmap",
- "leptos",
- "once_cell",
- "or_poisoned",
- "send_wrapper 0.6.0",
- "wasm-bindgen",
- "web-sys",
-]
-
-[[package]]
-name = "leptos_router"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1b6df1b107c301bd39c114768a1196a8dfcbdae869364b3f0247e3f554b503a"
-dependencies = [
- "any_spawner",
- "either_of",
- "futures",
- "gloo-net",
- "js-sys",
- "leptos",
- "leptos_router_macro",
- "or_poisoned",
- "reactive_graph",
- "rustc_version",
- "send_wrapper 0.6.0",
- "tachys",
- "thiserror 2.0.12",
- "url",
- "wasm-bindgen",
- "web-sys",
-]
-
-[[package]]
-name = "leptos_router_macro"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d35d4bb7922e74546fac3e852b0f3252e9996e04fca12c359aba1e5958cfda8"
-dependencies = [
- "proc-macro-error2",
- "proc-macro2",
- "quote",
- "syn 2.0.104",
-]
-
-[[package]]
-name = "leptos_server"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26851048e161998b8f9fb3261a833ec64df2a2669ea95f360c54b7f47a1e07cb"
-dependencies = [
- "any_spawner",
- "base64 0.22.1",
- "codee",
- "futures",
- "hydration_context",
- "or_poisoned",
- "reactive_graph",
- "send_wrapper 0.6.0",
- "serde",
- "serde_json",
- "server_fn",
- "tachys",
+ "libc",
]
-[[package]]
-name = "libc"
-version = "0.2.174"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776"
-
-[[package]]
-name = "libm"
-version = "0.2.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de"
-
[[package]]
name = "lightning"
version = "0.0.123"
@@ -4089,12 +3832,12 @@ dependencies = [
[[package]]
name = "lightning"
-version = "0.1.5"
+version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e540fcb289a76826c9c0b078d3dd1f05691972c5a53fb4d3120540862040a147"
+checksum = "8ffe63f56b10d214be1ade8698ee80af82d981237cae3e581e7a631f5f4959f3"
dependencies = [
- "bech32 0.11.0",
- "bitcoin 0.32.6",
+ "bech32 0.11.1",
+ "bitcoin 0.32.8",
"dnssec-prover",
"hashbrown 0.13.2",
"libm",
@@ -4121,8 +3864,8 @@ version = "0.33.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "11209f386879b97198b2bfc9e9c1e5d42870825c6bd4376f17f95357244d6600"
dependencies = [
- "bech32 0.11.0",
- "bitcoin 0.32.6",
+ "bech32 0.11.1",
+ "bitcoin 0.32.8",
"lightning-types",
"serde",
]
@@ -4133,32 +3876,32 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f2cd84d4e71472035903e43caded8ecc123066ce466329ccd5ae537a8d5488c7"
dependencies = [
- "bitcoin 0.32.6",
+ "bitcoin 0.32.8",
]
[[package]]
-name = "linear-map"
-version = "1.2.0"
+name = "linux-raw-sys"
+version = "0.4.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfae20f6b19ad527b550c223fddc3077a547fc70cda94b9b566575423fd303ee"
+checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab"
[[package]]
name = "linux-raw-sys"
-version = "0.9.4"
+version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12"
+checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53"
[[package]]
name = "litemap"
-version = "0.8.0"
+version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956"
+checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77"
[[package]]
name = "litrs"
-version = "0.4.1"
+version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5"
+checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092"
[[package]]
name = "lnurl-pay"
@@ -4167,26 +3910,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "02c042191c2e3f27147decfad8182eea2c7dd1c6c1733562e25d3d401369669d"
dependencies = [
"bech32 0.10.0-beta",
- "reqwest 0.12.22",
+ "reqwest 0.12.28",
"serde",
"serde_json",
]
[[package]]
name = "lock_api"
-version = "0.4.13"
+version = "0.4.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765"
+checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965"
dependencies = [
- "autocfg",
"scopeguard",
]
[[package]]
name = "log"
-version = "0.4.27"
+version = "0.4.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
+checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897"
dependencies = [
"value-bag",
]
@@ -4210,7 +3952,7 @@ version = "0.12.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38"
dependencies = [
- "hashbrown 0.15.4",
+ "hashbrown 0.15.5",
]
[[package]]
@@ -4219,7 +3961,16 @@ version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "227748d55f2f0ab4735d87fd623798cb6b664512fe979705f829c9f81c934465"
dependencies = [
- "hashbrown 0.15.4",
+ "hashbrown 0.15.5",
+]
+
+[[package]]
+name = "lru"
+version = "0.16.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1dc47f592c06f33f8e3aea9591776ec7c9f9e4124778ff8a3c3b87159f7e593"
+dependencies = [
+ "hashbrown 0.16.1",
]
[[package]]
@@ -4256,46 +4007,23 @@ dependencies = [
"ed25519-dalek",
"flume",
"futures-lite",
- "getrandom 0.2.16",
+ "getrandom 0.2.17",
"lru 0.13.0",
"serde",
"serde_bencode",
"serde_bytes",
"sha1_smol",
- "thiserror 2.0.12",
+ "thiserror 2.0.18",
"tracing",
]
-[[package]]
-name = "manyhow"
-version = "0.11.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b33efb3ca6d3b07393750d4030418d594ab1139cee518f0dc88db70fec873587"
-dependencies = [
- "manyhow-macros",
- "proc-macro2",
- "quote",
- "syn 2.0.104",
-]
-
-[[package]]
-name = "manyhow-macros"
-version = "0.11.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46fce34d199b78b6e6073abf984c9cf5fd3e9330145a93ee0738a7443e371495"
-dependencies = [
- "proc-macro-utils",
- "proc-macro2",
- "quote",
-]
-
[[package]]
name = "matchers"
-version = "0.1.0"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
+checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9"
dependencies = [
- "regex-automata 0.1.10",
+ "regex-automata",
]
[[package]]
@@ -4322,9 +4050,9 @@ checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771"
[[package]]
name = "memchr"
-version = "2.7.5"
+version = "2.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
+checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
[[package]]
name = "mime"
@@ -4351,12 +4079,12 @@ dependencies = [
[[package]]
name = "miniscript"
-version = "12.3.4"
+version = "12.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1eeb3bbebc87062b99fbb8c9067d30dab85469f4cf12248a2667777cc86b282"
+checksum = "487906208f38448e186e3deb02f2b8ef046a9078b0de00bdb28bf4fb9b76951c"
dependencies = [
- "bech32 0.11.0",
- "bitcoin 0.32.6",
+ "bech32 0.11.1",
+ "bitcoin 0.32.8",
"serde",
]
@@ -4371,31 +4099,29 @@ dependencies = [
[[package]]
name = "mio"
-version = "1.0.4"
+version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c"
+checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc"
dependencies = [
"libc",
"wasi 0.11.1+wasi-snapshot-preview1",
- "windows-sys 0.59.0",
+ "windows-sys 0.61.2",
]
[[package]]
name = "moka"
-version = "0.12.10"
+version = "0.12.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9321642ca94a4282428e6ea4af8cc2ca4eac48ac7a6a4ea8f33f76d0ce70926"
+checksum = "b4ac832c50ced444ef6be0767a008b02c106a909ba79d1d830501e94b96f6b7e"
dependencies = [
"crossbeam-channel",
"crossbeam-epoch",
"crossbeam-utils",
- "loom",
+ "equivalent",
"parking_lot",
"portable-atomic",
- "rustc_version",
"smallvec",
"tagptr",
- "thiserror 1.0.69",
"uuid",
]
@@ -4422,9 +4148,9 @@ dependencies = [
[[package]]
name = "n0-snafu"
-version = "0.2.1"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4fed465ff57041f29db78a9adc8864296ef93c6c16029f9e192dc303404ebd0"
+checksum = "1815107e577a95bfccedb4cfabc73d709c0db6d12de3f14e0f284a8c5036dc4f"
dependencies = [
"anyhow",
"btparse",
@@ -4452,14 +4178,14 @@ checksum = "e664971378a3987224f7a0e10059782035e89899ae403718ee07de85bec42afe"
[[package]]
name = "nested_enum_utils"
-version = "0.2.2"
+version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43fa9161ed44d30e9702fe42bd78693bceac0fed02f647da749f36109023d3a3"
+checksum = "b1d5475271bdd36a4a2769eac1ef88df0f99428ea43e52dfd8b0ee5cb674695f"
dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 1.0.109",
+ "syn 2.0.117",
]
[[package]]
@@ -4511,7 +4237,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0800eae8638a299eaa67476e1c6b6692922273e0f7939fd188fc861c837b9cd2"
dependencies = [
"anyhow",
- "bitflags 2.9.1",
+ "bitflags 2.11.0",
"byteorder",
"libc",
"log",
@@ -4542,17 +4268,17 @@ dependencies = [
"log",
"netlink-packet-core",
"netlink-sys",
- "thiserror 2.0.12",
+ "thiserror 2.0.18",
]
[[package]]
name = "netlink-sys"
-version = "0.8.7"
+version = "0.8.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16c903aa70590cb93691bf97a767c8d1d6122d2cc9070433deb3bbf36ce8bd23"
+checksum = "cd6c30ed10fa69cc491d491b85cc971f6bdeb8e7367b7cde2ee6cc878d583fae"
dependencies = [
"bytes",
- "futures",
+ "futures-util",
"libc",
"log",
"tokio",
@@ -4580,14 +4306,14 @@ dependencies = [
"netlink-sys",
"serde",
"snafu",
- "socket2",
+ "socket2 0.5.10",
"time",
"tokio",
"tokio-util",
"tracing",
"web-sys",
- "windows 0.59.0",
- "windows-result",
+ "windows",
+ "windows-result 0.3.4",
"wmi",
]
@@ -4615,23 +4341,17 @@ dependencies = [
"pin-project-lite",
"serde",
"snafu",
- "socket2",
+ "socket2 0.5.10",
"time",
"tokio",
"tokio-util",
"tracing",
"web-sys",
- "windows 0.59.0",
- "windows-result",
+ "windows",
+ "windows-result 0.3.4",
"wmi",
]
-[[package]]
-name = "next_tuple"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60993920e071b0c9b66f14e2b32740a4e27ffc82854dcd72035887f336a09a28"
-
[[package]]
name = "no-std-net"
version = "0.6.0"
@@ -4661,12 +4381,12 @@ dependencies = [
"cbc",
"chacha20",
"chacha20poly1305",
- "getrandom 0.2.16",
+ "getrandom 0.2.17",
"instant",
"js-sys",
"negentropy",
"once_cell",
- "reqwest 0.12.22",
+ "reqwest 0.12.28",
"scrypt",
"serde",
"serde_json",
@@ -4762,7 +4482,7 @@ checksum = "c50f94c405726d3e0095e89e72f75ce7f6587b94a8bd8dc8054b73f65c0fd68c"
dependencies = [
"base32",
"document-features",
- "getrandom 0.2.16",
+ "getrandom 0.2.17",
"httpdate",
"js-sys",
"once_cell",
@@ -4771,12 +4491,11 @@ dependencies = [
[[package]]
name = "nu-ansi-term"
-version = "0.46.0"
+version = "0.50.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
+checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5"
dependencies = [
- "overload",
- "winapi",
+ "windows-sys 0.61.2",
]
[[package]]
@@ -4791,19 +4510,9 @@ dependencies = [
[[package]]
name = "num-conv"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
-
-[[package]]
-name = "num-format"
-version = "0.4.4"
+version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3"
-dependencies = [
- "arrayvec",
- "itoa",
-]
+checksum = "cf97ec579c3c42f953ef76dbf8d55ac91fb219dde70e49aa4a6b7d74e9919050"
[[package]]
name = "num-integer"
@@ -4835,9 +4544,9 @@ dependencies = [
[[package]]
name = "num_enum"
-version = "0.7.4"
+version = "0.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a973b4e44ce6cad84ce69d797acf9a044532e4184c4f267913d1b546a0727b7a"
+checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c"
dependencies = [
"num_enum_derive",
"rustversion",
@@ -4845,14 +4554,14 @@ dependencies = [
[[package]]
name = "num_enum_derive"
-version = "0.7.4"
+version = "0.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77e878c846a8abae00dd069496dbe8751b16ac1c3d6bd2a7283a938e8228f90d"
+checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7"
dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
@@ -4870,22 +4579,30 @@ dependencies = [
]
[[package]]
-name = "object"
-version = "0.36.7"
+name = "objc2-core-foundation"
+version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87"
+checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536"
dependencies = [
- "memchr",
+ "bitflags 2.11.0",
]
[[package]]
-name = "oco_ref"
-version = "0.2.0"
+name = "objc2-system-configuration"
+version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64b94982fe39a861561cf67ff17a7849f2cedadbbad960a797634032b7abb998"
+checksum = "7216bd11cbda54ccabcab84d523dc93b858ec75ecfb3a7d89513fa22464da396"
dependencies = [
- "serde",
- "thiserror 1.0.69",
+ "objc2-core-foundation",
+]
+
+[[package]]
+name = "object"
+version = "0.37.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe"
+dependencies = [
+ "memchr",
]
[[package]]
@@ -4909,9 +4626,9 @@ dependencies = [
[[package]]
name = "once_cell_polyfill"
-version = "1.70.1"
+version = "1.70.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad"
+checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe"
[[package]]
name = "opaque-debug"
@@ -4919,18 +4636,6 @@ version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"
-[[package]]
-name = "or_poisoned"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c04f5d74368e4d0dfe06c45c8627c81bd7c317d52762d118fb9b3076f6420fd"
-
-[[package]]
-name = "overload"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
-
[[package]]
name = "pairing"
version = "0.23.0"
@@ -4965,7 +4670,7 @@ dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
@@ -4976,9 +4681,9 @@ checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba"
[[package]]
name = "parking_lot"
-version = "0.12.4"
+version = "0.12.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13"
+checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a"
dependencies = [
"lock_api",
"parking_lot_core",
@@ -4986,15 +4691,15 @@ dependencies = [
[[package]]
name = "parking_lot_core"
-version = "0.9.11"
+version = "0.9.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5"
+checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1"
dependencies = [
"cfg-if",
"libc",
"redox_syscall",
"smallvec",
- "windows-targets 0.52.6",
+ "windows-link 0.2.1",
]
[[package]]
@@ -5014,12 +4719,6 @@ version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
-[[package]]
-name = "pathdiff"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3"
-
[[package]]
name = "pbkdf2"
version = "0.12.2"
@@ -5032,12 +4731,12 @@ dependencies = [
[[package]]
name = "pem"
-version = "3.0.5"
+version = "3.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38af38e8470ac9dee3ce1bae1af9c1671fffc44ddfd8bd1d0a3445bf349a8ef3"
+checksum = "1d30c53c26bc5b31a98cd02d20f25a7c8567146caf63ed593a9d87b2775291be"
dependencies = [
"base64 0.22.1",
- "serde",
+ "serde_core",
]
[[package]]
@@ -5051,26 +4750,25 @@ dependencies = [
[[package]]
name = "percent-encoding"
-version = "2.3.1"
+version = "2.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
+checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220"
[[package]]
name = "pest"
-version = "2.8.1"
+version = "2.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1db05f56d34358a8b1066f67cbb203ee3e7ed2ba674a6263a1d5ec6db2204323"
+checksum = "e0848c601009d37dfa3430c4666e147e49cdcf1b92ecd3e63657d8a5f19da662"
dependencies = [
"memchr",
- "thiserror 2.0.12",
"ucd-trie",
]
[[package]]
name = "pest_derive"
-version = "2.8.1"
+version = "2.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb056d9e8ea77922845ec74a1c4e8fb17e7c218cc4fc11a15c5d25e189aa40bc"
+checksum = "11f486f1ea21e6c10ed15d5a7c77165d0ee443402f0780849d1768e7d9d6fe77"
dependencies = [
"pest",
"pest_generator",
@@ -5078,22 +4776,22 @@ dependencies = [
[[package]]
name = "pest_generator"
-version = "2.8.1"
+version = "2.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87e404e638f781eb3202dc82db6760c8ae8a1eeef7fb3fa8264b2ef280504966"
+checksum = "8040c4647b13b210a963c1ed407c1ff4fdfa01c31d6d2a098218702e6664f94f"
dependencies = [
"pest",
"pest_meta",
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
name = "pest_meta"
-version = "2.8.1"
+version = "2.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "edd1101f170f5903fde0914f899bb503d9ff5271d7ba76bbb70bea63690cc0d5"
+checksum = "89815c69d36021a140146f26659a81d6c2afa33d216d736dd4be5381a7362220"
dependencies = [
"pest",
"sha2",
@@ -5111,47 +4809,48 @@ dependencies = [
[[package]]
name = "phf"
-version = "0.11.3"
+version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078"
+checksum = "c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf"
dependencies = [
"phf_shared",
+ "serde",
]
[[package]]
name = "phf_shared"
-version = "0.11.3"
+version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5"
+checksum = "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266"
dependencies = [
"siphasher",
]
[[package]]
name = "pin-project"
-version = "1.1.10"
+version = "1.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a"
+checksum = "f1749c7ed4bcaf4c3d0a3efc28538844fb29bcdd7d2b67b2be7e20ba861ff517"
dependencies = [
"pin-project-internal",
]
[[package]]
name = "pin-project-internal"
-version = "1.1.10"
+version = "1.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861"
+checksum = "d9b20ed30f105399776b9c883e68e536ef602a16ae6f596d2c473591d6ad64c6"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
name = "pin-project-lite"
-version = "0.2.16"
+version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b"
+checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd"
[[package]]
name = "pin-utils"
@@ -5161,9 +4860,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
[[package]]
name = "piper"
-version = "0.2.4"
+version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066"
+checksum = "c835479a4443ded371d6c535cbfd8d31ad92c5d23ae9770a61bc155e4992a3c1"
dependencies = [
"atomic-waker",
"fastrand",
@@ -5172,9 +4871,9 @@ dependencies = [
[[package]]
name = "pkarr"
-version = "3.8.0"
+version = "3.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41a50f65a2b97031863fbdff2f085ba832360b4bef3106d1fcff9ab5bf4063fe"
+checksum = "5eb1f2f4311bae1da11f930c804c724c9914cf55ae51a9ee0440fc98826984f7"
dependencies = [
"async-compat",
"base32",
@@ -5185,17 +4884,17 @@ dependencies = [
"ed25519-dalek",
"futures-buffered",
"futures-lite",
- "getrandom 0.2.16",
+ "getrandom 0.2.17",
"log",
"lru 0.13.0",
"mainline",
"ntimestamp",
- "reqwest 0.12.22",
+ "reqwest 0.12.28",
"self_cell",
"serde",
"sha1_smol",
"simple-dns",
- "thiserror 2.0.12",
+ "thiserror 2.0.18",
"tokio",
"tracing",
"url",
@@ -5230,7 +4929,7 @@ dependencies = [
"proc-macro2",
"quote",
"regex",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
@@ -5256,16 +4955,16 @@ dependencies = [
[[package]]
name = "polling"
-version = "3.9.0"
+version = "3.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ee9b2fa7a4517d2c91ff5bc6c297a427a96749d15f98fcdbb22c05571a4d4b7"
+checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218"
dependencies = [
"cfg-if",
"concurrent-queue",
"hermit-abi",
"pin-project-lite",
- "rustix",
- "windows-sys 0.60.2",
+ "rustix 1.1.4",
+ "windows-sys 0.61.2",
]
[[package]]
@@ -5281,9 +4980,9 @@ dependencies = [
[[package]]
name = "portable-atomic"
-version = "1.11.1"
+version = "1.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483"
+checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49"
[[package]]
name = "portmapper"
@@ -5307,7 +5006,7 @@ dependencies = [
"serde",
"smallvec",
"snafu",
- "socket2",
+ "socket2 0.5.10",
"time",
"tokio",
"tokio-util",
@@ -5338,7 +5037,7 @@ dependencies = [
"serde",
"smallvec",
"snafu",
- "socket2",
+ "socket2 0.5.10",
"time",
"tokio",
"tokio-util",
@@ -5353,14 +5052,14 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b122a615d72104fb3d8b26523fdf9232cd8ee06949fb37e4ce3ff964d15dffd"
dependencies = [
- "getrandom 0.2.16",
+ "getrandom 0.2.17",
]
[[package]]
name = "postcard"
-version = "1.1.2"
+version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c1de96e20f51df24ca73cafcc4690e044854d803259db27a00a461cb3b9d17a"
+checksum = "6764c3b5dd454e283a30e6dfe78e9b31096d9e32036b5d1eaac7a6119ccb9a24"
dependencies = [
"cobs",
"embedded-io 0.4.0",
@@ -5372,13 +5071,13 @@ dependencies = [
[[package]]
name = "postcard-derive"
-version = "0.2.1"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68f049d94cb6dda6938cc8a531d2898e7c08d71c6de63d8e67123cca6cdde2cc"
+checksum = "e0232bd009a197ceec9cc881ba46f727fcd8060a2d8d6a9dde7a69030a6fe2bb"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
@@ -5400,14 +5099,14 @@ dependencies = [
"darling",
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
name = "postgres-protocol"
-version = "0.6.8"
+version = "0.6.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76ff0abab4a9b844b93ef7b81f1efc0a366062aaef2cd702c76256b5dc075c54"
+checksum = "3ee9dd5fe15055d2b6806f4736aa0c9637217074e224bbec46d4041b91bb9491"
dependencies = [
"base64 0.22.1",
"byteorder",
@@ -5416,30 +5115,30 @@ dependencies = [
"hmac",
"md-5",
"memchr",
- "rand 0.9.1",
+ "rand 0.9.2",
"sha2",
"stringprep",
]
[[package]]
name = "postgres-types"
-version = "0.2.9"
+version = "0.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "613283563cd90e1dfc3518d548caee47e0e725455ed619881f5cf21f36de4b48"
+checksum = "54b858f82211e84682fecd373f68e1ceae642d8d751a1ebd13f33de6257b3e20"
dependencies = [
"bytes",
"chrono",
"fallible-iterator 0.2.0",
"postgres-protocol",
- "serde",
+ "serde_core",
"serde_json",
]
[[package]]
name = "potential_utf"
-version = "0.1.2"
+version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585"
+checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77"
dependencies = [
"zerovec",
]
@@ -5472,9 +5171,9 @@ dependencies = [
[[package]]
name = "precis-profiles"
-version = "0.1.12"
+version = "0.1.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc4f67f78f50388f03494794766ba824a704db16fb5d400fe8d545fa7bc0d3f1"
+checksum = "31e2768890a47af73a032af9f0cedbddce3c9d06cf8de201d5b8f2436ded7674"
dependencies = [
"lazy_static",
"precis-core",
@@ -5495,19 +5194,19 @@ dependencies = [
[[package]]
name = "prettyplease"
-version = "0.2.35"
+version = "0.2.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "061c1221631e079b26479d25bbf2275bfe5917ae8419cd7e34f13bfc2aa7539a"
+checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b"
dependencies = [
"proc-macro2",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
name = "proc-macro-crate"
-version = "3.3.0"
+version = "3.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35"
+checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983"
dependencies = [
"toml_edit",
]
@@ -5555,57 +5254,32 @@ dependencies = [
"proc-macro-error-attr2",
"proc-macro2",
"quote",
- "syn 2.0.104",
-]
-
-[[package]]
-name = "proc-macro-utils"
-version = "0.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eeaf08a13de400bc215877b5bdc088f241b12eb42f0a548d3390dc1c56bb7071"
-dependencies = [
- "proc-macro2",
- "quote",
- "smallvec",
]
[[package]]
name = "proc-macro2"
-version = "1.0.95"
+version = "1.0.106"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778"
+checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
dependencies = [
"unicode-ident",
]
-[[package]]
-name = "proc-macro2-diagnostics"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.104",
- "version_check",
- "yansi",
-]
-
[[package]]
name = "quinn"
-version = "0.11.8"
+version = "0.11.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "626214629cda6781b6dc1d316ba307189c85ba657213ce642d9c77670f8202c8"
+checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20"
dependencies = [
"bytes",
"cfg_aliases",
"pin-project-lite",
"quinn-proto",
"quinn-udp",
- "rustc-hash",
- "rustls 0.23.29",
- "socket2",
- "thiserror 2.0.12",
+ "rustc-hash 2.1.1",
+ "rustls 0.23.37",
+ "socket2 0.6.2",
+ "thiserror 2.0.18",
"tokio",
"tracing",
"web-time",
@@ -5613,20 +5287,20 @@ dependencies = [
[[package]]
name = "quinn-proto"
-version = "0.11.12"
+version = "0.11.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49df843a9161c85bb8aae55f101bc0bac8bcafd637a620d9122fd7e0b2f7422e"
+checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31"
dependencies = [
"bytes",
- "getrandom 0.3.3",
+ "getrandom 0.3.4",
"lru-slab",
- "rand 0.9.1",
+ "rand 0.9.2",
"ring",
- "rustc-hash",
- "rustls 0.23.29",
+ "rustc-hash 2.1.1",
+ "rustls 0.23.37",
"rustls-pki-types",
"slab",
- "thiserror 2.0.12",
+ "thiserror 2.0.18",
"tinyvec",
"tracing",
"web-time",
@@ -5634,47 +5308,25 @@ dependencies = [
[[package]]
name = "quinn-udp"
-version = "0.5.13"
+version = "0.5.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fcebb1209ee276352ef14ff8732e24cc2b02bbac986cd74a4c81bcb2f9881970"
+checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd"
dependencies = [
"cfg_aliases",
"libc",
"once_cell",
- "socket2",
+ "socket2 0.6.2",
"tracing",
- "windows-sys 0.59.0",
+ "windows-sys 0.60.2",
]
[[package]]
name = "quote"
-version = "1.0.40"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "quote-use"
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9619db1197b497a36178cfc736dc96b271fe918875fbf1344c436a7e93d0321e"
-dependencies = [
- "quote",
- "quote-use-macros",
-]
-
-[[package]]
-name = "quote-use-macros"
-version = "0.8.4"
+version = "1.0.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82ebfb7faafadc06a7ab141a6f67bcfb24cb8beb158c6fe933f2f035afa99f35"
+checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4"
dependencies = [
- "proc-macro-utils",
"proc-macro2",
- "quote",
- "syn 2.0.104",
]
[[package]]
@@ -5712,12 +5364,12 @@ dependencies = [
[[package]]
name = "rand"
-version = "0.9.1"
+version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97"
+checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1"
dependencies = [
"rand_chacha 0.9.0",
- "rand_core 0.9.3",
+ "rand_core 0.9.5",
]
[[package]]
@@ -5737,7 +5389,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
dependencies = [
"ppv-lite86",
- "rand_core 0.9.3",
+ "rand_core 0.9.5",
]
[[package]]
@@ -5746,16 +5398,16 @@ version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
dependencies = [
- "getrandom 0.2.16",
+ "getrandom 0.2.17",
]
[[package]]
name = "rand_core"
-version = "0.9.3"
+version = "0.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38"
+checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c"
dependencies = [
- "getrandom 0.3.3",
+ "getrandom 0.3.4",
]
[[package]]
@@ -5773,7 +5425,7 @@ version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f703f4665700daf5512dcca5f43afa6af89f09db47fb56be587f80636bda2d41"
dependencies = [
- "rand_core 0.9.3",
+ "rand_core 0.9.5",
]
[[package]]
@@ -5790,115 +5442,48 @@ dependencies = [
]
[[package]]
-name = "reactive_graph"
-version = "0.2.3"
+name = "redox_syscall"
+version = "0.5.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c79f7561c7c246e2c2feab3b0b63502b213e589d7768032bbfc5ea7b267140b9"
+checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d"
dependencies = [
- "any_spawner",
- "async-lock",
- "futures",
- "guardian",
- "hydration_context",
- "or_poisoned",
- "pin-project-lite",
- "rustc-hash",
- "rustc_version",
- "send_wrapper 0.6.0",
- "serde",
- "slotmap",
- "thiserror 2.0.12",
- "web-sys",
+ "bitflags 2.11.0",
]
[[package]]
-name = "reactive_stores"
-version = "0.2.3"
+name = "regex"
+version = "1.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9edd67f166cfec4ffc6abf271bada268c13dac0b0318f4c6a76a877490d0617a"
-dependencies = [
- "dashmap",
- "guardian",
- "itertools 0.14.0",
- "or_poisoned",
- "paste",
- "reactive_graph",
- "reactive_stores_macro",
- "rustc-hash",
- "send_wrapper 0.6.0",
-]
-
-[[package]]
-name = "reactive_stores_macro"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2418b703f385f35481737d8f2ccd9ae3de850dd778bce09817f30338f3cb5ca2"
-dependencies = [
- "convert_case 0.8.0",
- "proc-macro-error2",
- "proc-macro2",
- "quote",
- "syn 2.0.104",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.5.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de3a5d9f0aba1dbcec1cc47f0ff94a4b778fe55bca98a6dfa92e4e094e57b1c4"
-dependencies = [
- "bitflags 2.9.1",
-]
-
-[[package]]
-name = "regex"
-version = "1.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
+checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276"
dependencies = [
"aho-corasick",
"memchr",
- "regex-automata 0.4.9",
- "regex-syntax 0.8.5",
+ "regex-automata",
+ "regex-syntax",
]
[[package]]
name = "regex-automata"
-version = "0.1.10"
+version = "0.4.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
-dependencies = [
- "regex-syntax 0.6.29",
-]
-
-[[package]]
-name = "regex-automata"
-version = "0.4.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
+checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f"
dependencies = [
"aho-corasick",
"memchr",
- "regex-syntax 0.8.5",
+ "regex-syntax",
]
[[package]]
name = "regex-lite"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53a49587ad06b26609c52e423de037e7f57f20d53535d66e08c695f347df952a"
-
-[[package]]
-name = "regex-syntax"
-version = "0.6.29"
+version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
+checksum = "cab834c73d247e67f4fae452806d17d3c7501756d98c8808d7c9c7aa7d18f973"
[[package]]
name = "regex-syntax"
-version = "0.8.5"
+version = "0.8.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
+checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a"
[[package]]
name = "reqwest"
@@ -5944,20 +5529,20 @@ dependencies = [
[[package]]
name = "reqwest"
-version = "0.12.22"
+version = "0.12.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbc931937e6ca3a06e3b6c0aa7841849b160a90351d6ab467a8b9b9959767531"
+checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147"
dependencies = [
"base64 0.22.1",
"bytes",
"encoding_rs",
"futures-core",
"futures-util",
- "h2 0.4.11",
- "http 1.3.1",
+ "h2 0.4.13",
+ "http 1.4.0",
"http-body 1.0.1",
"http-body-util",
- "hyper 1.6.0",
+ "hyper 1.8.1",
"hyper-rustls 0.27.7",
"hyper-util",
"js-sys",
@@ -5966,31 +5551,31 @@ dependencies = [
"percent-encoding",
"pin-project-lite",
"quinn",
- "rustls 0.23.29",
+ "rustls 0.23.37",
"rustls-pki-types",
"serde",
"serde_json",
"serde_urlencoded",
"sync_wrapper 1.0.2",
"tokio",
- "tokio-rustls 0.26.2",
+ "tokio-rustls 0.26.4",
"tokio-util",
"tower",
- "tower-http 0.6.6",
+ "tower-http 0.6.8",
"tower-service",
"url",
"wasm-bindgen",
"wasm-bindgen-futures",
"wasm-streams",
"web-sys",
- "webpki-roots 1.0.2",
+ "webpki-roots 1.0.6",
]
[[package]]
name = "resolv-conf"
-version = "0.7.4"
+version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95325155c684b1c89f7765e30bc1c42e4a6da51ca513615660cb8a62ef9a88e3"
+checksum = "1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7"
[[package]]
name = "ring"
@@ -6000,32 +5585,23 @@ checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7"
dependencies = [
"cc",
"cfg-if",
- "getrandom 0.2.16",
+ "getrandom 0.2.17",
"libc",
"untrusted",
"windows-sys 0.52.0",
]
[[package]]
-name = "rstml"
-version = "0.12.1"
+name = "rustc-demangle"
+version = "0.1.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61cf4616de7499fc5164570d40ca4e1b24d231c6833a88bff0fe00725080fd56"
-dependencies = [
- "derive-where",
- "proc-macro2",
- "proc-macro2-diagnostics",
- "quote",
- "syn 2.0.104",
- "syn_derive",
- "thiserror 2.0.12",
-]
+checksum = "b50b8869d9fc858ce7266cce0194bd74df58b9d0e3f6df3a9fc8eb470d95c09d"
[[package]]
-name = "rustc-demangle"
-version = "0.1.25"
+name = "rustc-hash"
+version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "989e6739f80c4ad5b13e0fd7fe89531180375b18520cc8c82080e4dc4035b84f"
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
[[package]]
name = "rustc-hash"
@@ -6053,15 +5629,28 @@ dependencies = [
[[package]]
name = "rustix"
-version = "1.0.8"
+version = "0.38.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8"
+checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154"
dependencies = [
- "bitflags 2.9.1",
+ "bitflags 2.11.0",
"errno",
"libc",
- "linux-raw-sys",
- "windows-sys 0.60.2",
+ "linux-raw-sys 0.4.15",
+ "windows-sys 0.59.0",
+]
+
+[[package]]
+name = "rustix"
+version = "1.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190"
+dependencies = [
+ "bitflags 2.11.0",
+ "errno",
+ "libc",
+ "linux-raw-sys 0.12.1",
+ "windows-sys 0.61.2",
]
[[package]]
@@ -6078,15 +5667,16 @@ dependencies = [
[[package]]
name = "rustls"
-version = "0.23.29"
+version = "0.23.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2491382039b29b9b11ff08b76ff6c97cf287671dbb74f0be44bda389fffe9bd1"
+checksum = "758025cb5fccfd3bc2fd74708fd4682be41d99e5dff73c377c0646c6012c73a4"
dependencies = [
+ "aws-lc-rs",
"log",
"once_cell",
"ring",
"rustls-pki-types",
- "rustls-webpki 0.103.4",
+ "rustls-webpki 0.103.9",
"subtle",
"zeroize",
]
@@ -6102,9 +5692,9 @@ dependencies = [
[[package]]
name = "rustls-pki-types"
-version = "1.12.0"
+version = "1.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79"
+checksum = "be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd"
dependencies = [
"web-time",
"zeroize",
@@ -6133,10 +5723,11 @@ dependencies = [
[[package]]
name = "rustls-webpki"
-version = "0.103.4"
+version = "0.103.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a17884ae0c1b773f1ccd2bd4a8c72f16da897310a98b0e84bf349ad5ead92fc"
+checksum = "d7df23109aa6c1567d1c575b9952556388da57401e4ace1d15f79eedad0d8f53"
dependencies = [
+ "aws-lc-rs",
"ring",
"rustls-pki-types",
"untrusted",
@@ -6144,15 +5735,15 @@ dependencies = [
[[package]]
name = "rustversion"
-version = "1.0.21"
+version = "1.0.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d"
+checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
[[package]]
name = "ryu"
-version = "1.0.20"
+version = "1.0.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
+checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f"
[[package]]
name = "salsa20"
@@ -6163,15 +5754,6 @@ dependencies = [
"cipher",
]
-[[package]]
-name = "same-file"
-version = "1.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
-dependencies = [
- "winapi-util",
-]
-
[[package]]
name = "scoped-tls"
version = "1.0.1"
@@ -6248,7 +5830,7 @@ version = "0.29.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9465315bc9d4566e1724f0fffcbcc446268cb522e60f9a27bcded6b19c108113"
dependencies = [
- "bitcoin_hashes 0.14.0",
+ "bitcoin_hashes 0.14.1",
"rand 0.8.5",
"secp256k1-sys 0.10.1",
"serde",
@@ -6315,15 +5897,15 @@ dependencies = [
[[package]]
name = "self_cell"
-version = "1.2.0"
+version = "1.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f7d95a54511e0c7be3f51e8867aa8cf35148d7b9445d44de2f943e2b206e749"
+checksum = "b12e76d157a900eb52e81bc6e9f3069344290341720e9178cde2407113ac8d89"
[[package]]
name = "semver"
-version = "1.0.26"
+version = "1.0.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0"
+checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2"
[[package]]
name = "send_wrapper"
@@ -6336,16 +5918,14 @@ name = "send_wrapper"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73"
-dependencies = [
- "futures-core",
-]
[[package]]
name = "serde"
-version = "1.0.219"
+version = "1.0.228"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
+checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
dependencies = [
+ "serde_core",
"serde_derive",
]
@@ -6370,65 +5950,57 @@ dependencies = [
[[package]]
name = "serde_bytes"
-version = "0.11.17"
+version = "0.11.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8437fd221bde2d4ca316d61b90e337e9e702b3820b87d63caa9ba6c02bd06d96"
+checksum = "a5d440709e79d88e51ac01c4b72fc6cb7314017bb7da9eeff678aa94c10e3ea8"
dependencies = [
"serde",
+ "serde_core",
+]
+
+[[package]]
+name = "serde_core"
+version = "1.0.228"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
+dependencies = [
+ "serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.219"
+version = "1.0.228"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
+checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
name = "serde_json"
-version = "1.0.141"
+version = "1.0.149"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30b9eff21ebe718216c6ec64e1d9ac57087aad11efc64e32002bce4a0d4c03d3"
+checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86"
dependencies = [
"indexmap",
"itoa",
"memchr",
- "ryu",
"serde",
+ "serde_core",
+ "zmij",
]
[[package]]
name = "serde_path_to_error"
-version = "0.1.17"
+version = "0.1.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59fab13f937fa393d08645bf3a84bdfe86e296747b506ada67bb15f10f218b2a"
+checksum = "10a9ff822e371bb5403e391ecd83e182e0e77ba7f6fe0160b795797109d1b457"
dependencies = [
"itoa",
"serde",
-]
-
-[[package]]
-name = "serde_qs"
-version = "0.15.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3faaf9e727533a19351a43cc5a8de957372163c7d35cc48c90b75cdda13c352"
-dependencies = [
- "percent-encoding",
- "serde",
- "thiserror 2.0.12",
-]
-
-[[package]]
-name = "serde_spanned"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "40734c41988f7306bb04f0ecf60ec0f3f1caa34290e4e8ea471dcd3346483b83"
-dependencies = [
- "serde",
+ "serde_core",
]
[[package]]
@@ -6453,64 +6025,6 @@ dependencies = [
"serde",
]
-[[package]]
-name = "server_fn"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c27fbd25ecc066481e383e2ed62ab2480e708aa3fe46cba36e95f58e61dfd04"
-dependencies = [
- "base64 0.22.1",
- "bytes",
- "const-str",
- "const_format",
- "dashmap",
- "futures",
- "gloo-net",
- "http 1.3.1",
- "js-sys",
- "pin-project-lite",
- "rustc_version",
- "rustversion",
- "send_wrapper 0.6.0",
- "serde",
- "serde_json",
- "serde_qs",
- "server_fn_macro_default",
- "thiserror 2.0.12",
- "throw_error",
- "url",
- "wasm-bindgen",
- "wasm-bindgen-futures",
- "wasm-streams",
- "web-sys",
- "xxhash-rust",
-]
-
-[[package]]
-name = "server_fn_macro"
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb49d7bd176738e31d6ebb0e821e8dc1ffb0560b0b88f050ac965e67f5fc8315"
-dependencies = [
- "const_format",
- "convert_case 0.8.0",
- "proc-macro2",
- "quote",
- "rustc_version",
- "syn 2.0.104",
- "xxhash-rust",
-]
-
-[[package]]
-name = "server_fn_macro_default"
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3bcd78e5bf1bd14642d2504e6de7942fa73acc40359eb0aae0876ae88d86491b"
-dependencies = [
- "server_fn_macro",
- "syn 2.0.104",
-]
-
[[package]]
name = "sha1"
version = "0.10.6"
@@ -6566,10 +6080,11 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
[[package]]
name = "signal-hook-registry"
-version = "1.4.5"
+version = "1.4.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410"
+checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b"
dependencies = [
+ "errno",
"libc",
]
@@ -6594,26 +6109,26 @@ version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dee851d0e5e7af3721faea1843e8015e820a234f81fda3dea9247e15bac9a86a"
dependencies = [
- "bitflags 2.9.1",
+ "bitflags 2.11.0",
]
[[package]]
name = "siphasher"
-version = "1.0.1"
+version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d"
+checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e"
[[package]]
name = "slab"
-version = "0.4.10"
+version = "0.4.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04dc19736151f35336d325007ac991178d504a119863a2fcb3758cdb5e52c50d"
+checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5"
[[package]]
name = "slotmap"
-version = "1.0.7"
+version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a"
+checksum = "bdd58c3c93c3d278ca835519292445cb4b0d4dc59ccfdf7ceadaab3f8aeb4038"
dependencies = [
"version_check",
]
@@ -6626,9 +6141,9 @@ checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
[[package]]
name = "snafu"
-version = "0.8.6"
+version = "0.8.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "320b01e011bf8d5d7a4a4a4be966d9160968935849c83b918827f6a435e7f627"
+checksum = "6e84b3f4eacbf3a1ce05eac6763b4d629d60cbc94d632e4092c54ade71f1e1a2"
dependencies = [
"backtrace",
"snafu-derive",
@@ -6636,14 +6151,14 @@ dependencies = [
[[package]]
name = "snafu-derive"
-version = "0.8.6"
+version = "0.8.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1961e2ef424c1424204d3a5d6975f934f56b6d50ff5732382d84ebf460e147f7"
+checksum = "c1c97747dbf44bb1ca44a561ece23508e99cb592e862f22222dcf42f51d1e451"
dependencies = [
"heck",
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
@@ -6656,6 +6171,16 @@ dependencies = [
"windows-sys 0.52.0",
]
+[[package]]
+name = "socket2"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86f4aa3ad99f2088c990dfa82d367e19cb29268ed67c574d10d0a4bfe71f07e0"
+dependencies = [
+ "libc",
+ "windows-sys 0.60.2",
+]
+
[[package]]
name = "soketto"
version = "0.8.1"
@@ -6680,6 +6205,12 @@ dependencies = [
"lock_api",
]
+[[package]]
+name = "spin"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d5fe4ccb98d9c292d56fec89a5e07da7fc4cf0dc11e156b41793132775d3e591"
+
[[package]]
name = "spki"
version = "0.7.3"
@@ -6707,9 +6238,9 @@ dependencies = [
[[package]]
name = "stable_deref_trait"
-version = "1.2.0"
+version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
+checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596"
[[package]]
name = "stringprep"
@@ -6756,7 +6287,7 @@ dependencies = [
"proc-macro2",
"quote",
"rustversion",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
@@ -6768,7 +6299,7 @@ dependencies = [
"heck",
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
@@ -6792,7 +6323,7 @@ dependencies = [
"precis-core",
"precis-profiles",
"quoted-string-parser",
- "rand 0.9.1",
+ "rand 0.9.2",
]
[[package]]
@@ -6803,15 +6334,15 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
[[package]]
name = "surge-ping"
-version = "0.8.2"
+version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fda78103d8016bb25c331ddc54af634e801806463682cc3e549d335df644d95"
+checksum = "30498e9c9feba213c3df6ed675bdf75519ccbee493517e7225305898c86cac05"
dependencies = [
"hex",
"parking_lot",
"pnet_packet",
- "rand 0.9.1",
- "socket2",
+ "rand 0.9.2",
+ "socket2 0.6.2",
"thiserror 1.0.69",
"tokio",
"tracing",
@@ -6824,33 +6355,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
dependencies = [
"proc-macro2",
- "quote",
"unicode-ident",
]
[[package]]
name = "syn"
-version = "2.0.104"
+version = "2.0.117"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40"
+checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
-[[package]]
-name = "syn_derive"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdb066a04799e45f5d582e8fc6ec8e6d6896040d00898eb4e6a835196815b219"
-dependencies = [
- "proc-macro-error2",
- "proc-macro2",
- "quote",
- "syn 2.0.104",
-]
-
[[package]]
name = "sync_wrapper"
version = "0.1.2"
@@ -6874,7 +6392,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
@@ -6894,7 +6412,7 @@ version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b"
dependencies = [
- "bitflags 2.9.1",
+ "bitflags 2.11.0",
"core-foundation",
"system-configuration-sys 0.6.0",
]
@@ -6919,40 +6437,6 @@ dependencies = [
"libc",
]
-[[package]]
-name = "tachys"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d706b2ab0fa7e14b878d638faee3dafed08a2ab9ff7f116ad2445cce04bfaaa"
-dependencies = [
- "any_spawner",
- "async-trait",
- "const_str_slice_concat",
- "drain_filter_polyfill",
- "either_of",
- "erased",
- "futures",
- "html-escape",
- "indexmap",
- "itertools 0.14.0",
- "js-sys",
- "linear-map",
- "next_tuple",
- "oco_ref",
- "or_poisoned",
- "parking_lot",
- "paste",
- "reactive_graph",
- "reactive_stores",
- "rustc-hash",
- "rustc_version",
- "send_wrapper 0.6.0",
- "slotmap",
- "throw_error",
- "wasm-bindgen",
- "web-sys",
-]
-
[[package]]
name = "tagptr"
version = "0.2.0"
@@ -6985,11 +6469,11 @@ dependencies = [
[[package]]
name = "thiserror"
-version = "2.0.12"
+version = "2.0.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708"
+checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4"
dependencies = [
- "thiserror-impl 2.0.12",
+ "thiserror-impl 2.0.18",
]
[[package]]
@@ -7000,18 +6484,18 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
name = "thiserror-impl"
-version = "2.0.12"
+version = "2.0.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d"
+checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
@@ -7023,42 +6507,33 @@ dependencies = [
"cfg-if",
]
-[[package]]
-name = "throw_error"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41e42a6afdde94f3e656fae18f837cb9bbe500a5ac5de325b09f3ec05b9c28e3"
-dependencies = [
- "pin-project-lite",
-]
-
[[package]]
name = "time"
-version = "0.3.41"
+version = "0.3.47"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40"
+checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c"
dependencies = [
"deranged",
"itoa",
"js-sys",
"num-conv",
"powerfmt",
- "serde",
+ "serde_core",
"time-core",
"time-macros",
]
[[package]]
name = "time-core"
-version = "0.1.4"
+version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c"
+checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca"
[[package]]
name = "time-macros"
-version = "0.2.22"
+version = "0.2.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49"
+checksum = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215"
dependencies = [
"num-conv",
"time-core",
@@ -7075,9 +6550,9 @@ dependencies = [
[[package]]
name = "tinystr"
-version = "0.8.1"
+version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b"
+checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869"
dependencies = [
"displaydoc",
"zerovec",
@@ -7085,9 +6560,9 @@ dependencies = [
[[package]]
name = "tinyvec"
-version = "1.9.0"
+version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71"
+checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa"
dependencies = [
"tinyvec_macros",
]
@@ -7100,41 +6575,38 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokio"
-version = "1.46.1"
+version = "1.49.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0cc3a2344dafbe23a245241fe8b09735b521110d30fcefbbd5feb1797ca35d17"
+checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86"
dependencies = [
- "backtrace",
"bytes",
- "io-uring",
"libc",
"mio",
"parking_lot",
"pin-project-lite",
"signal-hook-registry",
- "slab",
- "socket2",
+ "socket2 0.6.2",
"tokio-macros",
"tracing",
- "windows-sys 0.52.0",
+ "windows-sys 0.61.2",
]
[[package]]
name = "tokio-macros"
-version = "2.5.0"
+version = "2.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8"
+checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
name = "tokio-postgres"
-version = "0.7.13"
+version = "0.7.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c95d533c83082bb6490e0189acaa0bbeef9084e60471b696ca6988cd0541fb0"
+checksum = "dcea47c8f71744367793f16c2db1f11cb859d28f436bdb4ca9193eb1f787ee42"
dependencies = [
"async-trait",
"byteorder",
@@ -7149,8 +6621,8 @@ dependencies = [
"pin-project-lite",
"postgres-protocol",
"postgres-types",
- "rand 0.9.1",
- "socket2",
+ "rand 0.9.2",
+ "socket2 0.6.2",
"tokio",
"tokio-util",
"whoami",
@@ -7168,11 +6640,11 @@ dependencies = [
[[package]]
name = "tokio-rustls"
-version = "0.26.2"
+version = "0.26.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b"
+checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61"
dependencies = [
- "rustls 0.23.29",
+ "rustls 0.23.37",
"tokio",
]
@@ -7190,9 +6662,9 @@ dependencies = [
[[package]]
name = "tokio-stream"
-version = "0.1.17"
+version = "0.1.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047"
+checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70"
dependencies = [
"futures-core",
"pin-project-lite",
@@ -7208,26 +6680,25 @@ checksum = "c6989540ced10490aaf14e6bad2e3d33728a2813310a0c71d1574304c49631cd"
dependencies = [
"futures-util",
"log",
- "rustls 0.23.29",
+ "rustls 0.23.37",
"rustls-pki-types",
"tokio",
- "tokio-rustls 0.26.2",
+ "tokio-rustls 0.26.4",
"tungstenite",
"webpki-roots 0.26.11",
]
[[package]]
name = "tokio-util"
-version = "0.7.15"
+version = "0.7.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df"
+checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098"
dependencies = [
"bytes",
"futures-core",
"futures-io",
"futures-sink",
"futures-util",
- "hashbrown 0.15.4",
"pin-project-lite",
"tokio",
]
@@ -7242,71 +6713,53 @@ dependencies = [
"bytes",
"futures-core",
"futures-sink",
- "getrandom 0.3.3",
- "http 1.3.1",
+ "getrandom 0.3.4",
+ "http 1.4.0",
"httparse",
- "rand 0.9.1",
+ "rand 0.9.2",
"ring",
"rustls-pki-types",
"simdutf8",
"tokio",
- "tokio-rustls 0.26.2",
+ "tokio-rustls 0.26.4",
"tokio-util",
]
-[[package]]
-name = "toml"
-version = "0.9.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed0aee96c12fa71097902e0bb061a5e1ebd766a6636bb605ba401c45c1650eac"
-dependencies = [
- "serde",
- "serde_spanned",
- "toml_datetime 0.7.0",
- "toml_parser",
- "winnow",
-]
-
[[package]]
name = "toml_datetime"
-version = "0.6.11"
+version = "0.7.5+spec-1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c"
-
-[[package]]
-name = "toml_datetime"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bade1c3e902f58d73d3f294cd7f20391c1cb2fbcb643b73566bc773971df91e3"
+checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347"
dependencies = [
- "serde",
+ "serde_core",
]
[[package]]
name = "toml_edit"
-version = "0.22.27"
+version = "0.23.10+spec-1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a"
+checksum = "84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269"
dependencies = [
"indexmap",
- "toml_datetime 0.6.11",
+ "toml_datetime",
+ "toml_parser",
"winnow",
]
[[package]]
name = "toml_parser"
-version = "1.0.1"
+version = "1.0.9+spec-1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97200572db069e74c512a14117b296ba0a80a30123fbbb5aa1f4a348f639ca30"
+checksum = "702d4415e08923e7e1ef96cd5727c0dfed80b4d2fa25db9647fe5eb6f7c5a4c4"
dependencies = [
"winnow",
]
[[package]]
name = "tower"
-version = "0.5.2"
+version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9"
+checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4"
dependencies = [
"futures-core",
"futures-util",
@@ -7324,9 +6777,9 @@ version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5"
dependencies = [
- "bitflags 2.9.1",
+ "bitflags 2.11.0",
"bytes",
- "http 1.3.1",
+ "http 1.4.0",
"http-body 1.0.1",
"http-body-util",
"pin-project-lite",
@@ -7336,14 +6789,14 @@ dependencies = [
[[package]]
name = "tower-http"
-version = "0.6.6"
+version = "0.6.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2"
+checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8"
dependencies = [
- "bitflags 2.9.1",
+ "bitflags 2.11.0",
"bytes",
"futures-util",
- "http 1.3.1",
+ "http 1.4.0",
"http-body 1.0.1",
"iri-string",
"pin-project-lite",
@@ -7366,9 +6819,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3"
[[package]]
name = "tracing"
-version = "0.1.41"
+version = "0.1.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0"
+checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100"
dependencies = [
"log",
"pin-project-lite",
@@ -7378,20 +6831,20 @@ dependencies = [
[[package]]
name = "tracing-attributes"
-version = "0.1.30"
+version = "0.1.31"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903"
+checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
name = "tracing-core"
-version = "0.1.34"
+version = "0.1.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678"
+checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a"
dependencies = [
"once_cell",
"valuable",
@@ -7420,14 +6873,14 @@ dependencies = [
[[package]]
name = "tracing-subscriber"
-version = "0.3.19"
+version = "0.3.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008"
+checksum = "2f30143827ddab0d256fd843b7a66d164e9f271cfa0dde49142c5ca0ca291f1e"
dependencies = [
"matchers",
"nu-ansi-term",
"once_cell",
- "regex",
+ "regex-automata",
"sharded-slab",
"smallvec",
"thread_local",
@@ -7436,17 +6889,6 @@ dependencies = [
"tracing-log",
]
-[[package]]
-name = "tracing-wasm"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4575c663a174420fa2d78f4108ff68f65bf2fbb7dd89f33749b6e826b3626e07"
-dependencies = [
- "tracing",
- "tracing-subscriber",
- "wasm-bindgen",
-]
-
[[package]]
name = "try-lock"
version = "0.2.5"
@@ -7462,37 +6904,17 @@ dependencies = [
"byteorder",
"bytes",
"data-encoding",
- "http 1.3.1",
+ "http 1.4.0",
"httparse",
"log",
"rand 0.8.5",
- "rustls 0.23.29",
+ "rustls 0.23.37",
"rustls-pki-types",
"sha1",
"thiserror 1.0.69",
"utf-8",
]
-[[package]]
-name = "typed-builder"
-version = "0.21.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce63bcaf7e9806c206f7d7b9c1f38e0dce8bb165a80af0898161058b19248534"
-dependencies = [
- "typed-builder-macro",
-]
-
-[[package]]
-name = "typed-builder-macro"
-version = "0.21.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60d8d828da2a3d759d3519cdf29a5bac49c77d039ad36d0782edadbf9cd5415b"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.104",
-]
-
[[package]]
name = "typeid"
version = "1.0.3"
@@ -7501,9 +6923,9 @@ checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c"
[[package]]
name = "typenum"
-version = "1.18.0"
+version = "1.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f"
+checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb"
[[package]]
name = "ucd-parse"
@@ -7520,24 +6942,6 @@ version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971"
-[[package]]
-name = "unic-langid"
-version = "0.9.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a28ba52c9b05311f4f6e62d5d9d46f094bd6e84cb8df7b3ef952748d752a7d05"
-dependencies = [
- "unic-langid-impl",
-]
-
-[[package]]
-name = "unic-langid-impl"
-version = "0.9.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dce1bf08044d4b7a94028c93786f8566047edc11110595914de93362559bc658"
-dependencies = [
- "tinystr",
-]
-
[[package]]
name = "unicode-bidi"
version = "0.3.18"
@@ -7546,30 +6950,24 @@ checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5"
[[package]]
name = "unicode-ident"
-version = "1.0.18"
+version = "1.0.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
+checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
[[package]]
name = "unicode-normalization"
-version = "0.1.24"
+version = "0.1.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956"
+checksum = "5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8"
dependencies = [
"tinyvec",
]
[[package]]
name = "unicode-properties"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0"
-
-[[package]]
-name = "unicode-segmentation"
-version = "1.12.0"
+version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493"
+checksum = "7df058c713841ad818f1dc5d3fd88063241cc61f49f5fbea4b951e8cf5a8d71d"
[[package]]
name = "unicode-xid"
@@ -7595,14 +6993,15 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
[[package]]
name = "url"
-version = "2.5.4"
+version = "2.5.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60"
+checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed"
dependencies = [
"form_urlencoded",
"idna",
"percent-encoding",
"serde",
+ "serde_derive",
]
[[package]]
@@ -7611,12 +7010,6 @@ version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
-[[package]]
-name = "utf8-width"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3"
-
[[package]]
name = "utf8_iter"
version = "1.0.4"
@@ -7631,11 +7024,11 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
[[package]]
name = "uuid"
-version = "1.17.0"
+version = "1.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3cf4199d1e5d15ddd86a694e4d0dffa9c323ce759fea589f00fef9d81cc1931d"
+checksum = "b672338555252d43fd2240c714dc444b8c6fb0a5c5335e65a07bba7742735ddb"
dependencies = [
- "getrandom 0.3.3",
+ "getrandom 0.4.1",
"js-sys",
"wasm-bindgen",
]
@@ -7648,9 +7041,9 @@ checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65"
[[package]]
name = "value-bag"
-version = "1.11.1"
+version = "1.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "943ce29a8a743eb10d6082545d861b24f9d1b160b7d741e0f2cdf726bec909c5"
+checksum = "7ba6f5989077681266825251a52748b8c1d8a4ad098cc37e440103d0ea717fc0"
[[package]]
name = "version_check"
@@ -7658,16 +7051,6 @@ version = "0.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
-[[package]]
-name = "walkdir"
-version = "2.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
-dependencies = [
- "same-file",
- "winapi-util",
-]
-
[[package]]
name = "want"
version = "0.3.1"
@@ -7685,52 +7068,61 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
[[package]]
name = "wasi"
-version = "0.14.2+wasi-0.2.4"
+version = "0.14.7+wasi-0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "883478de20367e224c0090af9cf5f9fa85bed63a95c1abf3afc5c083ebc06e8c"
+dependencies = [
+ "wasip2",
+]
+
+[[package]]
+name = "wasip2"
+version = "1.0.2+wasi-0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5"
+dependencies = [
+ "wit-bindgen",
+]
+
+[[package]]
+name = "wasip3"
+version = "0.4.0+wasi-0.3.0-rc-2026-01-06"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3"
+checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5"
dependencies = [
- "wit-bindgen-rt",
+ "wit-bindgen",
]
[[package]]
name = "wasite"
-version = "0.1.0"
+version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b"
+checksum = "66fe902b4a6b8028a753d5424909b764ccf79b7a209eac9bf97e59cda9f71a42"
+dependencies = [
+ "wasi 0.14.7+wasi-0.2.4",
+]
[[package]]
name = "wasm-bindgen"
-version = "0.2.100"
+version = "0.2.114"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5"
+checksum = "6532f9a5c1ece3798cb1c2cfdba640b9b3ba884f5db45973a6f442510a87d38e"
dependencies = [
"cfg-if",
"once_cell",
"rustversion",
"wasm-bindgen-macro",
-]
-
-[[package]]
-name = "wasm-bindgen-backend"
-version = "0.2.100"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6"
-dependencies = [
- "bumpalo",
- "log",
- "proc-macro2",
- "quote",
- "syn 2.0.104",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-futures"
-version = "0.4.50"
+version = "0.4.64"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61"
+checksum = "e9c5522b3a28661442748e09d40924dfb9ca614b21c00d3fd135720e48b67db8"
dependencies = [
"cfg-if",
+ "futures-util",
"js-sys",
"once_cell",
"wasm-bindgen",
@@ -7739,9 +7131,9 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro"
-version = "0.2.100"
+version = "0.2.114"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407"
+checksum = "18a2d50fcf105fb33bb15f00e7a77b772945a2ee45dcf454961fd843e74c18e6"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@@ -7749,26 +7141,48 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
-version = "0.2.100"
+version = "0.2.114"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de"
+checksum = "03ce4caeaac547cdf713d280eda22a730824dd11e6b8c3ca9e42247b25c631e3"
dependencies = [
+ "bumpalo",
"proc-macro2",
"quote",
- "syn 2.0.104",
- "wasm-bindgen-backend",
+ "syn 2.0.117",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-shared"
-version = "0.2.100"
+version = "0.2.114"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d"
+checksum = "75a326b8c223ee17883a4251907455a2431acc2791c98c26279376490c378c16"
dependencies = [
"unicode-ident",
]
+[[package]]
+name = "wasm-encoder"
+version = "0.244.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319"
+dependencies = [
+ "leb128fmt",
+ "wasmparser",
+]
+
+[[package]]
+name = "wasm-metadata"
+version = "0.244.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909"
+dependencies = [
+ "anyhow",
+ "indexmap",
+ "wasm-encoder",
+ "wasmparser",
+]
+
[[package]]
name = "wasm-streams"
version = "0.4.2"
@@ -7782,11 +7196,23 @@ dependencies = [
"web-sys",
]
+[[package]]
+name = "wasmparser"
+version = "0.244.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe"
+dependencies = [
+ "bitflags 2.11.0",
+ "hashbrown 0.15.5",
+ "indexmap",
+ "semver",
+]
+
[[package]]
name = "web-sys"
-version = "0.3.77"
+version = "0.3.91"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2"
+checksum = "854ba17bb104abfb26ba36da9729addc7ce7f06f5c0f90f3c391f8461cca21f9"
dependencies = [
"js-sys",
"wasm-bindgen",
@@ -7814,34 +7240,48 @@ version = "0.26.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9"
dependencies = [
- "webpki-roots 1.0.2",
+ "webpki-roots 1.0.6",
]
[[package]]
name = "webpki-roots"
-version = "1.0.2"
+version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e8983c3ab33d6fb807cfcdad2491c4ea8cbc8ed839181c7dfd9c67c83e261b2"
+checksum = "22cfaf3c063993ff62e73cb4311efde4db1efb31ab78a3e5c457939ad5cc0bed"
dependencies = [
"rustls-pki-types",
]
+[[package]]
+name = "which"
+version = "4.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"
+dependencies = [
+ "either",
+ "home",
+ "once_cell",
+ "rustix 0.38.44",
+]
+
[[package]]
name = "whoami"
-version = "1.6.0"
+version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6994d13118ab492c3c80c1f81928718159254c53c472bf9ce36f8dae4add02a7"
+checksum = "d6a5b12f9df4f978d2cfdb1bd3bac52433f44393342d7ee9c25f5a1c14c0f45d"
dependencies = [
- "redox_syscall",
+ "libc",
+ "libredox",
+ "objc2-system-configuration",
"wasite",
"web-sys",
]
[[package]]
name = "widestring"
-version = "1.2.0"
+version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd7cf3379ca1aac9eea11fba24fd7e315d621f8dfe35c8d7d2be8b793726e07d"
+checksum = "72069c3113ab32ab29e5584db3c6ec55d416895e60715417b5b883a357c3e471"
[[package]]
name = "winapi"
@@ -7861,11 +7301,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
[[package]]
name = "winapi-util"
-version = "0.1.9"
+version = "0.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
+checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
dependencies = [
- "windows-sys 0.59.0",
+ "windows-sys 0.61.2",
]
[[package]]
@@ -7881,29 +7321,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f919aee0a93304be7f62e8e5027811bbba96bcb1de84d6618be56e43f8a32a1"
dependencies = [
"windows-core 0.59.0",
- "windows-targets 0.53.2",
-]
-
-[[package]]
-name = "windows"
-version = "0.61.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893"
-dependencies = [
- "windows-collections",
- "windows-core 0.61.2",
- "windows-future",
- "windows-link",
- "windows-numerics",
-]
-
-[[package]]
-name = "windows-collections"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8"
-dependencies = [
- "windows-core 0.61.2",
+ "windows-targets 0.53.5",
]
[[package]]
@@ -7914,33 +7332,22 @@ checksum = "810ce18ed2112484b0d4e15d022e5f598113e220c53e373fb31e67e21670c1ce"
dependencies = [
"windows-implement 0.59.0",
"windows-interface",
- "windows-result",
+ "windows-result 0.3.4",
"windows-strings 0.3.1",
- "windows-targets 0.53.2",
+ "windows-targets 0.53.5",
]
[[package]]
name = "windows-core"
-version = "0.61.2"
+version = "0.62.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3"
+checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb"
dependencies = [
- "windows-implement 0.60.0",
+ "windows-implement 0.60.2",
"windows-interface",
- "windows-link",
- "windows-result",
- "windows-strings 0.4.2",
-]
-
-[[package]]
-name = "windows-future"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e"
-dependencies = [
- "windows-core 0.61.2",
- "windows-link",
- "windows-threading",
+ "windows-link 0.2.1",
+ "windows-result 0.4.1",
+ "windows-strings 0.5.1",
]
[[package]]
@@ -7951,29 +7358,29 @@ checksum = "83577b051e2f49a058c308f17f273b570a6a758386fc291b5f6a934dd84e48c1"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
name = "windows-implement"
-version = "0.60.0"
+version = "0.60.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836"
+checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
name = "windows-interface"
-version = "0.59.1"
+version = "0.59.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8"
+checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
@@ -7983,14 +7390,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a"
[[package]]
-name = "windows-numerics"
-version = "0.2.0"
+name = "windows-link"
+version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1"
-dependencies = [
- "windows-core 0.61.2",
- "windows-link",
-]
+checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
[[package]]
name = "windows-result"
@@ -7998,7 +7401,16 @@ version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6"
dependencies = [
- "windows-link",
+ "windows-link 0.1.3",
+]
+
+[[package]]
+name = "windows-result"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5"
+dependencies = [
+ "windows-link 0.2.1",
]
[[package]]
@@ -8007,16 +7419,16 @@ version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319"
dependencies = [
- "windows-link",
+ "windows-link 0.1.3",
]
[[package]]
name = "windows-strings"
-version = "0.4.2"
+version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57"
+checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091"
dependencies = [
- "windows-link",
+ "windows-link 0.2.1",
]
[[package]]
@@ -8052,7 +7464,16 @@ version = "0.60.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb"
dependencies = [
- "windows-targets 0.53.2",
+ "windows-targets 0.53.5",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.61.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
+dependencies = [
+ "windows-link 0.2.1",
]
[[package]]
@@ -8088,27 +7509,19 @@ dependencies = [
[[package]]
name = "windows-targets"
-version = "0.53.2"
+version = "0.53.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef"
+checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3"
dependencies = [
- "windows_aarch64_gnullvm 0.53.0",
- "windows_aarch64_msvc 0.53.0",
- "windows_i686_gnu 0.53.0",
- "windows_i686_gnullvm 0.53.0",
- "windows_i686_msvc 0.53.0",
- "windows_x86_64_gnu 0.53.0",
- "windows_x86_64_gnullvm 0.53.0",
- "windows_x86_64_msvc 0.53.0",
-]
-
-[[package]]
-name = "windows-threading"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6"
-dependencies = [
- "windows-link",
+ "windows-link 0.2.1",
+ "windows_aarch64_gnullvm 0.53.1",
+ "windows_aarch64_msvc 0.53.1",
+ "windows_i686_gnu 0.53.1",
+ "windows_i686_gnullvm 0.53.1",
+ "windows_i686_msvc 0.53.1",
+ "windows_x86_64_gnu 0.53.1",
+ "windows_x86_64_gnullvm 0.53.1",
+ "windows_x86_64_msvc 0.53.1",
]
[[package]]
@@ -8125,9 +7538,9 @@ checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
[[package]]
name = "windows_aarch64_gnullvm"
-version = "0.53.0"
+version = "0.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764"
+checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53"
[[package]]
name = "windows_aarch64_msvc"
@@ -8143,9 +7556,9 @@ checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
[[package]]
name = "windows_aarch64_msvc"
-version = "0.53.0"
+version = "0.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c"
+checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006"
[[package]]
name = "windows_i686_gnu"
@@ -8161,9 +7574,9 @@ checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
[[package]]
name = "windows_i686_gnu"
-version = "0.53.0"
+version = "0.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3"
+checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3"
[[package]]
name = "windows_i686_gnullvm"
@@ -8173,9 +7586,9 @@ checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
[[package]]
name = "windows_i686_gnullvm"
-version = "0.53.0"
+version = "0.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11"
+checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c"
[[package]]
name = "windows_i686_msvc"
@@ -8191,9 +7604,9 @@ checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
[[package]]
name = "windows_i686_msvc"
-version = "0.53.0"
+version = "0.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d"
+checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2"
[[package]]
name = "windows_x86_64_gnu"
@@ -8209,9 +7622,9 @@ checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
[[package]]
name = "windows_x86_64_gnu"
-version = "0.53.0"
+version = "0.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba"
+checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499"
[[package]]
name = "windows_x86_64_gnullvm"
@@ -8227,9 +7640,9 @@ checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
[[package]]
name = "windows_x86_64_gnullvm"
-version = "0.53.0"
+version = "0.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57"
+checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1"
[[package]]
name = "windows_x86_64_msvc"
@@ -8245,15 +7658,15 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
[[package]]
name = "windows_x86_64_msvc"
-version = "0.53.0"
+version = "0.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486"
+checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650"
[[package]]
name = "winnow"
-version = "0.7.12"
+version = "0.7.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3edebf492c8125044983378ecb5766203ad3b4c2f7a922bd7dd207f6d443e95"
+checksum = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829"
dependencies = [
"memchr",
]
@@ -8269,12 +7682,91 @@ dependencies = [
]
[[package]]
-name = "wit-bindgen-rt"
-version = "0.39.0"
+name = "wit-bindgen"
+version = "0.51.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5"
+dependencies = [
+ "wit-bindgen-rust-macro",
+]
+
+[[package]]
+name = "wit-bindgen-core"
+version = "0.51.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc"
+dependencies = [
+ "anyhow",
+ "heck",
+ "wit-parser",
+]
+
+[[package]]
+name = "wit-bindgen-rust"
+version = "0.51.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21"
+dependencies = [
+ "anyhow",
+ "heck",
+ "indexmap",
+ "prettyplease",
+ "syn 2.0.117",
+ "wasm-metadata",
+ "wit-bindgen-core",
+ "wit-component",
+]
+
+[[package]]
+name = "wit-bindgen-rust-macro"
+version = "0.51.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1"
+checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a"
dependencies = [
- "bitflags 2.9.1",
+ "anyhow",
+ "prettyplease",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.117",
+ "wit-bindgen-core",
+ "wit-bindgen-rust",
+]
+
+[[package]]
+name = "wit-component"
+version = "0.244.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2"
+dependencies = [
+ "anyhow",
+ "bitflags 2.11.0",
+ "indexmap",
+ "log",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "wasm-encoder",
+ "wasm-metadata",
+ "wasmparser",
+ "wit-parser",
+]
+
+[[package]]
+name = "wit-parser"
+version = "0.244.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736"
+dependencies = [
+ "anyhow",
+ "id-arena",
+ "indexmap",
+ "log",
+ "semver",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "unicode-xid",
+ "wasmparser",
]
[[package]]
@@ -8287,16 +7779,16 @@ dependencies = [
"futures",
"log",
"serde",
- "thiserror 2.0.12",
- "windows 0.59.0",
+ "thiserror 2.0.18",
+ "windows",
"windows-core 0.59.0",
]
[[package]]
name = "writeable"
-version = "0.6.1"
+version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb"
+checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9"
[[package]]
name = "ws_stream_wasm"
@@ -8311,7 +7803,7 @@ dependencies = [
"pharos",
"rustc_version",
"send_wrapper 0.6.0",
- "thiserror 2.0.12",
+ "thiserror 2.0.18",
"wasm-bindgen",
"wasm-bindgen-futures",
"web-sys",
@@ -8345,9 +7837,9 @@ dependencies = [
[[package]]
name = "xml-rs"
-version = "0.8.27"
+version = "0.8.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fd8403733700263c6eb89f192880191f1b83e332f7a20371ddcf421c4a337c7"
+checksum = "3ae8337f8a065cfc972643663ea4279e04e7256de865aa66fe25cec5fb912d3f"
[[package]]
name = "xmltree"
@@ -8358,18 +7850,6 @@ dependencies = [
"xml-rs",
]
-[[package]]
-name = "xxhash-rust"
-version = "0.8.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3"
-
-[[package]]
-name = "yansi"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049"
-
[[package]]
name = "yasna"
version = "0.5.2"
@@ -8381,11 +7861,10 @@ dependencies = [
[[package]]
name = "yoke"
-version = "0.8.0"
+version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc"
+checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954"
dependencies = [
- "serde",
"stable_deref_trait",
"yoke-derive",
"zerofrom",
@@ -8393,13 +7872,13 @@ dependencies = [
[[package]]
name = "yoke-derive"
-version = "0.8.0"
+version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6"
+checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
"synstructure",
]
@@ -8411,22 +7890,22 @@ checksum = "2164e798d9e3d84ee2c91139ace54638059a3b23e361f5c11781c2c6459bde0f"
[[package]]
name = "zerocopy"
-version = "0.8.26"
+version = "0.8.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f"
+checksum = "a789c6e490b576db9f7e6b6d661bcc9799f7c0ac8352f56ea20193b2681532e5"
dependencies = [
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
-version = "0.8.26"
+version = "0.8.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181"
+checksum = "f65c489a7071a749c849713807783f70672b28094011623e200cb86dcb835953"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
[[package]]
@@ -8446,21 +7925,21 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
"synstructure",
]
[[package]]
name = "zeroize"
-version = "1.8.1"
+version = "1.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde"
+checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0"
[[package]]
name = "zerotrie"
-version = "0.2.2"
+version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595"
+checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851"
dependencies = [
"displaydoc",
"yoke",
@@ -8469,9 +7948,9 @@ dependencies = [
[[package]]
name = "zerovec"
-version = "0.11.2"
+version = "0.11.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428"
+checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002"
dependencies = [
"yoke",
"zerofrom",
@@ -8480,11 +7959,17 @@ dependencies = [
[[package]]
name = "zerovec-derive"
-version = "0.11.1"
+version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f"
+checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.104",
+ "syn 2.0.117",
]
+
+[[package]]
+name = "zmij"
+version = "1.0.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"
diff --git a/Cargo.toml b/Cargo.toml
index cc15e68..f1897ca 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,16 +1,16 @@
[workspace]
members = [
"fmo_api_types",
- "fmo_frontend",
"fmo_server",
]
resolver = "2"
[workspace.dependencies]
-fedimint-api-client = { version = "0.8.0-beta.2", git = "https://github.com/elsirion/fedimint", branch = "v0.8-beta.2-patch-xyz" }
-fedimint-core = { version = "0.8.0-beta.2", git = "https://github.com/elsirion/fedimint", branch = "v0.8-beta.2-patch-xyz" }
-fedimint-ln-common = { version = "0.8.0-beta.2", git = "https://github.com/elsirion/fedimint", branch = "v0.8-beta.2-patch-xyz" }
-fedimint-meta-client = { version = "0.8.0-beta.2", git = "https://github.com/elsirion/fedimint", branch = "v0.8-beta.2-patch-xyz" }
-fedimint-mint-common = { version = "0.8.0-beta.2", git = "https://github.com/elsirion/fedimint", branch = "v0.8-beta.2-patch-xyz" }
-fedimint-wallet-common = { version = "0.8.0-beta.2", git = "https://github.com/elsirion/fedimint", branch = "v0.8-beta.2-patch-xyz" }
+fedimint-api-client = { version = "0.10.0", git = "https://github.com/fedimint/fedimint", tag = "v0.10.0" }
+fedimint-connectors = { version = "0.10.0", git = "https://github.com/fedimint/fedimint", tag = "v0.10.0" }
+fedimint-core = { version = "0.10.0", git = "https://github.com/fedimint/fedimint", tag = "v0.10.0" }
+fedimint-ln-common = { version = "0.10.0", git = "https://github.com/fedimint/fedimint", tag = "v0.10.0" }
+fedimint-meta-client = { version = "0.10.0", git = "https://github.com/fedimint/fedimint", tag = "v0.10.0" }
+fedimint-mint-common = { version = "0.10.0", git = "https://github.com/fedimint/fedimint", tag = "v0.10.0" }
+fedimint-wallet-common = { version = "0.10.0", git = "https://github.com/fedimint/fedimint", tag = "v0.10.0" }
diff --git a/README.md b/README.md
index 1127c01..ac9a01a 100644
--- a/README.md
+++ b/README.md
@@ -17,9 +17,8 @@ These APIs live under the `/federations` path, you can find all the endpoints in
One example is the [`/federations`](https://observer.fedimint.org/api/federations) endpoint itself that returns a list
of all federations that are being observed.
-This API is also the data source for the frontend that powers https://observer.fedimint.org and is also hosted in this
-repository in the `fmo_frontend` directory. The frontend is a Leptos PWA, so is fully written in Rust and compiled to
-WASM. It uses [Tailwind](https://tailwindcss.com/) and [Flowbite](https://flowbite.com/) for styling.
+This API is also the data source for the frontend that powers https://observer.fedimint.org. The frontend is hosted in
+the `fmo_frontend_react` directory and is built with React and TypeScript.
When it comes to stability guarantees the Postgres database should always be migratable backwards-compatibly, so we
don't lose historic data. The API under `/federations` isn't stable at this point and I'd recommend to subscribing to
@@ -40,7 +39,6 @@ In there you can run a variety of `just` commands (to be called as `just 004R>
z004l5008;`004mK004C`008P>0026e000+ooVrmw00006VoOIv0RI600RN!9r;`8x
z010qNS#tmY79{`x79{~mQY7#I03tF;L_t(|+U=cryqraq_rK@V(|1WiSP}tIBm@Xx
z1Of=M#sP6&NCXuWTtL8OL`D3JJFhRJ&PPXZTt<-*5Cv335JZs01;s%?R*A$c5E2j=
zSriC?aC7hTRGs&adYXfj7W9HoN=0}F5
zej4!4X3PhhgE1Wd;qQVhK)43@l~j@^i~CpH_?~VTp`(y)6VNHldfkP141y8TED@0-
zF#CwXUIP6i+%^E*fyg&7yGklah6*4o|IP8;E>cI3ben)q!77UQfSFCvO7a=ZK8!F~
z3Yl*deFLB$Y%a#0h@6S=MNxT9oOZi79m58x0cIWkBP{ipSue(yF#8B1H7?ebS}3>=
zr9-oT$Ttv96_G)yIPUxTJGx!8F~Ln**ajO&0|2q2}RO5=gmeZ*rczTby%7_dTnD=fL>sBRZ=OtHaf
zfUqV-dlZnPD435F|LO&y8O$Qzi~o#Sz)@iT8P=rTF5Z}9gA)KZr3YXV#-RWrLRko^
zkS1PWt^uURe9R2sP=vFjN1pF?`NkR>oB(Lz0A32rq6zb59U35KcvS<40cNv+ErAu?
zF5g&VgA)L$BmmQZsfF#ARy07)c!4VO%_w|vAmNM@k8hm!wS
z(g2blo0(!%x?Q$TV1p9??QsClf(#-|DO!3>7>X;Ut`i^)v4EN>FvJ+d?AZ;k&$Iyw
zfJ7hQF+?6iWSSIRz;X;=Bu18;zi0}oX5cZ*9`AP9I)M#O04fQV`oC*WatFd}%4UGF
z>2Dqju670rpCAgs9bqv2n@01pL1BXv07Ae`=?%bTh#Z5^FAYMlE)5`6?QdWVh}mUY
zaUl#0b-Q$9jtx%$DlRtz_FGi17Lm8sMFOj)f4CG_DHf31elWY*LijBRY=9bI19WTP
z)t|o==}8cgSE2F~M0S!9!@)Tk!oa!hUrMl}&1|6!W!(AMeY#z=F~^3d0RTyqWZD$M
zs)0Y_^g|+YHYz*BAFKa0js(=YfPe&BW@aD4hlQ2NeWXvX?sl;{Q&-(4pi|iUD|e%b
zVt^*@)u?_!L=Hi4!%AM)`tfFVJt6!*OZ}aQV43H(kMG{?B6S4oB>>yK_B;%Y_R=Zh
z1aS@$MG{4wLwXY|^Ypod1wVfCxE5}oZ!V0qB@U^$O+@5KMBa`t2a!#I!l--9o(2{W
z>|!(fsil6U`2fJJr|dGWbkBIx74%g+k|<#?!@S3`09lB~K43ofRmB_2Z+h>j-!&=$
zn6b|}h(c8Kf%yd=NuZ(Hfajn<`zPAke5*W<#z)*t?$m9M}
zafBhy&F|h}T^WII$&6{l~N#7&h%qpB@Fol-jYpd{{F;`AJ;
zxaUOUZwtP5@VHj;M8%ws-cVERsh?s#yx%f^vSne0Wl{Z`4^)q9pR3G=pIERj2`mq(
zN1XED?X3$z%d;J4?0q(_*TvRvwihCoh|~8-q9ZWh)y_FLL!5qD5_hJkPA`6c5fPFo
zqKc?am&BbZPQNV9&8XFDxlYTUI#ry$M?@|$v%R$9&>qK(*PPw*yIY^`s^Et_X10^4
zoGVWDjE-MUT=}?;(CV>Dq9;hAXGq0OLSWC+Zs~U2cO844c5`&*DsGY_dU~uQr%mdQ
z5$oH@o}zNDne7zP_U10OBmgt^Ij69ZlSJh6sLm-#A#wl)8FzJ?2VKM7XWWJM_u?k?Y$J&~SrV6w%={+j8hC({H;U?^
zIj>rxp|z`mVMY%s?-ZxKg$g289Q0L)Xyv(y0&~;`w=<
z)Hfv8?9bKJE%n#+qVi6Ro^n)kZD=VJ9Q*vTwW#b>dwH434XVkFq_*+`#Cs2MmE=3=
z6VGJbsQh`0t!^gJwXYoipy-+>p2JPnwaI&)`~y&GO?|J
z<*m@r+E{=S1hy5`my{S-Qa!Fg7~II8uKKwHDw~Mt-^Z)M=Pk0jdM&q+`HS;_ion%7
zkB=~@QxMsN#O=_0sJfvQSLY}e%%_q0nDG*kuq|UL0OAyk={W7FQ%5C1AaTvrR;?@8
z_D(u{ZA1TqVp~94qtM*_{=Hyem8fk&TCqO*H*0
zw|s^%p8#Uk159rxlm@|?8jth9rI@fK<&0CqRyc;HB2tA<-<0G|Zj8Q^l@LSO+9s)E4S
z`w8L{5qXYa&ombRt84vMo1`*K0K^P}g4qylXw`O1zzT8tH*vCcp$VD^0?x(rjop;S
zK#}Tw;$&qpm@yWZza+MV65}htUciaK5y0l_c*M(qQ;4SFO5l9p4j_ZE7ld33uEg7Y
zz%IkoeQ`{g`82frvH%#EK0zDn7g{#~K0GW=Zxg3m*Q@>JcAutBVO9N`s9q12`7xMh
zH*ZPR0V>c7><7FDI1JdV%|~tyybm}ExCZzha0@U5V8?_>$4<2mXo3_}2qd*Na0@aE>Etk6!`b1#To}5?OCSs7#&&Dj-}dqDz6D
z>zukq<_GFpzSJ?^uwZKhE^(1iGEI;{;??$
zBX$w%2>l)^7m8CXgjQZ(#r(y_q4gEL3DI8v6u20812B24xZVVlfy486T@D;W6pl#W
zqV@&Be8}rgE=2YGg4v7^2^?1MT0QqiN%XVYTN%LM-YehM()(K;4b()j)FX+zPn^C_
zoZjA46O3R6aOzR{t|+GxYygAbA2+k5ch6gF%wHV4H#x!6ffInMh#vbPKwn2#-W>hF
zKLg(-fUTTy=8s}%luSJy;$l8Lh2u}%-?LO
zznoyV`ZYtDI3=t}S$NK2Z4o>w_jR|A{3eeL#5r_+^&mZ4Y`lpiy17)`Mv^!$iF;ZT
zeFCQgk~<~l12>(xebZ;oTV&O6c!}{di8lV7z$-h;yD^0Ui-8{!oyG^sKlb#)&$ew|
z^#`1PKjI{|a38>1zh!>&koiq5^UhNLtY!X*^zl_Ib#gD3`KW5Lz=ChQu5Cist0TL|
z|GgQh2o?-Y>Pw3o%11<
z0Y3tMB(SVle6}vLu-`dL<3iWLAuJ2SO+e-m5zNCMzqsG1iJLGBLrPB5yMQkc)qW?i
z8u%TtPk()W?hs<^;GgJRFXAu2XMl@D;F@t7aacIQA$)BHeVEALym?&O!fz5#($M~5~1J@G6xim=JoX=;H%(iOd=cHT*YXoZx)mcA%Q%Pk?J0Y;ZB2P(lUR
zo7zCqOIUwAOB|cHxfu=Jz=Y5MrFx&k`ZNDgVr1|F;BKHg6=ZF;_uBmYVR;vnC@?o0
z+$wN3G4}9gh7TpTgN=aQ^5;$nOb7vhs`tOgdOYGG;yA$ffrXUhsvW26y1Z2$wj>U}
zN)(_w4ek;+7pjv2a;RR>q^IJQM=;v+yUQ1vcacV7Pnybf5H^ubj#yUT*EYXDzsv9oF2%O%Roi!_LJJ?EK@e5|{{h@U929EBQQRyq>%weJM@Vf8T^E27_N4W=#B$)z#h3A%
z(|>Krmna3V{+!d)iU2sGuk+*X>)#0w2+FH)643;-ihDG6sk*YDqd@WQ%<(L6PaC(+
z0s1;RCAvj)T>x^tl=fo&cTEr{8h|8rG}~F^I4du6*U?o0D5=mLS@(?H0;_1RwRIGw
z3cQEbLeYg!S4def7K_9uvlP;Tq
zt_r|V)Z+>51%MUM;jaQa$sA?V+&nE*Q&7;vfYh1
zNYV-(Cq@7#g#9m28r8cur?C}mOq}0HH@kyf696%o9J^2L*#Bj~W8I>;1w5A1*edq?
zhjjuCSnW!!pfxN21|~uTZ3GPDG`5OeO`z@qL^y>@7=Op9__TfsE)9*}ROGXxI=zM4iWtb{
zV`0|z_{{I)RPoF(?+Jr3b?kz#AGB5i>M;AnpJS;<`zrW>45_$$5ob*4qLqZbzI10y
z85;~ql-oW!r!7MB#!`)jwTOkHJTsAI)Q(WNXAl+wuWs><7zMSKyN^}u^YsOUEFdDq
zQn9#pfGp+~wm=w2dDVNbA*@M}#0^_ERuzDqj=l`-tq=yYA{G1=!0saKipb0IYo7$}
zMYxk-_iJy(YmZ~!vlj7(56y0u{w>Ml;Vt4W3lrS>L$LwjUBvkctzbuDT|d;$YxX^B
z5vZU;o-mX;gzbS>W9$e_LnIa9QHx8}?gkzYLm96;?q`HS&(cfdF6arsj&HgI8_EcA
zbA>HXJpr?K0JE@RD`tWqkK*)~2;UCD?$pGw-?>Zasr2%@6W6`qGv{KlA8#voj(h-U
zU7LS*6Q%Wx_vAEBY2mh)0y_W?&0B2ijBo67{sU+_7+;imOn9}ZegJR($KtbU9#SM`
zkYGzuxfmZV2y3#(Ee-7Wrc1c@XUCvB%)cnAco7J;A7+gU#%R82gtqlT}gLRkO6i
z_Ev~|6*yHYt|B5F_=C0QC(>9?#jKcCVHBf<6IcQoaul^g=^oNT-{!y{tcbbpDy{;Y
zipW>6I8EJ#@rr7aDXSgtZ)QI<9}dQhzh84JI(3g3Smt*m*f%h?EuK`~JGX8(?UID$
zpFJR-#_YJb$Br@gk_SdCL{8H*Vi&Mg>fNh_N|@@;OkH<^XV
zsbGE9z>7K_<%e~7CW}wA*%rbl!eCZWL=GU>o2n0Ms_N?#7RFQ7C=}ZR$J$U!djPbR
z%PvO(d>Z4(SR*k@ShrCY#1NBEewy|t+b$>0bY3gs{t9v|X4|iwPgXrQj8Da9us0zb
zpqL$lF|B+-Gs&`2s?zd{sszN#-=O_H(^_!U9|S&5`vW^017`qx7I^{ZcTp2G4CC&Z
z)3$M&k9jn&i*yk4u*!JB*P{9y-hyXn1J6
z*S5oK`<7TD{Dx>N+npW19q?81HF{mu0kxNJmDAMjDxm@3G-AGjb-v2Xw#RHcYsU1Z
z4YT1K^*pvuL+h9y(~`n4Ra3iWvKd>iZL@-EKQ~@-K5*73s{XaaBobY7
z3LBihFXS|}0|U+^<`b%~o2FMAm~Cyw}o
z7_CWT9IhFf35@kCW`oU{T(1Qzlx_^v5)~JzOXKeWv*%k$04=qM&{M!Ch#|{%kN}^y
z+$ofCati0ymXDLado)hp-NfwVD*-|)(ap&0=P?Twtd<_ONEI7OS|He3HA6`#)~Fc|
zGm^A~hI65@^;@HmthQi}l+$&Oglk?UaY}S7{C&X3SP!SLAfuB)@P;K;?pdvm)Aupp
z{(|qnXkqEPS-^rlV!>9|@gp>}_|TvQ>KbnOIxyoA1-rTKrqEzRLcI+sUOKGx2ZIp)
zLJ0TMVhZ?cW=q+TS|6wIYtSSjHpVCwYpeX7qjmajfLQca=QhSV4)@18Ze(^NIPX*(sD&xk$A1FV=;7K;2ukG6X
zM~UfVZfG@m^hntETYoOL+wHT|f5|d`iltsd>ajG#hVmrRX;w=pT|OSlu+%?hKAeQe
zmF7J%bMASdit9DlXo()#M<0tWmi
zF+J?)?0ysM^X0qo-a|0_;E-Y*Y^gulQa{(yY|}6_jQPP*{};>r<(7qSTL>%SkTNX4
z;l$b;mhE4EAsfxwn&+1PFUh0|!821TZeK~<9I3diwBiz}xTmDzmP#f0gC=^9^j6kr
z#eo?~Zy&dwy89T_cbyPyM(iCNF=h`RA6!AqHo6kVb}8FFpZi11dMRLOAgoFI%!geq
z&Gxm_?`)~xG^9SW)IVyOUtp=fC8(}oV37Xpw&eNy{>uHoKA!v$HS93&BE(7DhOC%@#m)vTj0$0hlm0Hxi(-+Jz0
zT=s!qu<-2mHYOMi<}Ef%t6}3qi23*1bqdEDHK&jEf<5blT~4}=ZQijj5B}hmI6XXz
zj2DgT1eRQKWYha5@EqHSsws%IIa;T1yfEfYU#Bqv7g^P#Vfgraz<+m}rV(Jkw}?54
z>uI0BnD`XtcmX(t9dr6Ri3zU(3Y4PDqm2}H5_bciqMhO034#}l02JB2b3Je`aUNZ(
z**H3hVtBWj7^0Qo-HC!1i~vAXt5t%9>lxkf@mOL2_&4(5-Gas!5?)x;<|z3CJ;d?#
z!x_7%U#n1Jg6J=h??&=MV?Mk<1ptPHi(6TQ*$F(y3z+#Zv9g7?1($)3)ThLap}Gcr
zVe*$?Hg6$t`xwliS|4;(0QUO#+n^HD1iJo80&<`v`VMirKTfw2r~SDW7)0eUQN0b}
zVp09A`LM=99PhsI?K8SU|J;io!~%#4;
zVzA%)fixym$~@{fs2;9pZFq%>+np0`l)F;PiPB
zxdQli3*kOV6iYq7KX&H0(tqF&A3!TEpJ}7B!2ZpQH{-)3%T+(2Q2+V&C=9DC^B0*9
z|6!?rBxD{j|!EAR67MUD!riX&*4FZt`%!eDz
zhm*{QB{q~{8dz}pLF-Rko9N15kfpf|O#N1t`LitZbBipO)hW$cZFXz*w=B+c&3t
zd^p?8cF>-Lc9x^9H~rq@dMjYIgZXf_Wq$W!4t~fQXfBSkhO)&npJkbkYZ}*dXA6{Z
z7l2()x()=g)q`r8|G1_8prTSjndxc$_t5Z}|LtK}IL(6fBC!9rmvo%|eZRegmy
zEeoev>i4j;f$ns;@Ya>7cJ3fc{m1?DgNg{de(;*{X2!@7jE
zN=z>c!E_6Dl=ddKqvLOp$6o`a8Kl`%Q9TeRvE?^p
zB8kEvnC8bSn9DVS7Fr-`0#ra`AL4ZJM>|b_u4T3W_NiM+->3yaSfUal&4-inX
zTFaN316X|5{8;00JQuY<)dWZ=G=bHno$4h0X-+?8bxATxS|GOiMt`8B6?}bsz7B_gYEwpmO-AvH7Lnt1=YLrAstYoYoJAK-aJ#$`KMOFalr66|?1>o2Ed
zsY{}f`v6Uy!r?uGRhX?DZ(cw*1R!R+egcvE2{t3z{h9z2UA=nmKi2|<-Pe$-el7ff
zheYL(@yHvR3-BWr>@S#2tE&8lbS+f|H#mijA>!OgydUF$)=Av8$_zo`%@=~8h4)`l|5ED(IQ0K$dB=U;j(Lv
zjds*nWpPntT_K2adKBkJz;1ZOn?uB)FY~QS?a$NX~-f?
zLsEQPl~v@v85VEP
z{1uk@uVv2;nyB!n|LXi`+JdhgjEImux5g~P$ti+GhS_r9bd1lT{2jnB7Jc{d^`NFbJbu?jOyBjG-0p{GE%U#^ho>wH
zGtGxh@j;@U_l=Q1j}J=-_Bji7hNwInr^5xFe(>jA;X_xagl%`gxtQe9KqpuhW{S#N
z5II6rW}~vPs0gahipo-)UMnh>BvbpAgdq>a8AD5ceB}C)GAiu+wx3dLlqEeC{Ho`7
zwqQr&!+Z<26CrG5!Hi(fSg=KyU1h;8lSEe(8z>8b
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/fmo_frontend/package-lock.json b/fmo_frontend/package-lock.json
deleted file mode 100644
index 9481745..0000000
--- a/fmo_frontend/package-lock.json
+++ /dev/null
@@ -1,1003 +0,0 @@
-{
- "name": "webimint-rs",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {
- "": {
- "devDependencies": {
- "@tailwindcss/forms": "^0.5.4",
- "tailwindcss": "^3.3.3"
- }
- },
- "node_modules/@alloc/quick-lru": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz",
- "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
- "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
- "dev": true,
- "dependencies": {
- "@jridgewell/set-array": "^1.0.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.9"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz",
- "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==",
- "dev": true,
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/set-array": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
- "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
- "dev": true,
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.4.15",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
- "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
- "dev": true
- },
- "node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.19",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz",
- "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==",
- "dev": true,
- "dependencies": {
- "@jridgewell/resolve-uri": "^3.1.0",
- "@jridgewell/sourcemap-codec": "^1.4.14"
- }
- },
- "node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dev": true,
- "dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "dev": true,
- "dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@tailwindcss/forms": {
- "version": "0.5.4",
- "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.4.tgz",
- "integrity": "sha512-YAm12D3R7/9Mh4jFbYSMnsd6jG++8KxogWgqs7hbdo/86aWjjlIEvL7+QYdVELmAI0InXTpZqFIg5e7aDVWI2Q==",
- "dev": true,
- "dependencies": {
- "mini-svg-data-uri": "^1.2.3"
- },
- "peerDependencies": {
- "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1"
- }
- },
- "node_modules/any-promise": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
- "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
- "dev": true
- },
- "node_modules/anymatch": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
- "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
- "dev": true,
- "dependencies": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/arg": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
- "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
- "dev": true
- },
- "node_modules/balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true
- },
- "node_modules/binary-extensions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "dependencies": {
- "fill-range": "^7.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/camelcase-css": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
- "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
- "dev": true,
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/chokidar": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
- "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- ],
- "dependencies": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- },
- "engines": {
- "node": ">= 8.10.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/chokidar/node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/commander": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
- "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
- "dev": true,
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "dev": true
- },
- "node_modules/cssesc": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
- "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
- "dev": true,
- "bin": {
- "cssesc": "bin/cssesc"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/didyoumean": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
- "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
- "dev": true
- },
- "node_modules/dlv": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
- "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
- "dev": true
- },
- "node_modules/fast-glob": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz",
- "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==",
- "dev": true,
- "dependencies": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.4"
- },
- "engines": {
- "node": ">=8.6.0"
- }
- },
- "node_modules/fast-glob/node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/fastq": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
- "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
- "dev": true,
- "dependencies": {
- "reusify": "^1.0.4"
- }
- },
- "node_modules/fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
- "dev": true
- },
- "node_modules/fsevents": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
- "dev": true,
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
- "node_modules/function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
- },
- "node_modules/glob": {
- "version": "7.1.6",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
- "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
- "dev": true,
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "dev": true,
- "dependencies": {
- "is-glob": "^4.0.3"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "dependencies": {
- "function-bind": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "dev": true,
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true
- },
- "node_modules/is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "dev": true,
- "dependencies": {
- "binary-extensions": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-core-module": {
- "version": "2.13.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz",
- "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==",
- "dev": true,
- "dependencies": {
- "has": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true,
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/jiti": {
- "version": "1.19.1",
- "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.19.1.tgz",
- "integrity": "sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==",
- "dev": true,
- "bin": {
- "jiti": "bin/jiti.js"
- }
- },
- "node_modules/lilconfig": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
- "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/lines-and-columns": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
- "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
- "dev": true
- },
- "node_modules/merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
- "dev": true,
- "dependencies": {
- "braces": "^3.0.2",
- "picomatch": "^2.3.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/mini-svg-data-uri": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz",
- "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==",
- "dev": true,
- "bin": {
- "mini-svg-data-uri": "cli.js"
- }
- },
- "node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/mz": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
- "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
- "dev": true,
- "dependencies": {
- "any-promise": "^1.0.0",
- "object-assign": "^4.0.1",
- "thenify-all": "^1.0.0"
- }
- },
- "node_modules/nanoid": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
- "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "bin": {
- "nanoid": "bin/nanoid.cjs"
- },
- "engines": {
- "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
- }
- },
- "node_modules/normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/object-hash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
- "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
- "dev": true,
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "dev": true,
- "dependencies": {
- "wrappy": "1"
- }
- },
- "node_modules/path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/path-parse": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
- "dev": true
- },
- "node_modules/picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
- "dev": true
- },
- "node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true,
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/pirates": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz",
- "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==",
- "dev": true,
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/postcss": {
- "version": "8.4.27",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz",
- "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/postcss"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "dependencies": {
- "nanoid": "^3.3.6",
- "picocolors": "^1.0.0",
- "source-map-js": "^1.0.2"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- }
- },
- "node_modules/postcss-import": {
- "version": "15.1.0",
- "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz",
- "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==",
- "dev": true,
- "dependencies": {
- "postcss-value-parser": "^4.0.0",
- "read-cache": "^1.0.0",
- "resolve": "^1.1.7"
- },
- "engines": {
- "node": ">=14.0.0"
- },
- "peerDependencies": {
- "postcss": "^8.0.0"
- }
- },
- "node_modules/postcss-js": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz",
- "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==",
- "dev": true,
- "dependencies": {
- "camelcase-css": "^2.0.1"
- },
- "engines": {
- "node": "^12 || ^14 || >= 16"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- "peerDependencies": {
- "postcss": "^8.4.21"
- }
- },
- "node_modules/postcss-load-config": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz",
- "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==",
- "dev": true,
- "dependencies": {
- "lilconfig": "^2.0.5",
- "yaml": "^2.1.1"
- },
- "engines": {
- "node": ">= 14"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- "peerDependencies": {
- "postcss": ">=8.0.9",
- "ts-node": ">=9.0.0"
- },
- "peerDependenciesMeta": {
- "postcss": {
- "optional": true
- },
- "ts-node": {
- "optional": true
- }
- }
- },
- "node_modules/postcss-nested": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz",
- "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==",
- "dev": true,
- "dependencies": {
- "postcss-selector-parser": "^6.0.11"
- },
- "engines": {
- "node": ">=12.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- "peerDependencies": {
- "postcss": "^8.2.14"
- }
- },
- "node_modules/postcss-selector-parser": {
- "version": "6.0.13",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz",
- "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==",
- "dev": true,
- "dependencies": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/postcss-value-parser": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
- "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
- "dev": true
- },
- "node_modules/queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/read-cache": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
- "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
- "dev": true,
- "dependencies": {
- "pify": "^2.3.0"
- }
- },
- "node_modules/readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "dev": true,
- "dependencies": {
- "picomatch": "^2.2.1"
- },
- "engines": {
- "node": ">=8.10.0"
- }
- },
- "node_modules/resolve": {
- "version": "1.22.4",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz",
- "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==",
- "dev": true,
- "dependencies": {
- "is-core-module": "^2.13.0",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- },
- "bin": {
- "resolve": "bin/resolve"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
- "dev": true,
- "engines": {
- "iojs": ">=1.0.0",
- "node": ">=0.10.0"
- }
- },
- "node_modules/run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "dependencies": {
- "queue-microtask": "^1.2.2"
- }
- },
- "node_modules/source-map-js": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
- "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/sucrase": {
- "version": "3.34.0",
- "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz",
- "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==",
- "dev": true,
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.3.2",
- "commander": "^4.0.0",
- "glob": "7.1.6",
- "lines-and-columns": "^1.1.6",
- "mz": "^2.7.0",
- "pirates": "^4.0.1",
- "ts-interface-checker": "^0.1.9"
- },
- "bin": {
- "sucrase": "bin/sucrase",
- "sucrase-node": "bin/sucrase-node"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/supports-preserve-symlinks-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
- "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/tailwindcss": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz",
- "integrity": "sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==",
- "dev": true,
- "dependencies": {
- "@alloc/quick-lru": "^5.2.0",
- "arg": "^5.0.2",
- "chokidar": "^3.5.3",
- "didyoumean": "^1.2.2",
- "dlv": "^1.1.3",
- "fast-glob": "^3.2.12",
- "glob-parent": "^6.0.2",
- "is-glob": "^4.0.3",
- "jiti": "^1.18.2",
- "lilconfig": "^2.1.0",
- "micromatch": "^4.0.5",
- "normalize-path": "^3.0.0",
- "object-hash": "^3.0.0",
- "picocolors": "^1.0.0",
- "postcss": "^8.4.23",
- "postcss-import": "^15.1.0",
- "postcss-js": "^4.0.1",
- "postcss-load-config": "^4.0.1",
- "postcss-nested": "^6.0.1",
- "postcss-selector-parser": "^6.0.11",
- "resolve": "^1.22.2",
- "sucrase": "^3.32.0"
- },
- "bin": {
- "tailwind": "lib/cli.js",
- "tailwindcss": "lib/cli.js"
- },
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/thenify": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
- "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
- "dev": true,
- "dependencies": {
- "any-promise": "^1.0.0"
- }
- },
- "node_modules/thenify-all": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
- "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
- "dev": true,
- "dependencies": {
- "thenify": ">= 3.1.0 < 4"
- },
- "engines": {
- "node": ">=0.8"
- }
- },
- "node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/ts-interface-checker": {
- "version": "0.1.13",
- "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
- "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==",
- "dev": true
- },
- "node_modules/util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
- "dev": true
- },
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
- "dev": true
- },
- "node_modules/yaml": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz",
- "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==",
- "dev": true,
- "engines": {
- "node": ">= 14"
- }
- }
- }
-}
diff --git a/fmo_frontend/package.json b/fmo_frontend/package.json
deleted file mode 100644
index 67f7d66..0000000
--- a/fmo_frontend/package.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "COMMENT": "Package.json is needed to install dependencies of Tailwind only",
- "devDependencies": {
- "tailwindcss": "^3.3.3"
- }
-}
diff --git a/fmo_frontend/src/components/alert.rs b/fmo_frontend/src/components/alert.rs
deleted file mode 100644
index 825ad8b..0000000
--- a/fmo_frontend/src/components/alert.rs
+++ /dev/null
@@ -1,41 +0,0 @@
-use leptos::prelude::*;
-
-#[component]
-pub fn Alert(
- #[prop(into, optional)] title: Option,
- #[prop(into)] message: String,
- level: AlertLevel,
- #[prop(into, optional)] class: String,
-) -> impl IntoView {
- let style = match level {
- AlertLevel::Info => "p-4 mb-4 text-sm text-blue-800 rounded-lg bg-blue-50 dark:bg-gray-800 dark:text-blue-400",
- AlertLevel::Warning => "p-4 mb-4 text-sm text-yellow-800 rounded-lg bg-yellow-50 dark:bg-gray-800 dark:text-yellow-300",
- AlertLevel::Error => "p-4 mb-4 text-sm text-red-800 rounded-lg bg-red-50 dark:bg-gray-800 dark:text-red-400",
- AlertLevel::Success => "p-4 mb-4 text-sm text-green-800 rounded-lg bg-green-50 dark:bg-gray-800 dark:text-green-400",
- };
-
- let class = format!("{} {}", style, class);
-
- let title = title.unwrap_or_else(|| match level {
- AlertLevel::Info => "Info: ".to_string(),
- AlertLevel::Warning => "Warning: ".to_string(),
- AlertLevel::Error => "Error: ".to_string(),
- AlertLevel::Success => "Success: ".to_string(),
- });
-
- view! {
-
- {title}
- {message}
-
- }
-}
-
-#[allow(dead_code)]
-#[derive(Debug, Clone, Copy)]
-pub enum AlertLevel {
- Info,
- Warning,
- Error,
- Success,
-}
diff --git a/fmo_frontend/src/components/badge.rs b/fmo_frontend/src/components/badge.rs
deleted file mode 100644
index d953f91..0000000
--- a/fmo_frontend/src/components/badge.rs
+++ /dev/null
@@ -1,40 +0,0 @@
-use leptos::either::Either;
-use leptos::prelude::*;
-
-#[component]
-pub fn Badge(
- level: BadgeLevel,
- #[prop(default = None)] tooltip: Option,
- children: Children,
-) -> impl IntoView {
- let style = match level {
- BadgeLevel::Info => "bg-blue-100 text-blue-800 text-xs font-medium me-2 px-2.5 py-0.5 rounded dark:bg-blue-900 dark:text-blue-300",
- BadgeLevel::Warning => "bg-yellow-100 text-yellow-800 text-xs font-medium me-2 px-2.5 py-0.5 rounded dark:bg-yellow-900 dark:text-yellow-300",
- BadgeLevel::Error => "bg-red-100 text-red-800 text-xs font-medium me-2 px-2.5 py-0.5 rounded dark:bg-red-900 dark:text-red-300",
- BadgeLevel::Success => "bg-green-100 text-green-800 text-xs font-medium me-2 px-2.5 py-0.5 rounded dark:bg-green-900 dark:text-green-300",
- };
-
- match tooltip {
- Some(tooltip_str) => Either::Left(view! {
-
-
- { children() }
-
-
- }),
- None => Either::Right(view! {
-
- { children() }
-
- }),
- }
-}
-
-#[allow(dead_code)]
-#[derive(Debug, Clone, Copy)]
-pub enum BadgeLevel {
- Info,
- Warning,
- Error,
- Success,
-}
diff --git a/fmo_frontend/src/components/button.rs b/fmo_frontend/src/components/button.rs
deleted file mode 100644
index 95e0ae3..0000000
--- a/fmo_frontend/src/components/button.rs
+++ /dev/null
@@ -1,64 +0,0 @@
-use std::borrow::Cow;
-
-use leptos::prelude::*;
-
-#[component]
-pub fn Button(
- #[prop(default = PRIMARY_BUTTON)] color_scheme: ButtonColors,
- #[prop(into, optional)] class: String,
- on_click: F,
- #[prop(into, optional)] disabled: Signal,
- children: Children,
-) -> impl IntoView {
- const COMMON: &str = "whitespace-nowrap font-medium rounded-lg text-sm px-5";
-
- let class = move || {
- let color_scheme_class = if disabled.get() {
- &color_scheme.disabled
- } else {
- &color_scheme.enabled
- };
-
- format!("{} {} {}", COMMON, color_scheme_class, class)
- };
-
- view! {
-
- { children() }
-
- }
-}
-
-pub const PRIMARY_BUTTON: ButtonColors = ButtonColors::new(
- "text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 focus:outline-none dark:focus:ring-blue-800",
- "text-white bg-blue-400 dark:bg-blue-500 cursor-not-allowed font-medium rounded-lg"
-);
-pub const SECONDARY_BUTTON: ButtonColors = ButtonColors::new(
- "text-gray-900 focus:outline-none bg-white border border-gray-200 hover:bg-gray-100 hover:text-blue-700 focus:z-10 focus:ring-4 focus:ring-gray-100 dark:focus:ring-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-700",
- "text-gray-400 dark:text-gray-600 cursor-not-allowed"
-
-);
-pub const SUCCESS_BUTTON: ButtonColors = ButtonColors::new(
- "text-white bg-green-700 hover:bg-green-800 focus:ring-4 focus:ring-green-300 dark:bg-green-600 dark:hover:bg-green-700 focus:outline-none",
- "text-white bg-green-400 dark:bg-green-500 cursor-not-allowed font-medium rounded-lg"
-);
-
-#[derive(Debug, Clone)]
-pub struct ButtonColors {
- enabled: Cow<'static, str>,
- disabled: Cow<'static, str>,
-}
-
-impl ButtonColors {
- pub const fn new(enabled: &'static str, disabled: &'static str) -> Self {
- Self {
- enabled: Cow::Borrowed(enabled),
- disabled: Cow::Borrowed(disabled),
- }
- }
-}
diff --git a/fmo_frontend/src/components/copyable.rs b/fmo_frontend/src/components/copyable.rs
deleted file mode 100644
index 1a73b96..0000000
--- a/fmo_frontend/src/components/copyable.rs
+++ /dev/null
@@ -1,40 +0,0 @@
-use leptos::prelude::*;
-use web_sys::window;
-
-// TODO: on_success/on_failure callbacks
-#[component]
-pub fn Copyable(text: String) -> impl IntoView {
- let text_inner = text.clone();
- let copy_action = move |_| {
- if let Some(clipboard) = window().map(|w| w.navigator().clipboard()) {
- let _ = clipboard.write_text(&text_inner);
- } else {
- // handle the lack of clipboard!
- }
- };
-
- view! {
-
-
-
-
-
-
- }
-}
diff --git a/fmo_frontend/src/components/federation/activity.rs b/fmo_frontend/src/components/federation/activity.rs
deleted file mode 100644
index b66db37..0000000
--- a/fmo_frontend/src/components/federation/activity.rs
+++ /dev/null
@@ -1,214 +0,0 @@
-use std::collections::BTreeMap;
-use std::fmt::Display;
-use std::ops::Mul;
-use std::str::FromStr;
-
-use chrono::{DateTime, NaiveDate, NaiveDateTime, Utc};
-use fedimint_core::config::FederationId;
-use fedimint_core::Amount;
-use fmo_api_types::FederationActivity;
-use itertools::Itertools;
-use leptos::prelude::*;
-
-use super::chart::TimeLineChart;
-use crate::components::alert::{Alert, AlertLevel};
-use crate::util::AsBitcoin;
-
-#[component]
-pub fn ActivityChart(id: FederationId) -> impl IntoView {
- let history_resource = LocalResource::new(move || async move {
- fetch_federation_history(id)
- .await
- .map_err(|e| e.to_string())
- });
-
- view! {
- {move || {
- match history_resource.get() {
- Some(Ok(history)) => view! { }.into_any(),
- Some(Err(e)) => view! { "Error: " {e}
}.into_any(),
- None => view! { "Loading ..."
}.into_any(),
- }
- }}
- }
-}
-
-#[component]
-pub fn ChartInner(data: BTreeMap) -> impl IntoView {
- let (total_volume, volumes_btc) = {
- let total = Amount::from_msats(
- data.values()
- .map(|data| data.amount_transferred.msats)
- .sum::(),
- );
- let volumes_btc = data
- .iter()
- .map(|(date, data)| {
- (
- NaiveDateTime::from(*date).and_utc(),
- data.amount_transferred.msats as f64 / 100_000_000_000.0,
- )
- })
- .collect::>();
-
- (total, volumes_btc)
- };
-
- let (total_transactions, transactions) = {
- let total = data.values().map(|data| data.num_transactions).sum::();
- let transactions = data
- .iter()
- .map(|(date, data)| {
- (
- NaiveDateTime::from(*date).and_utc(),
- data.num_transactions as f64,
- )
- })
- .collect::>();
- (total, transactions)
- };
-
- let (chart_type, set_chart_type) = signal(ChartType::Volume);
- let (filter_outliers, set_filter_outliers) = signal(true);
-
- let chart_name_signal = RwSignal::new("".to_owned());
- Effect::new(move |_| {
- let chart_name = match chart_type.get() {
- ChartType::Volume => "Daily Volume",
- ChartType::Transactions => "Daily Transactions",
- }
- .to_owned();
-
- chart_name_signal.set(chart_name);
- });
-
- let chart_data = move || match chart_type.get() {
- ChartType::Volume if filter_outliers.get() => remove_outliers(volumes_btc.clone()),
- ChartType::Volume => volumes_btc.clone(),
- ChartType::Transactions => transactions.clone(),
- };
-
- view! {
-
-
-
-
-
- {move || {
- match chart_type.get() {
- ChartType::Volume => total_volume.as_bitcoin(6).to_string(),
- ChartType::Transactions => total_transactions.to_string(),
- }
- }}
-
-
-
- {move || {
- match chart_type.get() {
- ChartType::Volume => "Total Volume",
- ChartType::Transactions => "Total Transactions",
- }
- }}
-
-
-
-
-
-
-
- Filter Extreme Outliers
-
-
-
-
-
- "Volume"
- "Transactions"
-
-
-
-
-
-
-
- }
-}
-
-async fn fetch_federation_history(
- federation_id: FederationId,
-) -> Result, String> {
- let url = format!(
- "{}/federations/{}/transactions/histogram",
- crate::BASE_URL,
- federation_id
- );
- let res = reqwest::get(&url).await.map_err(|e| e.to_string())?;
- let json = res.json().await.map_err(|e| e.to_string())?;
- Ok(json)
-}
-
-#[derive(Debug, Clone, Copy, PartialEq)]
-enum ChartType {
- Volume,
- Transactions,
-}
-
-impl FromStr for ChartType {
- type Err = ();
-
- fn from_str(s: &str) -> Result {
- match s {
- "Volume" => Ok(Self::Volume),
- "Transactions" => Ok(Self::Transactions),
- _ => Err(()),
- }
- }
-}
-
-impl Display for ChartType {
- fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
- match self {
- Self::Volume => write!(f, "Volume"),
- Self::Transactions => write!(f, "Transactions"),
- }
- }
-}
-
-fn remove_outliers(data: Vec<(DateTime, T)>) -> Vec<(DateTime, T)>
-where
- T: Copy + PartialOrd + Mul + From,
-{
- let percentile_95 = data
- .iter()
- .map(|(_, val)| *val)
- .sorted_by(|a, b| a.partial_cmp(b).expect("No NaNs expected"))
- .collect::>()[data.len() * 95 / 100];
-
- data.into_iter()
- .filter(|(_, val)| *val < percentile_95 * T::from(10u8))
- .collect()
-}
diff --git a/fmo_frontend/src/components/federation/chart.rs b/fmo_frontend/src/components/federation/chart.rs
deleted file mode 100644
index ffc42af..0000000
--- a/fmo_frontend/src/components/federation/chart.rs
+++ /dev/null
@@ -1,59 +0,0 @@
-use chrono::{DateTime, Utc};
-use leptos::prelude::*;
-use leptos_chartistry::{
- AspectRatio, AxisMarker, Chart, Interpolation, IntoInner, Line, Period, RotatedLabel, Series,
- TickLabels, Timestamps, Tooltip, XGridLine, XGuideLine, YGridLine, YGuideLine,
-};
-use leptos_use::use_preferred_dark;
-
-#[component]
-pub fn TimeLineChart(
- #[prop(into)] name: RwSignal,
- #[prop(into)] data: Signal, f64)>>,
-) -> impl IntoView {
- let prefers_dark = use_preferred_dark();
-
- let line = {
- let mut line = Line::new(|data: &(DateTime, f64)| data.1)
- .with_interpolation(Interpolation::Linear);
- line.name = name;
- line
- };
-
- let top_label = {
- let mut label = RotatedLabel::middle("");
- label.text = name;
- label
- };
-
- view! {
-
- , f64)| data.0).line(line)
- data=data
- />
-
- }
-}
diff --git a/fmo_frontend/src/components/federation/general.rs b/fmo_frontend/src/components/federation/general.rs
deleted file mode 100644
index 6393267..0000000
--- a/fmo_frontend/src/components/federation/general.rs
+++ /dev/null
@@ -1,105 +0,0 @@
-use fedimint_core::config::JsonClientConfig;
-use leptos::prelude::*;
-
-#[component]
-pub fn General(config: JsonClientConfig) -> impl IntoView {
- let module_badges = get_modules(&config).into_iter().map(|module| {
- view! {
-
- {module}
-
- }
- }).collect::>();
-
- view! {
-
-
-
- Federation
-
-
-
-
-
-
-
-
- Network
-
- {get_network(&config)}
-
-
-
- Modules
-
- {module_badges}
-
-
-
- Confirmations
-
- Required
-
- {get_confirmations_required(&config)}
-
-
-
-
-
-
- }
-}
-
-fn get_network(cfg: &JsonClientConfig) -> String {
- // TODO: don't assume so much
- cfg.modules
- .iter()
- .find_map(|(_, m)| {
- if m.kind().as_str() != "wallet" {
- return None;
- }
-
- Some(
- m.value()["network"]
- .as_str()
- .expect("Network is of type string")
- .to_owned(),
- )
- })
- .expect("Wallet module is expected to be present")
-}
-
-fn get_modules(cfg: &JsonClientConfig) -> Vec {
- cfg.modules
- .values()
- .map(|m| m.kind().as_str().to_owned())
- .collect()
-}
-
-fn get_confirmations_required(cfg: &JsonClientConfig) -> u64 {
- // TODO: don't assume so much
- cfg.modules
- .iter()
- .find_map(|(_, m)| {
- if m.kind().as_str() != "wallet" {
- return None;
- }
-
- Some(
- m.value()["finality_delay"]
- .as_u64()
- .expect("finality_delay is of type integer")
- + 1,
- )
- })
- .expect("Wallet module is expected to be present")
-}
diff --git a/fmo_frontend/src/components/federation/guardians.rs b/fmo_frontend/src/components/federation/guardians.rs
deleted file mode 100644
index ecd6e66..0000000
--- a/fmo_frontend/src/components/federation/guardians.rs
+++ /dev/null
@@ -1,137 +0,0 @@
-use std::collections::BTreeMap;
-
-use fedimint_core::config::FederationId;
-use fedimint_core::util::backoff_util::background_backoff;
-use fedimint_core::util::retry;
-use fedimint_core::{NumPeers, PeerId};
-use fmo_api_types::GuardianHealth;
-use leptos::prelude::*;
-
-use crate::components::badge::{Badge, BadgeLevel};
-use crate::BASE_URL;
-
-#[component]
-pub fn Guardians(federation_id: FederationId, guardians: Vec) -> impl IntoView {
- let n = guardians.len();
- let t = NumPeers::from(n).threshold();
-
- let health_resource =
- LocalResource::new(move || async move { fetch_guardian_health(federation_id).await });
-
- let warn_if_true = |warn| {
- if warn {
- BadgeLevel::Warning
- } else {
- BadgeLevel::Success
- }
- };
-
- let guardians = guardians
- .into_iter()
- .enumerate()
- .map(|(guardian_idx, guardian)| {
- view! {
-
-
-
-
- {guardian.name}
-
-
- {guardian.url}
-
-
- { move || match health_resource.get() {
- Some(health) => {
- let health = health.get(&PeerId::from(guardian_idx as u16)).expect("Guardian exists").clone();
-
- let mut badges = vec![];
- if let Some(latest) = health.latest {
- badges.push(view! {
-
- Online
-
- }.into_view());
-
- badges.push(view! {
-
- {format!("Session {}", latest.session_count)}
-
- }.into_view());
-
- badges.push(view! {
-
- {format!("Block {}", latest.block_height - 1)}
-
- }.into_view());
- } else {
- badges.push(view! {
-
- Offline
-
- }.into_view());
- }
-
- view! { {badges} }.into_any()
- }
- None => {
- view! {
-
- "Loading"
-
- }.into_any()
- }
- }}
-
-
-
-
- }
- })
- .collect::>();
-
- view! {
-
-
-
- Guardians
-
-
- {format!("{} of {} Federation", t, n)}
-
-
-
-
- }
-}
-
-pub struct Guardian {
- pub name: String,
- pub url: String,
-}
-
-async fn fetch_guardian_health(id: FederationId) -> BTreeMap {
- retry(
- "fetching guardian health",
- background_backoff(),
- || async move {
- reqwest::get(format!("{}/federations/{}/health", BASE_URL, id))
- .await?
- .json::>()
- .await
- .map_err(Into::into)
- },
- )
- .await
- .expect("Will never return Err")
-}
diff --git a/fmo_frontend/src/components/federation/mod.rs b/fmo_frontend/src/components/federation/mod.rs
deleted file mode 100644
index b14a480..0000000
--- a/fmo_frontend/src/components/federation/mod.rs
+++ /dev/null
@@ -1,172 +0,0 @@
-mod activity;
-mod chart;
-mod general;
-mod guardians;
-pub mod nostr_vote;
-pub mod stars_selector;
-mod utxos;
-
-use std::collections::BTreeMap;
-use std::str::FromStr;
-
-use fedimint_core::config::{FederationId, JsonClientConfig};
-use leptos::prelude::*;
-use leptos_meta::Title;
-use leptos_router::hooks::use_params;
-use leptos_router::params::{Params, ParamsError, ParamsMap};
-use utxos::Utxos;
-
-use crate::components::federation::activity::ActivityChart;
-use crate::components::federation::general::General;
-use crate::components::federation::guardians::{Guardian, Guardians};
-use crate::components::federation::nostr_vote::NostrVote;
-use crate::components::tabs::{Tab, Tabs};
-use crate::BASE_URL;
-
-#[component]
-pub fn Federation() -> impl IntoView {
- let id = move || {
- let params = use_params::();
- params.with(|params| params.as_ref().map(|params| params.id).ok())
- };
-
- let config_resource = LocalResource::new(move || async move {
- match id() {
- Some(id) => {
- let config = fetch_federation_config(id)
- .await
- .map_err(|e| e.to_string())?;
- Result::<_, String>::Ok(config)
- }
- None => Err("No federation id".to_owned()),
- }
- });
-
- let meta_resource = LocalResource::new(move || async move {
- match id() {
- Some(id) => {
- let meta = fetch_federation_meta(id).await.map_err(|e| e.to_string())?;
- Result::<_, String>::Ok(meta)
- }
- None => Err("No federation id".to_owned()),
- }
- });
-
- view! {
- Invalid federation id
}
- }
- >
- {
- meta.get("federation_name")
- .and_then(|name| name.as_str())
- .map(|name| name.to_owned())
- .unwrap_or_else(|| id().unwrap().to_string())
- }
- _ => "Fedimint Observer".to_owned(),
- }
- }
- />
-
-
- {move || {
- match config_resource.get() {
- Some(Ok(config)) => {
- view! {
-
-
-
-
-
-
-
-
-
-
-
-
- }
- .into_any()
- }
- Some(Err(e)) => view! {
{format!("Error: {}", e)}
}.into_any(),
- None => view! {
"Loading..."
}.into_any(),
- }
- }}
-
-
-
- }
-}
-
-#[derive(Debug, Clone, PartialEq, Eq)]
-struct FederationParams {
- id: FederationId,
-}
-
-impl Params for FederationParams {
- fn from_map(map: &ParamsMap) -> Result {
- map.get("id")
- .and_then(|id| FederationId::from_str(id.as_str()).ok())
- .map(|id| FederationParams { id })
- .ok_or_else(|| ParamsError::MissingParam("id".into()))
- }
-}
-
-async fn fetch_federation_config(id: FederationId) -> Result {
- reqwest::get(format!("{}/federations/{}/config", BASE_URL, id))
- .await?
- .json()
- .await
- .map_err(Into::into)
-}
-
-async fn fetch_federation_meta(
- id: FederationId,
-) -> Result, anyhow::Error> {
- reqwest::get(format!("{}/federations/{}/meta", BASE_URL, id))
- .await?
- .json()
- .await
- .map_err(Into::into)
-}
diff --git a/fmo_frontend/src/components/federation/nostr_vote.rs b/fmo_frontend/src/components/federation/nostr_vote.rs
deleted file mode 100644
index 4ef864b..0000000
--- a/fmo_frontend/src/components/federation/nostr_vote.rs
+++ /dev/null
@@ -1,157 +0,0 @@
-use anyhow::ensure;
-use fedimint_core::config::{FederationId, JsonClientConfig};
-use leptos::prelude::*;
-use nostr_sdk::{EventBuilder, Kind, SingleLetterTag, Tag, TagKind};
-use reqwest::StatusCode;
-
-use crate::components::alert::{Alert, AlertLevel};
-use crate::components::federation::stars_selector::StarsSelector;
-use crate::BASE_URL;
-
-#[component]
-pub fn NostrVote(config: JsonClientConfig) -> impl IntoView {
- let federation_id = config.global.calculate_federation_id();
-
- let (in_progress, set_in_progress) = signal(false);
- let sign_rating_action = Action::<(u8, String), std::result::Result<(), String>>::new_local(
- move |(rating, comment): &(u8, String)| {
- let comment_inner = comment.clone();
- let rating_inner = *rating;
- async move {
- let res = sign_and_publish_rating(federation_id, rating_inner, &comment_inner)
- .await
- .map_err(|e| e.to_string());
- set_in_progress.set(false);
- res
- }
- },
- );
-
- let (rating, set_rating) = signal(5u8);
- let (comment, st_comment) = signal("".to_owned());
- view! {
-
- }
-}
-
-async fn sign_and_publish_rating(
- federation_id: FederationId,
- rating: u8,
- comment: &str,
-) -> anyhow::Result<()> {
- let signer = nostr_sdk::nostr::nips::nip07::Nip07Signer::new()?;
-
- let tags = vec![
- Tag::custom(
- TagKind::SingleLetter(SingleLetterTag::from_char('d').unwrap()),
- [federation_id.to_string()],
- ),
- Tag::custom(
- TagKind::SingleLetter(SingleLetterTag::from_char('n').unwrap()),
- ["mainnet"],
- ),
- Tag::custom(
- TagKind::SingleLetter(SingleLetterTag::from_char('k').unwrap()),
- ["38173"],
- ),
- ];
- let unsigned_event =
- EventBuilder::new(Kind::Custom(38000), format!("[{rating}/5] {comment}"), tags)
- .to_unsigned_event(signer.get_public_key().await?);
-
- let event = signer.sign_event(unsigned_event).await?;
-
- let client = reqwest::Client::new();
- let response = client
- .put(format!("{}/federations/nostr/rating", BASE_URL))
- .json(&event)
- .send()
- .await?;
-
- let status = response.status();
- ensure!(
- status == StatusCode::OK,
- "Unexpected status code {}",
- status
- );
-
- Ok(())
-}
diff --git a/fmo_frontend/src/components/federation/utxos.rs b/fmo_frontend/src/components/federation/utxos.rs
deleted file mode 100644
index 00338bd..0000000
--- a/fmo_frontend/src/components/federation/utxos.rs
+++ /dev/null
@@ -1,86 +0,0 @@
-use fedimint_core::config::FederationId;
-use fmo_api_types::FederationUtxo;
-use leptos::prelude::*;
-
-use crate::components::alert::{Alert, AlertLevel};
-use crate::util::AsBitcoin;
-
-#[component]
-pub fn Utxos(federation_id: FederationId) -> impl IntoView {
- let utxo_resource = LocalResource::new(move || fetch_federation_utxos(federation_id));
-
- view! {
- {move || {
- match utxo_resource.get() {
- Some(Ok(utxos)) => {
- let rows = utxos
- .iter()
- .map(|utxo| {
- view! {
-
-
-
-
-
- {utxo.out_point.txid.to_string()}
-
-
- ":" {utxo.out_point.vout.to_string()}
-
-
-
-
-
- {utxo.amount.as_bitcoin(8).to_string()}
-
-
- }
- })
- .collect_view();
- view! {
-
-
-
-
-
-
- "UTXOs ("
- {utxos.len()}
- " total)"
-
-
- Amount
-
-
-
- {rows}
-
-
- }.into_any()
- },
- Some(Err(e)) => view! { "Error: " {e}
}.into_any(),
- None => view! { "Loading ..."
}.into_any(),
- }
- }}
- }
-}
-
-async fn fetch_federation_utxos(
- federation_id: FederationId,
-) -> Result, String> {
- let url = format!("{}/federations/{}/utxos", crate::BASE_URL, federation_id);
- let res = reqwest::get(&url).await.map_err(|e| e.to_string())?;
- let json = res.json().await.map_err(|e| e.to_string())?;
- Ok(json)
-}
diff --git a/fmo_frontend/src/components/federations/federation_row.rs b/fmo_frontend/src/components/federations/federation_row.rs
deleted file mode 100644
index 4037720..0000000
--- a/fmo_frontend/src/components/federations/federation_row.rs
+++ /dev/null
@@ -1,73 +0,0 @@
-use fedimint_core::config::FederationId;
-use fedimint_core::Amount;
-use fmo_api_types::{FederationHealth, FederationRating};
-use leptos::either::Either;
-use leptos::prelude::*;
-
-use crate::components::badge::{Badge, BadgeLevel};
-use crate::components::federations::rating::Rating;
-use crate::components::Copyable;
-use crate::util::AsBitcoin;
-
-#[component]
-pub fn FederationRow(
- id: FederationId,
- name: String,
- rating: FederationRating,
- invite: String,
- total_assets: Amount,
- avg_txs: f64,
- avg_volume: Amount,
- health: FederationHealth,
-) -> impl IntoView {
- view! {
-
-
-
- {name}
-
-
-
-
-
-
- { match health {
- FederationHealth::Online => {
- Either::Left(view! { })
- },
- FederationHealth::Degraded => {
- Either::Right(view! {
-
- "Degraded"
-
- })
- }
- FederationHealth::Offline => {
- Either::Right(view! {
-
- "Offline"
-
- })
- },
- }}
-
- {total_assets.as_bitcoin(6).to_string()}
-
-
- {format!("#tx: {:.1}", avg_txs)}
- {format!("volume: {}", avg_volume.as_bitcoin(6))}
-
-
-
- }
- .into_view()
-}
diff --git a/fmo_frontend/src/components/federations/mod.rs b/fmo_frontend/src/components/federations/mod.rs
deleted file mode 100644
index 615d9af..0000000
--- a/fmo_frontend/src/components/federations/mod.rs
+++ /dev/null
@@ -1,201 +0,0 @@
-mod federation_row;
-pub mod rating;
-mod totals;
-
-use fedimint_core::Amount;
-use fmo_api_types::{FederationHealth, FederationSummary};
-use itertools::Itertools;
-use leptos::prelude::*;
-use leptos_meta::Title;
-
-use crate::components::federations::federation_row::FederationRow;
-use crate::components::federations::totals::Totals;
-use crate::BASE_URL;
-
-#[component]
-pub fn Federations() -> impl IntoView {
- let federations_res =
- LocalResource::new(|| async { fetch_federations().await.map_err(|e| e.to_string()) });
-
- fn to_row((summary, avg_txs, avg_volume): (FederationSummary, f64, Amount)) -> impl IntoView {
- view! {
-
- }
- }
-
- let active_rows = move || {
- Some(
- federations_res
- .get()?
- .ok()?
- .into_iter()
- .filter(|(summary, _, _)| summary.health != FederationHealth::Offline)
- .map(to_row)
- .collect::>(),
- )
- };
- let inactive_rows = move || {
- Some(
- federations_res
- .get()?
- .ok()?
- .into_iter()
- .filter(|(summary, _, _)| summary.health == FederationHealth::Offline)
- .map(to_row)
- .collect::>(),
- )
- };
-
- let (collapse_offline, set_collapse_offline) = signal(true);
-
- view! {
-
-
-
-
-
-
-
- "Observed Federations"
-
- "List of all active federations this instance is collecting statistics on"
-
-
-
-
-
- "Name"
-
-
-
- "Recommendations"
-
-
-
- "Invite Code"
-
-
- "Total Assets"
-
-
- "Average Activity (7d)"
-
-
-
- {active_rows}
-
-
-
-
-
-
-
-
- "Shut Down Federations"
-
- "List of federations that have ceased operations but were observed in the past"
-
-
-
-
-
- "Name"
-
-
-
- "Recommendations"
-
-
-
- "Invite Code"
-
-
- "Total Assets"
-
-
- "Average Activity (7d)"
-
-
-
- {inactive_rows}
-
-
- }
-}
-
-async fn fetch_federations() -> anyhow::Result> {
- fn rating_index(rating: &fmo_api_types::FederationRating) -> f64 {
- rating.avg.unwrap_or(0.0) * (rating.count as f64 + 1.0).log10()
- }
-
- let url = format!("{}/federations", BASE_URL);
- let response = reqwest::get(&url).await?;
- let federations: Vec = response.json().await?;
-
- let federations = federations
- .into_iter()
- .map(|federation_summary| {
- let avg_txs = federation_summary
- .last_7d_activity
- .iter()
- .map(|tx| tx.num_transactions)
- .sum::() as f64
- / federation_summary.last_7d_activity.len() as f64;
- let avg_volume = Amount::from_msats(
- federation_summary
- .last_7d_activity
- .iter()
- .map(|tx| tx.amount_transferred.msats)
- .sum::()
- / federation_summary.last_7d_activity.len() as u64,
- );
- (federation_summary, avg_txs, avg_volume)
- })
- .sorted_by(|(a, _, _), (b, _, _)| {
- rating_index(&b.nostr_votes).total_cmp(&rating_index(&a.nostr_votes))
- })
- .collect::>();
-
- Ok(federations)
-}
diff --git a/fmo_frontend/src/components/federations/rating.rs b/fmo_frontend/src/components/federations/rating.rs
deleted file mode 100644
index 4ddd02d..0000000
--- a/fmo_frontend/src/components/federations/rating.rs
+++ /dev/null
@@ -1,25 +0,0 @@
-use leptos::prelude::*;
-
-#[component]
-pub fn Rating(count: u64, rating: Option) -> impl IntoView {
- view! {
-
-
-
-
-
-
-
- {
- match rating {
- Some(rating) => format!("{:.1}", rating),
- None => "N/A".to_string()
- }
- }
-
-
-
{count} " votes"
-
-
- }
-}
diff --git a/fmo_frontend/src/components/federations/totals.rs b/fmo_frontend/src/components/federations/totals.rs
deleted file mode 100644
index 3110efe..0000000
--- a/fmo_frontend/src/components/federations/totals.rs
+++ /dev/null
@@ -1,99 +0,0 @@
-use fedimint_core::util::backoff_util::background_backoff;
-use fedimint_core::util::retry;
-use fmo_api_types::FedimintTotals;
-use leptos::prelude::*;
-use num_format::{Locale, ToFormattedString};
-
-#[component]
-pub fn Totals() -> impl IntoView {
- let totals_res = LocalResource::new(|| async {
- retry(
- "fetching federation totals",
- background_backoff(),
- fetch_federation_totals,
- )
- .await
- .expect("Will never return Err")
- });
-
- view! {
-
-
- {move || {
- match totals_res.get() {
- Some(totals) => {
- view! {
-
- {totals.federations.to_formatted_string(&Locale::en)}
-
- }
- }
- None => {
- view! {
-
- {"Loading...".to_string()}
-
- }
- }
- }
- }}
Observed Federations
-
-
-
- {move || {
- match totals_res.get() {
- Some(totals) => {
- view! {
-
- {totals.tx_count.to_formatted_string(&Locale::en)}
-
- }
- }
- None => {
- view! {
-
- {"Loading...".to_string()}
-
- }
- }
- }
- }}
Total Transactions
-
-
-
- {move || {
- view! {
-
-
-
-
- {match totals_res.get() {
- Some(totals) => {
- format!(
- "{:.*}",
- 5,
- totals.tx_volume.msats as f64 / 100_000_000_000f64,
- )
- }
- None => "Loading …".to_owned(),
- }}
-
- }
- }}
Total Volume
-
-
- }
-}
-
-async fn fetch_federation_totals() -> anyhow::Result {
- let url = format!("{}/federations/totals", crate::BASE_URL);
- let res = reqwest::get(&url).await?;
- Ok(res.json().await?)
-}
diff --git a/fmo_frontend/src/components/mod.rs b/fmo_frontend/src/components/mod.rs
deleted file mode 100644
index 65276b0..0000000
--- a/fmo_frontend/src/components/mod.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-mod alert;
-mod badge;
-pub mod button;
-mod copyable;
-mod federation;
-mod federations;
-mod navbar;
-pub mod nostr;
-mod tabs;
-
-pub use copyable::Copyable;
-pub use federation::Federation;
-pub use federations::Federations;
-pub use navbar::{NavBar, NavItem};
diff --git a/fmo_frontend/src/components/navbar.rs b/fmo_frontend/src/components/navbar.rs
deleted file mode 100644
index f77b2be..0000000
--- a/fmo_frontend/src/components/navbar.rs
+++ /dev/null
@@ -1,79 +0,0 @@
-use leptos::prelude::*;
-
-pub struct NavItem {
- pub name: String,
- pub href: String,
- pub active: bool,
-}
-
-#[component]
-pub fn NavBar(items: Vec) -> impl IntoView {
- let items = items.into_iter().map(|item| {
- if item.active {
- view! {
-
-
- {item.name}
-
-
- }
- } else {
- view! {
-
-
- {item.name}
-
-
- }
- }
- }).collect::>();
-
- view! {
-
-
-
- }
-}
diff --git a/fmo_frontend/src/components/nostr/check_federation.rs b/fmo_frontend/src/components/nostr/check_federation.rs
deleted file mode 100644
index bf57257..0000000
--- a/fmo_frontend/src/components/nostr/check_federation.rs
+++ /dev/null
@@ -1,415 +0,0 @@
-use std::borrow::Cow;
-use std::collections::BTreeMap;
-
-use anyhow::{ensure, Context};
-use fedimint_core::config::JsonClientConfig;
-use fedimint_core::core::ModuleKind;
-use fedimint_core::invite_code::InviteCode;
-use leptos::either::Either;
-use leptos::html::Input;
-use leptos::prelude::*;
-use leptos_router::hooks::use_query;
-use leptos_router::params::{Params, ParamsError, ParamsMap};
-use nostr_sdk::{EventBuilder, Kind, SingleLetterTag, Tag, TagKind};
-use reqwest::StatusCode;
-
-use crate::components::alert::{Alert, AlertLevel};
-use crate::components::badge::{Badge, BadgeLevel};
-use crate::components::button::{Button, SUCCESS_BUTTON};
-use crate::BASE_URL;
-
-#[derive(Debug, Clone)]
-struct FederationInfo {
- federation_name: String,
- federation_config: JsonClientConfig,
-}
-
-#[derive(Debug, Clone, PartialEq, Eq)]
-struct CheckQuery {
- check: Option,
-}
-
-impl Params for CheckQuery {
- fn from_map(map: &ParamsMap) -> Result {
- Ok(CheckQuery {
- check: map.get("check").map(|s| s.to_string()),
- })
- }
-}
-
-#[component]
-pub fn CheckFederation() -> impl IntoView {
- let invite_input_ref = NodeRef:: ::new();
- let query = use_query::();
-
- let check_federation_action =
- Action::<(), std::result::Result>::new_local(
- move |&()| async move {
- let check_federation_inner = move || async move {
- let invite_code = invite_input_ref
- .get_untracked()
- .expect("invite_input_ref should be loaded by now")
- .value();
-
- let federation_config = {
- let url = format!("{}/config/{invite_code}", BASE_URL);
- let response = reqwest::get(&url).await?;
- let config: JsonClientConfig = response.json().await?;
- config
- };
-
- let federation_name = {
- let url = format!("{}/config/{invite_code}/meta", BASE_URL);
- let response = reqwest::get(&url).await?;
- let meta: BTreeMap = response.json().await?;
- meta.get("federation_name")
- .context("No name found")?
- .as_str()
- .context("Name isn't a string")?
- .to_owned()
- };
-
- Result::<_, anyhow::Error>::Ok(FederationInfo {
- federation_name,
- federation_config,
- })
- };
-
- check_federation_inner().await.map_err(|e| e.to_string())
- },
- );
-
- fn or_loading(maybe_value: Option) -> impl IntoView {
- if let Some(value) = maybe_value {
- Either::Left(view! {
-
- {value}
-
- })
- } else {
- Either::Right(view! {
-
- })
- }
- }
-
- let federation_name = move || {
- or_loading(
- check_federation_action
- .value()
- .get()
- .and_then(|info| Some(info.ok()?.federation_name.clone())),
- )
- };
- let federation_guardians = move || {
- or_loading(
- check_federation_action
- .value()
- .get()
- .and_then(|info| Some(info.ok()?.federation_config.global.api_endpoints.len())),
- )
- };
- let federation_modules = move || {
- or_loading(check_federation_action.value().get().and_then(|info| {
- let info = info.ok()?;
- Some(
- get_modules(&info.federation_config)
- .into_iter()
- .map(|kind| {
- view! {
-
- {kind}
-
- }
- })
- .collect::>(),
- )
- }))
- };
- let federation_network = move || {
- or_loading(check_federation_action.value().get().and_then(|info| {
- let info = info.ok()?;
- Some(get_network(&info.federation_config))
- }))
- };
-
- let announce_federation_action =
- Action::<(), std::result::Result<(), String>>::new_local(move |&()| async move {
- let federation_info = check_federation_action
- .value()
- .get_untracked()
- .expect("Button should only be clickable if federation info was fetched")
- .expect(
- "Button should only be clickable if federation info fetching was successful",
- );
-
- sign_and_publish_federation(&federation_info.federation_config)
- .await
- .map_err(|e| e.to_string())?;
-
- Result::<_, String>::Ok(())
- });
- let announce_button_disabled = Signal::derive(move || {
- check_federation_action.pending().get()
- || !check_federation_action
- .value()
- .get()
- .map(|info| info.is_ok())
- .unwrap_or(false)
- || announce_federation_action.pending().get()
- || announce_federation_action
- .value()
- .get()
- .map(|res| res.is_ok())
- .unwrap_or(false)
- });
-
- // Handle deep-linking: auto-fill input and trigger check if 'check' parameter
- // is present
- Effect::new(move |_| {
- if let Ok(query_params) = query.get() {
- if let Some(ref check_value) = query_params.check {
- if let Some(input_element) = invite_input_ref.get() {
- input_element.set_value(check_value);
- check_federation_action.dispatch(());
- }
- }
- }
- });
-
- view! {
-
-
- Inspect Federation
-
- "Fetch federation info by invite code"
-
-
-
-
-
- {
- let error_alert = move || announce_federation_action.value().get()
- .and_then(|res| res.err())
- .map(|e| view! {
-
- });
- let success_alert = move || announce_federation_action.value().get()
- .and_then(|res| res.ok())
- .map(|_| view! {
-
- });
- view! {
- {error_alert}
- {success_alert}
- }
- }
-
- {
- let table_view = move || {
- (check_federation_action.pending().get() || check_federation_action.value().get().map(|info| info.is_ok()).unwrap_or(false))
- .then(|| view! {
-
-
-
-
-
-
- Name
-
- {federation_name}
-
-
-
- Guardians
-
- {federation_guardians}
-
-
-
- Modules
-
- {federation_modules}
-
-
-
- Network
-
- {federation_network}
-
-
-
-
-
- })
- };
- let error_alert = move || {
- check_federation_action.value().get()
- .and_then(|res| res.err())
- .map(|e| view! {
-
- })
- };
- view! {
- {table_view}
- {error_alert}
- }
- }
-
-
- }
-}
-
-fn get_network(config: &JsonClientConfig) -> String {
- config
- .modules
- .iter()
- .find_map(|(_, module)| {
- module.is_kind(&ModuleKind::from("wallet")).then(|| {
- module
- .value()
- .get("network")
- .expect("Network is of type string")
- .as_str()
- .expect("Network is of type string")
- .to_owned()
- })
- })
- .expect("Wallet module is expected to be present")
-}
-
-fn get_modules(config: &JsonClientConfig) -> Vec {
- config
- .modules
- .values()
- .map(|module| module.kind().as_str().to_owned())
- .collect()
-}
-
-async fn sign_and_publish_federation(config: &JsonClientConfig) -> anyhow::Result<()> {
- let signer = nostr_sdk::nostr::nips::nip07::Nip07Signer::new()?;
-
- let federation_id = config.global.calculate_federation_id().to_string();
- let invite_code = InviteCode::new_with_essential_num_guardians(
- &config
- .global
- .api_endpoints
- .iter()
- .map(|(&peer_id, peer_data)| (peer_id, peer_data.url.clone()))
- .collect(),
- config.global.calculate_federation_id(),
- )
- .to_string();
- let network = get_network(config);
- let modules = get_modules(config);
-
- let tags = vec![
- Tag::custom(
- TagKind::SingleLetter(SingleLetterTag::from_char('d').unwrap()),
- [federation_id],
- ),
- Tag::custom(
- TagKind::SingleLetter(SingleLetterTag::from_char('u').unwrap()),
- [invite_code],
- ),
- Tag::custom(
- TagKind::SingleLetter(SingleLetterTag::from_char('n').unwrap()),
- [network],
- ),
- Tag::custom(
- TagKind::Custom(Cow::Borrowed("modules")),
- [modules.join(",")],
- ),
- ];
- let unsigned_event = EventBuilder::new(
- Kind::Custom(38173),
- // TODO: make this take into account meta announcements or leave it out
- serde_json::to_string(&config.global.meta).expect("Meta should be serializable"),
- tags,
- )
- .to_unsigned_event(signer.get_public_key().await?);
-
- let event = signer.sign_event(unsigned_event).await?;
-
- let client = reqwest::Client::new();
- let response = client
- .put(format!("{}/nostr/federations", BASE_URL))
- .json(&event)
- .send()
- .await?;
-
- let status = response.status();
- ensure!(
- status == StatusCode::OK,
- "Unexpected status code {}",
- status
- );
-
- Ok(())
-}
diff --git a/fmo_frontend/src/components/nostr/mod.rs b/fmo_frontend/src/components/nostr/mod.rs
deleted file mode 100644
index 734c6f3..0000000
--- a/fmo_frontend/src/components/nostr/mod.rs
+++ /dev/null
@@ -1,241 +0,0 @@
-mod check_federation;
-mod nostr_federation_row;
-
-use std::collections::BTreeMap;
-
-use anyhow::Context;
-use check_federation::CheckFederation;
-use fedimint_core::config::FederationId;
-use fedimint_core::invite_code::InviteCode;
-use fedimint_core::util::backoff_util::background_backoff;
-use fedimint_core::util::retry;
-use fmo_api_types::FederationSummary;
-use leptos::prelude::*;
-use leptos_meta::Title;
-use nostr_federation_row::NostrFederationRow;
-
-use crate::BASE_URL;
-
-#[component]
-pub fn NostrFederations() -> impl IntoView {
- let nostr_federations_res = LocalResource::new(fetch_nostr_federations);
- let observed_federations_res = LocalResource::new(fetch_observed_federations);
-
- // Signal to store federation names as they are fetched
- let (federation_names, set_federation_names) = signal(BTreeMap::::new());
-
- let (collapse_offline, set_collapse_offline) = signal(true);
-
- // Spawn tasks to fetch each federation name independently
- Effect::new(move || {
- if let Some(federations) = nostr_federations_res.get() {
- for (federation_id, invite_code) in federations {
- // Spawn independent task for each federation
- leptos::task::spawn_local(async move {
- if let Some(name) = fetch_federation_name(invite_code).await {
- set_federation_names.update(|names| {
- names.insert(federation_id, name);
- });
- }
- });
- }
- }
- });
-
- view! {
-
-
-
-
-
-
-
- "Online Nostr Federations"
-
- "Federations announced via Nostr that are currently online"
-
-
-
-
-
- "Name"
-
-
- "Invite Code"
-
-
-
-
- { move || {
- let observed_ids = observed_federations_res.get()
- .unwrap_or_default()
- .into_iter()
- .map(|summary| summary.id)
- .collect::>();
-
- let names = federation_names.get();
-
- nostr_federations_res.get().unwrap_or_default()
- .into_iter()
- .filter_map(|(federation_id, invite_code)| {
- let name = names.get(&federation_id).cloned();
- // Only show if we have a name (online)
- name.as_ref()?;
- let is_observed = observed_ids.contains(&federation_id);
- Some(view! {
-
- })
- })
- .collect::>()
- }}
-
-
-
-
-
-
-
-
-
-
- "Offline Nostr Federations"
-
- "Federations announced via Nostr that are currently offline or unreachable"
-
-
-
-
-
- "Name"
-
-
- "Invite Code"
-
-
-
-
- { move || {
- let observed_ids = observed_federations_res.get()
- .unwrap_or_default()
- .into_iter()
- .map(|summary| summary.id)
- .collect::>();
-
- let names = federation_names.get();
-
- nostr_federations_res.get().unwrap_or_default()
- .into_iter()
- .filter_map(|(federation_id, invite_code)| {
- let name = names.get(&federation_id).cloned();
- // Only show if we don't have a name (offline)
- if name.is_some() {
- return None;
- }
- let is_observed = observed_ids.contains(&federation_id);
- Some(view! {
-
- })
- })
- .collect::>()
- }}
-
-
-
- }
-}
-async fn fetch_nostr_federations() -> BTreeMap {
- let url = format!("{}/nostr/federations", BASE_URL);
-
- let fetch_nostr_federations_impl = || {
- let url_inner = url.clone();
- async move {
- let response = reqwest::get(&url_inner).await?;
- let federations: BTreeMap = response.json().await?;
- Ok(federations)
- }
- };
-
- retry(
- "Fetching Nostr federations",
- background_backoff(),
- fetch_nostr_federations_impl,
- )
- .await
- .expect("Will never return Err")
-}
-
-async fn fetch_observed_federations() -> Vec {
- let url = format!("{}/federations", BASE_URL);
-
- let fetch_observed_federations_impl = || {
- let url_inner = url.clone();
- async move {
- let response = reqwest::get(&url_inner).await?;
- let federations: Vec = response.json().await?;
- Ok(federations)
- }
- };
-
- retry(
- "Fetching observed federations",
- background_backoff(),
- fetch_observed_federations_impl,
- )
- .await
- .expect("Will never return Err")
-}
-
-async fn fetch_federation_name(invite_code: InviteCode) -> Option {
- let url = format!("{}/config/{invite_code}/meta", BASE_URL);
-
- let response = reqwest::get(&url).await.ok()?;
- if !response.status().is_success() {
- return None;
- }
-
- let federation: BTreeMap = response.json().await.ok()?;
- federation
- .get("federation_name")
- .context("No name found")
- .ok()?
- .as_str()
- .context("Name isn't a string")
- .ok()
- .map(|s| s.to_owned())
-}
diff --git a/fmo_frontend/src/components/nostr/nostr_federation_row.rs b/fmo_frontend/src/components/nostr/nostr_federation_row.rs
deleted file mode 100644
index 8a81f79..0000000
--- a/fmo_frontend/src/components/nostr/nostr_federation_row.rs
+++ /dev/null
@@ -1,44 +0,0 @@
-use fedimint_core::config::FederationId;
-use fedimint_core::invite_code::InviteCode;
-use leptos::prelude::*;
-
-use crate::components::badge::{Badge, BadgeLevel};
-use crate::components::Copyable;
-
-#[component]
-pub fn NostrFederationRow(
- federation_id: FederationId,
- invite_code: InviteCode,
- is_observed: bool,
- federation_name: Option,
-) -> impl IntoView {
- view! {
-
-
-
-
- {federation_name.clone().unwrap_or_else(|| federation_id.to_string())}
-
- {
- // Show "Unobserved" badge if we have a name and federation is not observed
- if !is_observed && federation_name.is_some() {
- Some(view! {
-
- "Unobserved"
-
- })
- } else {
- None
- }
- }
-
-
-
-
-
-
- }
-}
diff --git a/fmo_frontend/src/components/tabs.rs b/fmo_frontend/src/components/tabs.rs
deleted file mode 100644
index 354587a..0000000
--- a/fmo_frontend/src/components/tabs.rs
+++ /dev/null
@@ -1,58 +0,0 @@
-use leptos::prelude::*;
-
-#[component]
-pub fn Tabs(#[prop(into)] default: String, children: Children) -> impl IntoView {
- let (active_tab, set_active_tab) = signal(default.clone());
-
- // Extract tab names from children - this is a simplified approach
- // In Leptos 0.8.x, we'll use a more direct approach
- let tabs = ["Activity", "UTXOs", "Config"];
-
- let tab_buttons = tabs.iter().map(|tab_name| {
- let tab_name_owned = tab_name.to_string();
- let tab_name_click = tab_name_owned.clone();
-
- const INACTIVE_CLASSES: &str = "inline-block p-4 border-b-2 border-transparent rounded-t-lg hover:text-gray-600 hover:border-gray-300 dark:hover:text-gray-300";
- const ACTIVE_CLASSES: &str = "inline-block p-4 text-blue-600 border-b-2 border-blue-600 rounded-t-lg active dark:text-blue-500 dark:border-blue-500";
-
- view! {
-
-
- {*tab_name}
-
-
- }
- }).collect_view();
-
- provide_context(active_tab);
-
- view! {
-
-
- {children()}
-
- }
-}
-
-#[component]
-pub fn Tab(#[prop(into)] name: String, children: Children) -> impl IntoView {
- let active_tab = use_context::>().expect("Tab must be used within Tabs");
-
- view! {
-
- {children()}
-
- }
-}
diff --git a/fmo_frontend/src/lib.rs b/fmo_frontend/src/lib.rs
deleted file mode 100644
index 845df05..0000000
--- a/fmo_frontend/src/lib.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-pub mod components;
-mod util;
-
-const BASE_URL: &str = match option_env!("FMO_API_SERVER") {
- Some(url) => url,
- None => "http://127.0.0.1:3000",
-};
diff --git a/fmo_frontend/src/main.rs b/fmo_frontend/src/main.rs
deleted file mode 100644
index ba52a32..0000000
--- a/fmo_frontend/src/main.rs
+++ /dev/null
@@ -1,48 +0,0 @@
-use fmo_frontend::components::nostr::NostrFederations;
-use fmo_frontend::components::{Federation, Federations, NavBar, NavItem};
-use leptos::prelude::*;
-use leptos_meta::{provide_meta_context, Link};
-use leptos_router::components::{Route, Router, Routes};
-use leptos_router::path;
-
-fn main() {
- // set up logging
- tracing_wasm::set_as_global_default();
- console_error_panic_hook::set_once();
- provide_meta_context();
-
- mount_to_body(move || {
- view! {
-
-
-
-
-
- "Page not found" }>
- }/>
- }/>
- }/>
- "About" }/>
-
-
-
-
- }
- })
-}
diff --git a/fmo_frontend/src/util.rs b/fmo_frontend/src/util.rs
deleted file mode 100644
index 9c9f200..0000000
--- a/fmo_frontend/src/util.rs
+++ /dev/null
@@ -1,32 +0,0 @@
-use std::fmt::Display;
-
-use fedimint_core::Amount;
-
-pub struct FmtBitcoin {
- amount: Amount,
- precision: usize,
-}
-
-impl Display for FmtBitcoin {
- fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
- write!(
- f,
- "{:.*} BTC",
- self.precision,
- self.amount.msats as f64 / 100_000_000_000f64
- )
- }
-}
-
-pub trait AsBitcoin {
- fn as_bitcoin(&self, precision: usize) -> FmtBitcoin;
-}
-
-impl AsBitcoin for Amount {
- fn as_bitcoin(&self, precision: usize) -> FmtBitcoin {
- FmtBitcoin {
- amount: *self,
- precision,
- }
- }
-}
diff --git a/fmo_frontend/style/tailwind.css b/fmo_frontend/style/tailwind.css
deleted file mode 100644
index b5c61c9..0000000
--- a/fmo_frontend/style/tailwind.css
+++ /dev/null
@@ -1,3 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
diff --git a/fmo_frontend/tailwind.config.js b/fmo_frontend/tailwind.config.js
deleted file mode 100644
index 1ce304b..0000000
--- a/fmo_frontend/tailwind.config.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/** @type {import('tailwindcss').Config} */
-module.exports = {
- content: {
- files: ["*.html", "**/*.rs"],
- },
- plugins: [
- ],
- // https://github.com/fedimint/ui/blob/master/packages/ui/src/theme.tsx
- theme: {
- fontFamily: {
- heading: ['Space Grotesk', 'monospace'],
- body: ['Inter', 'sans-serif'],
- },
- },
-};
diff --git a/fmo_server/Cargo.toml b/fmo_server/Cargo.toml
index f0cf657..c5a1f79 100644
--- a/fmo_server/Cargo.toml
+++ b/fmo_server/Cargo.toml
@@ -7,6 +7,7 @@ edition = "2021"
[dependencies]
fedimint-api-client = { workspace = true }
+fedimint-connectors = { workspace = true }
fedimint-core = { workspace = true }
fedimint-ln-common = { workspace = true }
fedimint-meta-client = { workspace = true }
diff --git a/fmo_server/src/config/meta.rs b/fmo_server/src/config/meta.rs
index 25eaa43..c83a26c 100644
--- a/fmo_server/src/config/meta.rs
+++ b/fmo_server/src/config/meta.rs
@@ -160,15 +160,16 @@ impl ConsensusMetaCache {
bail!("No meta module found in federation");
};
- let api_client = DynGlobalApi::from_endpoints(
- config
- .global
- .api_endpoints
- .iter()
- .map(|(peer_id, peer)| (*peer_id, peer.url.clone())),
- &None,
- )
- .await?;
+ let connectors = fedimint_connectors::ConnectorRegistry::build_from_client_env()?
+ .bind()
+ .await?;
+ let peers = config
+ .global
+ .api_endpoints
+ .iter()
+ .map(|(peer_id, peer)| (*peer_id, peer.url.clone()))
+ .collect();
+ let api_client = DynGlobalApi::new(connectors, peers, None)?;
let module_api = api_client.with_module(*meta_instance_id);
diff --git a/fmo_server/src/config/mod.rs b/fmo_server/src/config/mod.rs
index 4f577b0..eb4fa2d 100644
--- a/fmo_server/src/config/mod.rs
+++ b/fmo_server/src/config/mod.rs
@@ -86,8 +86,10 @@ impl FederationConfigCache {
}
async fn fetch_config_inner(invite: &InviteCode) -> anyhow::Result {
- let raw_config = fedimint_api_client::api::net::Connector::default()
- .download_from_invite_code(invite)
+ let connectors = fedimint_connectors::ConnectorRegistry::build_from_client_env()?
+ .bind()
.await?;
+ let (raw_config, _api) =
+ fedimint_api_client::download_from_invite_code(&connectors, invite).await?;
config_to_json(raw_config)
}
diff --git a/fmo_server/src/federation/guardians.rs b/fmo_server/src/federation/guardians.rs
index dd2f159..a2b4bc0 100644
--- a/fmo_server/src/federation/guardians.rs
+++ b/fmo_server/src/federation/guardians.rs
@@ -27,15 +27,13 @@ impl FederationObserver {
const REQUEST_INTERVAL: Duration = Duration::from_secs(60);
let mut interval = tokio::time::interval(REQUEST_INTERVAL);
- let api = DynGlobalApi::from_endpoints(
- config
- .global
- .api_endpoints
- .iter()
- .map(|(&peer_id, peer_url)| (peer_id, peer_url.url.clone())),
- &None,
- )
- .await?;
+ let peers = config
+ .global
+ .api_endpoints
+ .iter()
+ .map(|(&peer_id, peer_url)| (peer_id, peer_url.url.clone()))
+ .collect();
+ let api = DynGlobalApi::new(self.connectors().clone(), peers, None)?;
let wallet_module = config
.modules
diff --git a/fmo_server/src/federation/observer.rs b/fmo_server/src/federation/observer.rs
index ae982f6..70aa33f 100644
--- a/fmo_server/src/federation/observer.rs
+++ b/fmo_server/src/federation/observer.rs
@@ -6,8 +6,8 @@ use bitcoin::hashes::Hash;
use bitcoin::{Address, OutPoint, Txid};
use chrono::{DateTime, NaiveDate};
use deadpool_postgres::{GenericClient, Runtime, Transaction};
-use fedimint_api_client::api::net::Connector;
use fedimint_api_client::api::DynGlobalApi;
+use fedimint_connectors::ConnectorRegistry;
use fedimint_core::config::{ClientConfig, FederationId};
use fedimint_core::core::DynModuleConsensusItem;
use fedimint_core::encoding::Encodable;
@@ -52,6 +52,7 @@ pub struct FederationObserver {
mempool_url: String,
task_group: TaskGroup,
consensus_meta_cache: ConsensusMetaCache,
+ connectors: ConnectorRegistry,
}
impl FederationObserver {
@@ -68,12 +69,15 @@ impl FederationObserver {
pool_config.create_pool(Some(Runtime::Tokio1), NoTls)
}?;
+ let connectors = ConnectorRegistry::build_from_client_env()?.bind().await?;
+
let slf = FederationObserver {
connection_pool,
admin_auth: admin_auth.to_owned(),
mempool_url: mempool_url.to_owned(),
task_group: Default::default(),
consensus_meta_cache: Default::default(),
+ connectors,
};
slf.setup_schema().await?;
@@ -92,6 +96,10 @@ impl FederationObserver {
Ok(slf)
}
+ pub fn connectors(&self) -> &ConnectorRegistry {
+ &self.connectors
+ }
+
async fn spawn_observer(&self, federation: Federation) {
let slf = self.clone();
@@ -427,9 +435,8 @@ impl FederationObserver {
return Ok(federation_id);
}
- let config = Connector::default()
- .download_from_invite_code(invite)
- .await?;
+ let (config, _api) =
+ fedimint_api_client::download_from_invite_code(&self.connectors, invite).await?;
self.connection()
.await?
@@ -538,15 +545,13 @@ impl FederationObserver {
federation_id: FederationId,
config: ClientConfig,
) -> anyhow::Result<()> {
- let api = DynGlobalApi::from_endpoints(
- config
- .global
- .api_endpoints
- .iter()
- .map(|(&peer_id, peer_url)| (peer_id, peer_url.url.clone())),
- &None,
- )
- .await?;
+ let peers = config
+ .global
+ .api_endpoints
+ .iter()
+ .map(|(&peer_id, peer_url)| (peer_id, peer_url.url.clone()))
+ .collect();
+ let api = DynGlobalApi::new(self.connectors.clone(), peers, None)?;
let decoders = decoders_from_config(&config);
info!("Starting background job for {federation_id}");
diff --git a/justfile b/justfile
index b26197b..5bf52a6 100644
--- a/justfile
+++ b/justfile
@@ -23,7 +23,6 @@ build_package PACKAGE *ARGS:
build *ARGS:
just build_package fmo_server {{ARGS}}
- just build_package fmo_frontend --target wasm32-unknown-unknown {{ARGS}}
# run `cargo check` on everything
check_package PACKAGE *ARGS:
@@ -36,7 +35,6 @@ check_package PACKAGE *ARGS:
check *ARGS:
just check_package fmo_server {{ARGS}}
- just check_package fmo_frontend --target wasm32-unknown-unknown {{ARGS}}
# run all checks recommended before opening a PR
final-check: lint clippy
@@ -78,7 +76,6 @@ test_package PACKAGE:
test:
just test_package fmo_server
- just test_package fmo_frontend --target wasm32-unknown-unknown
# run and restart on changes
watch *ARGS="-x run":
@@ -96,7 +93,6 @@ clippy_package PACKAGE *ARGS="--locked":
clippy *ARGS="--locked":
just clippy_package fmo_server {{ARGS}}
- RUSTFLAGS="$RUSTFLAGS --cfg getrandom_backend=\"wasm_js\"" just clippy_package fmo_frontend --target wasm32-unknown-unknown {{ARGS}}
# run `cargo clippy --fix` on everything
clippy_fix-package PACKAGE *ARGS="--locked --offline":
@@ -104,7 +100,6 @@ clippy_fix-package PACKAGE *ARGS="--locked --offline":
clippy-fix *ARGS="--locked --offline":
just clippy_fix-package fmo_server {{ARGS}}
- just clippy_fix-package fmo_frontend --target wasm32-unknown-unknown {{ARGS}}
# run `semgrep`
semgrep:
diff --git a/justfile.fmo.just b/justfile.fmo.just
index 644e326..9287c44 100644
--- a/justfile.fmo.just
+++ b/justfile.fmo.just
@@ -10,9 +10,6 @@ pg_backup:
pg_restore BACKUP_FILE:
./scripts/pg_dev/restore.sh {{BACKUP_FILE}}
-serve_frontend:
- RUSTFLAGS=--cfg=web_sys_unstable_apis trunk serve fmo_frontend/index.html
-
# run the backend server
run *ARGS:
cargo run -p fmo_server {{ARGS}}
diff --git a/tailwind.config.js b/tailwind.config.js
deleted file mode 100644
index 1ce304b..0000000
--- a/tailwind.config.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/** @type {import('tailwindcss').Config} */
-module.exports = {
- content: {
- files: ["*.html", "**/*.rs"],
- },
- plugins: [
- ],
- // https://github.com/fedimint/ui/blob/master/packages/ui/src/theme.tsx
- theme: {
- fontFamily: {
- heading: ['Space Grotesk', 'monospace'],
- body: ['Inter', 'sans-serif'],
- },
- },
-};