diff --git a/.cargo/audit.toml b/.cargo/audit.toml index 39b3401..9aa8b03 100644 --- a/.cargo/audit.toml +++ b/.cargo/audit.toml @@ -12,8 +12,6 @@ ignore = [ # `paste` is unmaintained; transitive dep via revm's `ark-ff` and alloy's `syn-solidity`. "RUSTSEC-2024-0436", - # `rand` 0.8.5 unsoundness when `log` + `thread_rng` features are both enabled and a custom - # logger calls `rand::rng()` during reseeding. Our 0.8.5 (transitive via alloy-consensus) - # has neither feature enabled; our 0.9.4 is already patched. - "RUSTSEC-2026-0097", + # `proc-macro-error2` is unmaintained; transitive dep via alloy's `alloy-sol-macro`. + "RUSTSEC-2026-0173", ] diff --git a/CLAUDE.md b/CLAUDE.md index 7551eee..1afdf3e 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -38,6 +38,12 @@ crates/tracker-server/ - signet-tracker-server: HTTP/WS API server (lib + bin) src/ws/ handlers.rs - Axum WebSocket upgrade handlers for single-order and all-orders endpoints messages.rs - OrderFilter, StatusFilter for WS client filtering + examples/tui/ - Terminal UI client (ratatui + crossterm) subscribing to the all-orders WS endpoint + main.rs - Entry point: WS connection, terminal setup, key + WS message event loop + app.rs - App state (orders keyed by hash, table selection, running/connected flags) + ui.rs - ratatui rendering (order list table, detail pane, help bar) + examples/web/ - Single-page web client subscribing to the all-orders WS endpoint + index.html - Live order table with expandable per-order diagnostics ``` ## Build & Run diff --git a/Cargo.lock b/Cargo.lock index e9cde23..1da2bad 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3243,9 +3243,9 @@ dependencies = [ [[package]] name = "init4-bin-base" -version = "0.19.1" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d42c38d1bf7b5b7819b48a1f60cfae847a7ebe3ddf06358125dd361840742606" +checksum = "5ab5107dc68cc10d1cc74abe47e5490df2a4d2ec0db8f3b25f13acef2a6b1a16" dependencies = [ "alloy", "axum", @@ -3689,9 +3689,9 @@ dependencies = [ [[package]] name = "metrics" -version = "0.24.5" +version = "0.24.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff56c2e7dce6bd462e3b8919986a617027481b1dcc703175b58cf9dd98a2f071" +checksum = "89550ee9f79e88fef3119de263694973a8adb26c21d75322164fb8c493039fe2" dependencies = [ "portable-atomic", "rapidhash", @@ -5770,9 +5770,9 @@ dependencies = [ [[package]] name = "signet-bundle" -version = "0.16.3" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d4d5f8b7bad6fee6254eca7bdccd843e1de5a47cbcadd399e71b5e8605f494c" +checksum = "3dce158c5f71b2debf53edf20ef792b472aeef743a09a2a725cb6747343eec35" dependencies = [ "alloy", "serde", @@ -5786,9 +5786,9 @@ dependencies = [ [[package]] name = "signet-constants" -version = "0.16.3" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3861b25f99aed38198748040e095b4c785c74e5a966bc5125875f548d2be98ab" +checksum = "c0d77fc64cea008e81eb4444227bf3de17cc6ed5eb391f84dc8cbf90673abe88" dependencies = [ "alloy", "serde", @@ -5798,9 +5798,9 @@ dependencies = [ [[package]] name = "signet-evm" -version = "0.16.3" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be76b274a8bac7b54f723763b188ea1a89e826c9573d9d271912cd457d831dc" +checksum = "09692691cefd2ed41e831c31b07b92b0b948d492c489754629dd0c016532375f" dependencies = [ "alloy", "bitflags 2.11.1", @@ -5815,9 +5815,9 @@ dependencies = [ [[package]] name = "signet-extract" -version = "0.16.3" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aed99f57b3ed704cd6cd03970b51f5db30dc81ac2dcceac7246e9a4c4b5e605d" +checksum = "c0887b4cb48ecb0228675a0054f6e3dc69ac238c5a03953530e4301991abb6d1" dependencies = [ "alloy", "signet-types", @@ -5827,9 +5827,9 @@ dependencies = [ [[package]] name = "signet-journal" -version = "0.16.3" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2cbf0b212ef9b19039e21fea568a7d96edf450385657a963fcf4cab10295239" +checksum = "affbb6e3ee8cdd94eca7e54148d6ce13d0b42de0eeca92cd6cafee3e7a4ced77" dependencies = [ "alloy", "futures-util", @@ -5839,9 +5839,9 @@ dependencies = [ [[package]] name = "signet-orders" -version = "0.16.3" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dad20b2f586929479df979f6c95ab989b31b7476c724b08672677dc66916b052" +checksum = "ec06f956f60f1b627257692d94642defe4a584367c55730d9a6d4698d8b48d6f" dependencies = [ "alloy", "chrono", @@ -5857,7 +5857,7 @@ dependencies = [ [[package]] name = "signet-tracker" -version = "0.1.0" +version = "0.1.1" dependencies = [ "alloy", "futures-util", @@ -5875,7 +5875,7 @@ dependencies = [ [[package]] name = "signet-tracker-server" -version = "0.1.0" +version = "0.1.1" dependencies = [ "alloy", "axum", @@ -5905,9 +5905,9 @@ dependencies = [ [[package]] name = "signet-tx-cache" -version = "0.16.3" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efe3145d0c3589f577c01a09643ebf346289d371108dcfbd5d15065c76fe2e0d" +checksum = "41d56cca1146acae435adf991323e81fa0704b3e39ef830ab249354558cb9661" dependencies = [ "alloy", "futures-util", @@ -5924,9 +5924,9 @@ dependencies = [ [[package]] name = "signet-types" -version = "0.16.3" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8ea51bdcdaf3c36c954ae91f3c9fec81d8869fa36f033c90ebd05ee7e6e6e" +checksum = "06c7324022e5a0958717d682f17b9c54748ce2d936134ba5a1457bfcbe4568ef" dependencies = [ "alloy", "chrono", @@ -5938,9 +5938,9 @@ dependencies = [ [[package]] name = "signet-zenith" -version = "0.16.3" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "284952d63e753ff9d01bc5dd58320b0b70b43e220da85cd7c8f073a4fc8c3cd0" +checksum = "606a73c8975c90bdc33ca8180992559790912207525c3872760cbc9b93f9d3cb" dependencies = [ "alloy", "alloy-core", diff --git a/Cargo.toml b/Cargo.toml index ebcc692..e93fb80 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ members = ["crates/*"] resolver = "3" [workspace.package] -version = "0.1.0" +version = "0.1.1" edition = "2024" rust-version = "1.88" authors = ["init4"] @@ -26,12 +26,12 @@ all = "warn" [workspace.dependencies] signet-tracker = { path = "crates/tracker" } -signet-constants = "0.16.3" -signet-orders = "0.16.3" -signet-tx-cache = "0.16.3" -signet-types = "0.16.3" -signet-zenith = "0.16.3" -init4-bin-base = "0.19.0" +signet-constants = "0.19.0" +signet-orders = "0.19.0" +signet-tx-cache = "0.19.0" +signet-types = "0.19.0" +signet-zenith = "0.19.0" +init4-bin-base = "0.23.1" alloy = { version = "1.8.3", features = ["full"] } axum = { version = "0.8.8", features = ["json", "ws"] } diff --git a/crates/tracker-server/examples/tui/README.md b/crates/tracker-server/examples/tui/README.md index 8901b15..9207390 100644 --- a/crates/tracker-server/examples/tui/README.md +++ b/crates/tracker-server/examples/tui/README.md @@ -4,13 +4,13 @@ Terminal UI for monitoring Signet orders via the tracker server's WebSocket endp ## Prerequisites -The tracker server must be running. It requires several environment variables (example values for Parmigiana testnet): +The tracker server must be running. It requires several environment variables (example values for Gouda testnet): ```sh -export HOST_RPC_URL=https://host-rpc.parmigiana.signet.sh -export ROLLUP_RPC_URL=wss://rpc.parmigiana.signet.sh -export TX_POOL_URL=https://transactions.parmigiana.signet.sh -export CHAIN_NAME=parmigiana +export HOST_RPC_URL=https://host-rpc.gouda.signet.sh +export ROLLUP_RPC_URL=wss://rpc.gouda.signet.sh +export TX_POOL_URL=https://transactions.gouda.signet.sh +export CHAIN_NAME=gouda # optional: TRACKER_PORT (defaults to 8019) cargo run -p signet-tracker-server diff --git a/crates/tracker-server/examples/web/README.md b/crates/tracker-server/examples/web/README.md index 888bc21..7712465 100644 --- a/crates/tracker-server/examples/web/README.md +++ b/crates/tracker-server/examples/web/README.md @@ -4,13 +4,13 @@ Single-page web app for monitoring Signet orders via the tracker server's WebSoc ## Prerequisites -The tracker server must be running. It requires several environment variables (example values for Parmigiana testnet): +The tracker server must be running. It requires several environment variables (example values for Gouda testnet): ```sh -export HOST_RPC_URL=https://host-rpc.parmigiana.signet.sh -export ROLLUP_RPC_URL=wss://rpc.parmigiana.signet.sh -export TX_POOL_URL=https://transactions.parmigiana.signet.sh -export CHAIN_NAME=parmigiana +export HOST_RPC_URL=https://host-rpc.gouda.signet.sh +export ROLLUP_RPC_URL=wss://rpc.gouda.signet.sh +export TX_POOL_URL=https://transactions.gouda.signet.sh +export CHAIN_NAME=gouda # optional: TRACKER_PORT (defaults to 8019) cargo run -p signet-tracker-server