[INFO] cloning repository https://github.com/asieglinger/polymarket-scraper
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/asieglinger/polymarket-scraper" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fasieglinger%2Fpolymarket-scraper", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fasieglinger%2Fpolymarket-scraper'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 025e11e68ed2920cd8d45070248f24e72e365350
[INFO] checking asieglinger/polymarket-scraper against 895980e0290783bb09b1ccf1b11f14eb09b10430 for pr-160186
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fasieglinger%2Fpolymarket-scraper" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/asieglinger/polymarket-scraper
[INFO] finished tweaking git repo https://github.com/asieglinger/polymarket-scraper
[INFO] tweaked toml for git repo https://github.com/asieglinger/polymarket-scraper written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/asieglinger/polymarket-scraper on toolchain 895980e0290783bb09b1ccf1b11f14eb09b10430
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/asieglinger/polymarket-scraper already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 7d985afcf45daab93b508520ff28b4d69ebe43d3c06ed9619a8681b1f0692542
[INFO] running `Command { std: "docker" "start" "7d985afcf45daab93b508520ff28b4d69ebe43d3c06ed9619a8681b1f0692542", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7d985afcf45daab93b508520ff28b4d69ebe43d3c06ed9619a8681b1f0692542", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7d985afcf45daab93b508520ff28b4d69ebe43d3c06ed9619a8681b1f0692542" "/opt/rustwide/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7d985afcf45daab93b508520ff28b4d69ebe43d3c06ed9619a8681b1f0692542", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7d985afcf45daab93b508520ff28b4d69ebe43d3c06ed9619a8681b1f0692542" "/opt/rustwide/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.104
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling find-msvc-tools v0.1.6
[INFO] [stderr]     Checking bytes v1.11.0
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]     Checking openssl-probe v0.1.6
[INFO] [stderr]     Checking indexmap v2.12.1
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling zmij v1.0.3
[INFO] [stderr]     Checking ryu v1.0.22
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]     Checking regex-syntax v0.8.8
[INFO] [stderr]    Compiling serde_json v1.0.148
[INFO] [stderr]     Checking allocator-api2 v0.2.21
[INFO] [stderr]    Compiling cc v1.2.51
[INFO] [stderr]    Compiling instability v0.3.10
[INFO] [stderr]     Checking ipnet v2.11.0
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]     Checking castaway v0.2.4
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]     Checking data-encoding v2.9.0
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]     Checking clap_lex v0.7.6
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]     Checking compact_str v0.8.1
[INFO] [stderr]     Checking clap_builder v4.5.53
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking rustls-pki-types v1.13.2
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]     Checking unicode-width v0.2.0
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]     Checking iana-time-zone v0.1.64
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking socket2 v0.6.1
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking signal-hook v0.3.18
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking hashlink v0.9.1
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]     Checking tokio v1.48.0
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]     Checking clap v4.5.53
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]     Checking ratatui v0.29.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking chrono v0.4.42
[INFO] [stderr]     Checking tungstenite v0.24.0
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.7
[INFO] [stderr]     Checking rusqlite v0.32.1
[INFO] [stderr]     Checking tokio-util v0.7.17
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking tokio-tungstenite v0.24.0
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking h2 v0.4.12
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking hyper-util v0.1.19
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking polymarket-scraper v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `DatabaseWriter`
[INFO] [stdout]  --> src/db/mod.rs:4:49
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use writer::{create_writer, DatabaseReader, DatabaseWriter, DbCommand};
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/processor/activity.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, info, warn};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TrackedMarket`
[INFO] [stdout]  --> src/processor/algo.rs:3:47
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::processor::market::{MarketManager, TrackedMarket};
[INFO] [stdout]   |                                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/processor/market.rs:9:35
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tracing::{debug, error, info, warn};
[INFO] [stdout]   |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OrderBookLevel`
[INFO] [stdout]  --> src/processor/orderbook.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::api::types::{OrderBookLevel, OrderBookSnapshotEvent, OrderBookUpdateEvent};
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/processor/price.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::{debug, info};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AlgoState` and `TradingState`
[INFO] [stdout]  --> src/processor/mod.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use algo::{AlgoProcessor, AlgoState, Signal, StrategyType, TheoreticalTrade, TradingState};
[INFO] [stdout]   |                               ^^^^^^^^^                                          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MarketState`
[INFO] [stdout]  --> src/processor/mod.rs:9:33
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use market::{MarketManager, MarketState, TrackedMarket};
[INFO] [stdout]   |                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TheoreticalTrade`
[INFO] [stdout]  --> src/ui/terminal.rs:4:76
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::processor::{AlgoProcessor, Signal, StrategyType, TrackedMarket, TheoreticalTrade};
[INFO] [stdout]   |                                                                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing_subscriber::layer::SubscriberExt`
[INFO] [stdout]   --> src/main.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |         use tracing_subscriber::layer::SubscriberExt;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DatabaseWriter`
[INFO] [stdout]  --> src/db/mod.rs:4:49
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use writer::{create_writer, DatabaseReader, DatabaseWriter, DbCommand};
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/processor/activity.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, info, warn};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TrackedMarket`
[INFO] [stdout]  --> src/processor/algo.rs:3:47
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::processor::market::{MarketManager, TrackedMarket};
[INFO] [stdout]   |                                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/processor/market.rs:9:35
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tracing::{debug, error, info, warn};
[INFO] [stdout]   |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OrderBookLevel`
[INFO] [stdout]  --> src/processor/orderbook.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::api::types::{OrderBookLevel, OrderBookSnapshotEvent, OrderBookUpdateEvent};
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/processor/price.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::{debug, info};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AlgoState` and `TradingState`
[INFO] [stdout]  --> src/processor/mod.rs:8:31
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use algo::{AlgoProcessor, AlgoState, Signal, StrategyType, TheoreticalTrade, TradingState};
[INFO] [stdout]   |                               ^^^^^^^^^                                          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MarketState`
[INFO] [stdout]  --> src/processor/mod.rs:9:33
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use market::{MarketManager, MarketState, TrackedMarket};
[INFO] [stdout]   |                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TheoreticalTrade`
[INFO] [stdout]  --> src/ui/terminal.rs:4:76
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::processor::{AlgoProcessor, Signal, StrategyType, TrackedMarket, TheoreticalTrade};
[INFO] [stdout]   |                                                                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing_subscriber::layer::SubscriberExt`
[INFO] [stdout]   --> src/main.rs:53:13
[INFO] [stdout]    |
[INFO] [stdout] 53 |         use tracing_subscriber::layer::SubscriberExt;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db_id`
[INFO] [stdout]    --> src/processor/market.rs:232:33
[INFO] [stdout]     |
[INFO] [stdout] 232 |                     if let Some(db_id) = old.db_id {
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_db_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `side_color`
[INFO] [stdout]    --> src/ui/terminal.rs:403:17
[INFO] [stdout]     |
[INFO] [stdout] 403 |             let side_color = if a.side == "UP" { Color::Green } else { Color::Red };
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_side_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `db_id`
[INFO] [stdout]    --> src/processor/market.rs:232:33
[INFO] [stdout]     |
[INFO] [stdout] 232 |                     if let Some(db_id) = old.db_id {
[INFO] [stdout]     |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_db_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_pnl`
[INFO] [stdout]    --> src/ui/terminal.rs:515:9
[INFO] [stdout]     |
[INFO] [stdout] 515 |     let total_pnl = cached.realized_pnl + cached.live_pnl;
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_pnl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `side_color`
[INFO] [stdout]    --> src/ui/terminal.rs:403:17
[INFO] [stdout]     |
[INFO] [stdout] 403 |             let side_color = if a.side == "UP" { Color::Green } else { Color::Red };
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_side_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_pnl`
[INFO] [stdout]    --> src/ui/terminal.rs:515:9
[INFO] [stdout]     |
[INFO] [stdout] 515 |     let total_pnl = cached.realized_pnl + cached.live_pnl;
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_pnl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClobClient` is never constructed
[INFO] [stdout]  --> src/api/clob.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ClobClient {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `fetch_order_book`, and `fetch_price` are never used
[INFO] [stdout]   --> src/api/clob.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl ClobClient {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 12 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub async fn fetch_order_book(&self, token_id: &str) -> Result<OrderBook> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub async fn fetch_price(&self, token_id: &str, side: &str) -> Result<f64> {
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `slug`, and `title` are never read
[INFO] [stdout]   --> src/api/types.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct GammaEvent {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 11 |     pub id: String,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 12 |     pub slug: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 13 |     pub title: String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GammaEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `outcomes`, `outcome_prices`, `volume`, `liquidity`, and `closed` are never read
[INFO] [stdout]   --> src/api/types.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct GammaMarket {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 22 |     pub id: String,
[INFO] [stdout]    |         ^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub outcomes: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 31 |     #[serde(default)]
[INFO] [stdout] 32 |     pub outcome_prices: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub volume: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 36 |     #[serde(default)]
[INFO] [stdout] 37 |     pub liquidity: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub closed: bool,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GammaMarket` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OrderBook` is never constructed
[INFO] [stdout]   --> src/api/types.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct OrderBook {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PriceResponse` is never constructed
[INFO] [stdout]   --> src/api/types.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct PriceResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `market` and `timestamp` are never read
[INFO] [stdout]    --> src/api/types.rs:156:9
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct ClobWsMessage {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub market: Option<String>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     pub timestamp: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ClobWsMessage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `MarketDiscovered` and `MarketResolved` are never constructed
[INFO] [stdout]    --> src/api/types.rs:175:5
[INFO] [stdout]     |
[INFO] [stdout] 170 | pub enum Event {
[INFO] [stdout]     |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 175 |     MarketDiscovered(MarketInfo),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 176 |     MarketResolved(String), // market_id
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Event` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `timestamp` is never read
[INFO] [stdout]    --> src/api/types.rs:217:9
[INFO] [stdout]     |
[INFO] [stdout] 212 | pub struct OrderBookUpdateEvent {
[INFO] [stdout]     |            -------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 217 |     pub timestamp: i64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OrderBookUpdateEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `question` is never read
[INFO] [stdout]    --> src/api/types.rs:231:9
[INFO] [stdout]     |
[INFO] [stdout] 223 | pub struct MarketInfo {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 231 |     pub question: String,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MarketInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CLOB_API` is never used
[INFO] [stdout]    --> src/config.rs:102:15
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub const CLOB_API: &str = "https://clob.polymarket.com";
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA_API` is never used
[INFO] [stdout]    --> src/config.rs:103:15
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub const DATA_API: &str = "https://data-api.polymarket.com";
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `SetResolution` and `Flush` are never constructed
[INFO] [stdout]   --> src/db/writer.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum DbCommand {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 16 |     SetResolution { market_id: i64, resolution: String, final_price: f64 },
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     Flush,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DbCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_market_id` is never used
[INFO] [stdout]    --> src/db/writer.rs:280:12
[INFO] [stdout]     |
[INFO] [stdout]  39 | impl DatabaseWriter {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 280 |     pub fn get_market_id(&mut self, slug: &str) -> Option<i64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_market_by_slug`, `get_recent_activity`, `get_activity_count`, and `get_latest_price` are never used
[INFO] [stdout]    --> src/db/writer.rs:340:12
[INFO] [stdout]     |
[INFO] [stdout] 334 | impl DatabaseReader {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 340 |     pub fn get_market_by_slug(&self, slug: &str) -> Option<(i64, Option<f64>)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 350 |     pub fn get_recent_activity(&self, market_id: i64, limit: usize) -> Vec<ActivityEvent> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 379 |     pub fn get_activity_count(&self, market_id: i64) -> i64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 389 |     pub fn get_latest_price(&self, token: &str) -> Option<f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `InvalidTokenId` is never constructed
[INFO] [stdout]   --> src/error.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Error {
[INFO] [stdout]    |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 27 |     InvalidTokenId,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `market_id` is never read
[INFO] [stdout]   --> src/processor/algo.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct TheoreticalTrade {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub market_id: Option<i64>,  // Track which market this belongs to
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TheoreticalTrade` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `market_id`, `token`, and `market_end_time` are never read
[INFO] [stdout]   --> src/processor/algo.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct MarketPosition {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 71 |     pub market_id: i64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 72 |     pub token: Token,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub market_end_time: i64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MarketPosition` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `resolved_pnl` is never used
[INFO] [stdout]    --> src/processor/algo.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout]  82 | impl MarketPosition {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn resolved_pnl(&self, winner: &str) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/processor/algo.rs:151:9
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub struct ResolvedMarket {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 151 |     pub market_id: i64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 152 |     pub token: Token,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 153 |     pub winner: String,  // "UP" or "DOWN"
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 154 |     pub pnl: f64,
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 155 |     pub up_shares: f64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 156 |     pub down_shares: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 157 |     pub total_cost: f64,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ResolvedMarket` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `timestamp`, `up_bid`, `up_ask`, `down_bid`, and `down_ask` are never read
[INFO] [stdout]    --> src/processor/algo.rs:178:5
[INFO] [stdout]     |
[INFO] [stdout] 177 | struct PriceSnapshot {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] 178 |     timestamp: i64,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 179 |     up_bid: u32,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 180 |     up_ask: u32,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 181 |     down_bid: u32,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 182 |     down_ask: u32,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PriceSnapshot` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `resolved` is never read
[INFO] [stdout]    --> src/processor/algo.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub struct AlgoProcessor {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 194 |     resolved: Vec<ResolvedMarket>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_total_pnl`, `set_market`, and `resolve_market` are never used
[INFO] [stdout]    --> src/processor/algo.rs:252:12
[INFO] [stdout]     |
[INFO] [stdout] 213 | impl AlgoProcessor {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 252 |     pub fn get_total_pnl(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 257 |     pub fn set_market(&mut self, token: Token, market_id: i64, end_time: i64) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     pub fn resolve_market(&mut self, market_id: i64, winner: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AlgoState` is never constructed
[INFO] [stdout]    --> src/processor/algo.rs:783:12
[INFO] [stdout]     |
[INFO] [stdout] 783 | pub struct AlgoState {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Resolved` is never constructed
[INFO] [stdout]   --> src/processor/market.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum MarketState {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 16 |     Resolved, // Ended
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MarketState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `next_markets`, `get_market_id_for_slug`, and `get_subscription_token_ids` are never used
[INFO] [stdout]    --> src/processor/market.rs:99:12
[INFO] [stdout]     |
[INFO] [stdout]  44 | impl MarketManager {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn next_markets(&self) -> Arc<RwLock<HashMap<Token, TrackedMarket>>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 |     pub async fn get_market_id_for_slug(&self, slug: &str) -> Option<i64> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 352 |     pub async fn get_subscription_token_ids(&self) -> Vec<(String, String, i64)> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `register_token`, `unregister_token`, `get_order_book`, `get_all_order_books`, and `snapshot_all` are never used
[INFO] [stdout]    --> src/processor/orderbook.rs:44:12
[INFO] [stdout]     |
[INFO] [stdout]  26 | impl OrderBookProcessor {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  44 |     pub fn register_token(&mut self, token_id: String, market_id: i64, side: String, token: Token) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     pub fn unregister_token(&mut self, token_id: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn get_order_book(&self, token_id: &str) -> Option<&OrderBookState> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn get_all_order_books(&self) -> &HashMap<String, OrderBookState> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub async fn snapshot_all(&mut self) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_latest_price` and `get_all_prices` are never used
[INFO] [stdout]   --> src/processor/price.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl PriceProcessor {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn get_latest_price(&self, token: Token) -> Option<f64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn get_all_prices(&self) -> &HashMap<Token, f64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `total_cost` is never read
[INFO] [stdout]   --> src/ui/terminal.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct CachedAlgoState {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub total_cost: f64,       // Money spent on current market
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CachedAlgoState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `time` is never read
[INFO] [stdout]   --> src/ui/terminal.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct CachedTrade {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 43 |     pub time: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CachedTrade` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClobClient` is never constructed
[INFO] [stdout]  --> src/api/clob.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ClobClient {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `fetch_order_book`, and `fetch_price` are never used
[INFO] [stdout]   --> src/api/clob.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl ClobClient {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 12 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub async fn fetch_order_book(&self, token_id: &str) -> Result<OrderBook> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub async fn fetch_price(&self, token_id: &str, side: &str) -> Result<f64> {
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fetch_open_events` is never used
[INFO] [stdout]   --> src/api/gamma.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl GammaClient {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub async fn fetch_open_events(&self) -> Result<Vec<GammaEvent>> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `slug`, and `title` are never read
[INFO] [stdout]   --> src/api/types.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct GammaEvent {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 11 |     pub id: String,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 12 |     pub slug: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 13 |     pub title: String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GammaEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `outcomes`, `outcome_prices`, `volume`, `liquidity`, and `closed` are never read
[INFO] [stdout]   --> src/api/types.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct GammaMarket {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 22 |     pub id: String,
[INFO] [stdout]    |         ^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub outcomes: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 31 |     #[serde(default)]
[INFO] [stdout] 32 |     pub outcome_prices: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub volume: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 36 |     #[serde(default)]
[INFO] [stdout] 37 |     pub liquidity: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub closed: bool,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GammaMarket` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OrderBook` is never constructed
[INFO] [stdout]   --> src/api/types.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct OrderBook {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PriceResponse` is never constructed
[INFO] [stdout]   --> src/api/types.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct PriceResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `market` and `timestamp` are never read
[INFO] [stdout]    --> src/api/types.rs:156:9
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct ClobWsMessage {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub market: Option<String>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     pub timestamp: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ClobWsMessage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `MarketDiscovered` and `MarketResolved` are never constructed
[INFO] [stdout]    --> src/api/types.rs:175:5
[INFO] [stdout]     |
[INFO] [stdout] 170 | pub enum Event {
[INFO] [stdout]     |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 175 |     MarketDiscovered(MarketInfo),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 176 |     MarketResolved(String), // market_id
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Event` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `timestamp` is never read
[INFO] [stdout]    --> src/api/types.rs:217:9
[INFO] [stdout]     |
[INFO] [stdout] 212 | pub struct OrderBookUpdateEvent {
[INFO] [stdout]     |            -------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 217 |     pub timestamp: i64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OrderBookUpdateEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `question` is never read
[INFO] [stdout]    --> src/api/types.rs:231:9
[INFO] [stdout]     |
[INFO] [stdout] 223 | pub struct MarketInfo {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 231 |     pub question: String,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MarketInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CLOB_API` is never used
[INFO] [stdout]    --> src/config.rs:102:15
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub const CLOB_API: &str = "https://clob.polymarket.com";
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA_API` is never used
[INFO] [stdout]    --> src/config.rs:103:15
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub const DATA_API: &str = "https://data-api.polymarket.com";
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `SetResolution` and `Flush` are never constructed
[INFO] [stdout]   --> src/db/writer.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum DbCommand {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 16 |     SetResolution { market_id: i64, resolution: String, final_price: f64 },
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     Flush,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DbCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_market_id` is never used
[INFO] [stdout]    --> src/db/writer.rs:280:12
[INFO] [stdout]     |
[INFO] [stdout]  39 | impl DatabaseWriter {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 280 |     pub fn get_market_id(&mut self, slug: &str) -> Option<i64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_market_by_slug`, `get_recent_activity`, `get_activity_count`, and `get_latest_price` are never used
[INFO] [stdout]    --> src/db/writer.rs:340:12
[INFO] [stdout]     |
[INFO] [stdout] 334 | impl DatabaseReader {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 340 |     pub fn get_market_by_slug(&self, slug: &str) -> Option<(i64, Option<f64>)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 350 |     pub fn get_recent_activity(&self, market_id: i64, limit: usize) -> Vec<ActivityEvent> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 379 |     pub fn get_activity_count(&self, market_id: i64) -> i64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 389 |     pub fn get_latest_price(&self, token: &str) -> Option<f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `InvalidTokenId` is never constructed
[INFO] [stdout]   --> src/error.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Error {
[INFO] [stdout]    |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 27 |     InvalidTokenId,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `market_id` is never read
[INFO] [stdout]   --> src/processor/algo.rs:65:9
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct TheoreticalTrade {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub market_id: Option<i64>,  // Track which market this belongs to
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TheoreticalTrade` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `market_id`, `token`, and `market_end_time` are never read
[INFO] [stdout]   --> src/processor/algo.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct MarketPosition {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 71 |     pub market_id: i64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 72 |     pub token: Token,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub market_end_time: i64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MarketPosition` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `resolved_pnl` is never used
[INFO] [stdout]    --> src/processor/algo.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout]  82 | impl MarketPosition {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn resolved_pnl(&self, winner: &str) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/processor/algo.rs:151:9
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub struct ResolvedMarket {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 151 |     pub market_id: i64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 152 |     pub token: Token,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 153 |     pub winner: String,  // "UP" or "DOWN"
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 154 |     pub pnl: f64,
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 155 |     pub up_shares: f64,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 156 |     pub down_shares: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 157 |     pub total_cost: f64,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ResolvedMarket` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `timestamp`, `up_bid`, `up_ask`, `down_bid`, and `down_ask` are never read
[INFO] [stdout]    --> src/processor/algo.rs:178:5
[INFO] [stdout]     |
[INFO] [stdout] 177 | struct PriceSnapshot {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] 178 |     timestamp: i64,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 179 |     up_bid: u32,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 180 |     up_ask: u32,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 181 |     down_bid: u32,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 182 |     down_ask: u32,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PriceSnapshot` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `resolved` is never read
[INFO] [stdout]    --> src/processor/algo.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub struct AlgoProcessor {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 194 |     resolved: Vec<ResolvedMarket>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_total_pnl`, `set_market`, and `resolve_market` are never used
[INFO] [stdout]    --> src/processor/algo.rs:252:12
[INFO] [stdout]     |
[INFO] [stdout] 213 | impl AlgoProcessor {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 252 |     pub fn get_total_pnl(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 257 |     pub fn set_market(&mut self, token: Token, market_id: i64, end_time: i64) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     pub fn resolve_market(&mut self, market_id: i64, winner: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AlgoState` is never constructed
[INFO] [stdout]    --> src/processor/algo.rs:783:12
[INFO] [stdout]     |
[INFO] [stdout] 783 | pub struct AlgoState {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Resolved` is never constructed
[INFO] [stdout]   --> src/processor/market.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum MarketState {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 16 |     Resolved, // Ended
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MarketState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `next_markets`, `get_market_id_for_slug`, and `get_subscription_token_ids` are never used
[INFO] [stdout]    --> src/processor/market.rs:99:12
[INFO] [stdout]     |
[INFO] [stdout]  44 | impl MarketManager {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn next_markets(&self) -> Arc<RwLock<HashMap<Token, TrackedMarket>>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 |     pub async fn get_market_id_for_slug(&self, slug: &str) -> Option<i64> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 352 |     pub async fn get_subscription_token_ids(&self) -> Vec<(String, String, i64)> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `register_token`, `unregister_token`, `get_order_book`, `get_all_order_books`, and `snapshot_all` are never used
[INFO] [stdout]    --> src/processor/orderbook.rs:44:12
[INFO] [stdout]     |
[INFO] [stdout]  26 | impl OrderBookProcessor {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  44 |     pub fn register_token(&mut self, token_id: String, market_id: i64, side: String, token: Token) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     pub fn unregister_token(&mut self, token_id: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn get_order_book(&self, token_id: &str) -> Option<&OrderBookState> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn get_all_order_books(&self) -> &HashMap<String, OrderBookState> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub async fn snapshot_all(&mut self) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_latest_price` and `get_all_prices` are never used
[INFO] [stdout]   --> src/processor/price.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl PriceProcessor {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn get_latest_price(&self, token: Token) -> Option<f64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn get_all_prices(&self) -> &HashMap<Token, f64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `total_cost` is never read
[INFO] [stdout]   --> src/ui/terminal.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct CachedAlgoState {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub total_cost: f64,       // Money spent on current market
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CachedAlgoState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `time` is never read
[INFO] [stdout]   --> src/ui/terminal.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct CachedTrade {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 43 |     pub time: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CachedTrade` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 57.84s
[INFO] running `Command { std: "docker" "inspect" "7d985afcf45daab93b508520ff28b4d69ebe43d3c06ed9619a8681b1f0692542", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7d985afcf45daab93b508520ff28b4d69ebe43d3c06ed9619a8681b1f0692542", kill_on_drop: false }`
[INFO] [stdout] 7d985afcf45daab93b508520ff28b4d69ebe43d3c06ed9619a8681b1f0692542
