[INFO] cloning repository https://github.com/romainlnm/lnmarkets-cli
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/romainlnm/lnmarkets-cli" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fromainlnm%2Flnmarkets-cli", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fromainlnm%2Flnmarkets-cli'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b41a408c1ac066f01d30198815a50206cf33f8d9
[INFO] checking romainlnm/lnmarkets-cli/b41a408c1ac066f01d30198815a50206cf33f8d9 against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fromainlnm%2Flnmarkets-cli" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/romainlnm/lnmarkets-cli
[INFO] finished tweaking git repo https://github.com/romainlnm/lnmarkets-cli
[INFO] tweaked toml for git repo https://github.com/romainlnm/lnmarkets-cli written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/romainlnm/lnmarkets-cli on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/romainlnm/lnmarkets-cli 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tabled_derive v0.6.0
[INFO] [stderr]   Downloaded papergrid v0.10.0
[INFO] [stderr]   Downloaded tabled v0.14.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e35632582c6f30f44d4265b1b88d7736c3e2e2186a4f8e039c87201ad47565b7
[INFO] running `Command { std: "docker" "start" "-a" "e35632582c6f30f44d4265b1b88d7736c3e2e2186a4f8e039c87201ad47565b7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e35632582c6f30f44d4265b1b88d7736c3e2e2186a4f8e039c87201ad47565b7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e35632582c6f30f44d4265b1b88d7736c3e2e2186a4f8e039c87201ad47565b7", kill_on_drop: false }`
[INFO] [stdout] e35632582c6f30f44d4265b1b88d7736c3e2e2186a4f8e039c87201ad47565b7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ad4264156c34490f527e619f154a0857f82d32f277a029f4bcdf39802d3682a2
[INFO] running `Command { std: "docker" "start" "-a" "ad4264156c34490f527e619f154a0857f82d32f277a029f4bcdf39802d3682a2", kill_on_drop: false }`
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]     Checking futures-task v0.3.32
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]     Checking unicode-normalization v0.1.25
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking signal-hook v0.3.18
[INFO] [stderr]     Checking pxfm v0.1.28
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]     Checking unicode-bidi v0.3.18
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking clap_lex v1.0.0
[INFO] [stderr]     Checking byteorder-lite v0.1.0
[INFO] [stderr]     Checking winnow v0.5.40
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking bytecount v0.6.9
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking papergrid v0.10.0
[INFO] [stderr]     Checking clap_builder v4.5.60
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking compact_str v0.8.1
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking idna v0.4.0
[INFO] [stderr]     Checking indexmap v2.3.0
[INFO] [stderr]     Checking tokio v1.50.0
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking url v2.4.1
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]    Compiling tabled_derive v0.6.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking tabled v0.14.0
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]     Checking clap v4.5.60
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]     Checking ratatui v0.29.0
[INFO] [stderr]     Checking toml_edit v0.19.15
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking toml v0.7.8
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking tokio-test v0.4.5
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking qrcode v0.14.1
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking lnm v0.1.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `serde::Deserialize`
[INFO] [stdout]   --> src/agents/news.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use serde::Deserialize;
[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 imports: `ApiError` and `ErrorCategory`
[INFO] [stdout]  --> src/api/mod.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use error::{ApiError, ErrorCategory};
[INFO] [stdout]   |                 ^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Agent`
[INFO] [stdout]  --> src/daemon.rs:5:120
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::agents::{pattern::PatternAgent, macro_cal::MacroAgent, news::NewsAgent, flow::FlowAgent, whale::WhaleAgent, Agent, AgentRe...
[INFO] [stdout]   |                                                                                                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TreasuryAction`
[INFO] [stdout]  --> src/daemon.rs:8:49
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::treasury::{Treasury, TreasuryConfig, TreasuryAction};
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Deserialize`
[INFO] [stdout]   --> src/agents/news.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use serde::Deserialize;
[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 imports: `ApiError` and `ErrorCategory`
[INFO] [stdout]  --> src/api/mod.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use error::{ApiError, ErrorCategory};
[INFO] [stdout]   |                 ^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Agent`
[INFO] [stdout]  --> src/daemon.rs:5:120
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::agents::{pattern::PatternAgent, macro_cal::MacroAgent, news::NewsAgent, flow::FlowAgent, whale::WhaleAgent, Agent, AgentRe...
[INFO] [stdout]   |                                                                                                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TreasuryAction`
[INFO] [stdout]  --> src/daemon.rs:8:49
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::treasury::{Treasury, TreasuryConfig, TreasuryAction};
[INFO] [stdout]   |                                                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tui/actions.rs:351:25
[INFO] [stdout]     |
[INFO] [stdout] 351 |                     let mut lines: Vec<(String, String)> = vec![("Amount".into(), format!("{} sats", amount))];
[INFO] [stdout]     |                         ----^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tui/actions.rs:351:25
[INFO] [stdout]     |
[INFO] [stdout] 351 |                     let mut lines: Vec<(String, String)> = vec![("Amount".into(), format!("{} sats", amount))];
[INFO] [stdout]     |                         ----^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lines`
[INFO] [stdout]    --> src/tui/actions.rs:351:25
[INFO] [stdout]     |
[INFO] [stdout] 351 |                     let mut lines: Vec<(String, String)> = vec![("Amount".into(), format!("{} sats", amount))];
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lines`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lines`
[INFO] [stdout]    --> src/tui/actions.rs:351:25
[INFO] [stdout]     |
[INFO] [stdout] 351 |                     let mut lines: Vec<(String, String)> = vec![("Amount".into(), format!("{} sats", amount))];
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lines`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `total_account_value` is assigned to, but never used
[INFO] [stdout]    --> src/agents/whale.rs:156:13
[INFO] [stdout]     |
[INFO] [stdout] 156 |         let mut total_account_value = 0.0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_total_account_value` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `total_account_value` is never read
[INFO] [stdout]    --> src/agents/whale.rs:163:21
[INFO] [stdout]     |
[INFO] [stdout] 163 |                     total_account_value += pos.account_value;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `total_account_value` is assigned to, but never used
[INFO] [stdout]    --> src/agents/whale.rs:156:13
[INFO] [stdout]     |
[INFO] [stdout] 156 |         let mut total_account_value = 0.0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_total_account_value` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `total_account_value` is never read
[INFO] [stdout]    --> src/agents/whale.rs:163:21
[INFO] [stdout]     |
[INFO] [stdout] 163 |                     total_account_value += pos.account_value;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `invoice` is never read
[INFO] [stdout]    --> src/tui/popup.rs:131:29
[INFO] [stdout]     |
[INFO] [stdout] 131 |     QrCode { title: String, invoice: String, amount: i64, qr_lines: Vec<String> },
[INFO] [stdout]     |     ------                  ^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Popup` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `init` and `shutdown` are never used
[INFO] [stdout]   --> src/agents/mod.rs:88:14
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait Agent: Send + Sync {
[INFO] [stdout]    |           ----- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 88 |     async fn init(&mut self) -> anyhow::Result<()> {
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     async fn shutdown(&mut self) -> anyhow::Result<()> {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `agents` is never used
[INFO] [stdout]    --> src/agents/mod.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl AgentRegistry {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn agents(&self) -> &[Box<dyn Agent>] {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `interval_secs` is never read
[INFO] [stdout]   --> src/agents/pattern.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct PatternConfig {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub interval_secs: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PatternConfig` 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 `BinanceKline` is never constructed
[INFO] [stdout]   --> src/agents/pattern.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | struct BinanceKline {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Importance` is never used
[INFO] [stdout]   --> src/agents/macro_cal.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum Importance {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `previous` is never read
[INFO] [stdout]    --> src/agents/macro_cal.rs:345:5
[INFO] [stdout]     |
[INFO] [stdout] 336 | struct TradingViewEvent {
[INFO] [stdout]     |        ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 345 |     previous: Option<f64>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TradingViewEvent` 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 `link` is never read
[INFO] [stdout]   --> src/agents/news.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub struct NewsItem {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub link: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NewsItem` 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 `bid_total` and `ask_total` are never read
[INFO] [stdout]    --> src/agents/flow.rs:335:5
[INFO] [stdout]     |
[INFO] [stdout] 334 | struct OrderBookData {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] 335 |     bid_total: f64,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 336 |     ask_total: f64,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OrderBookData` 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 `rate` is never read
[INFO] [stdout]    --> src/agents/flow.rs:342:5
[INFO] [stdout]     |
[INFO] [stdout] 341 | struct FundingData {
[INFO] [stdout]     |        ----------- field in this struct
[INFO] [stdout] 342 |     rate: f64,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FundingData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `long_ratio` and `short_ratio` are never read
[INFO] [stdout]    --> src/agents/flow.rs:353:5
[INFO] [stdout]     |
[INFO] [stdout] 352 | struct LongShortData {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] 353 |     long_ratio: f64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 354 |     short_ratio: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LongShortData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `buy_ratio` and `sell_ratio` are never read
[INFO] [stdout]    --> src/agents/flow.rs:360:5
[INFO] [stdout]     |
[INFO] [stdout] 359 | struct TakerVolumeData {
[INFO] [stdout]     |        --------------- fields in this struct
[INFO] [stdout] 360 |     buy_ratio: f64,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 361 |     sell_ratio: f64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TakerVolumeData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ErrorCategory` is never used
[INFO] [stdout]   --> src/api/error.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub enum ErrorCategory {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_status` and `exit_code` are never used
[INFO] [stdout]   --> src/api/error.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl ErrorCategory {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 54 |     pub fn from_status(status: u16) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn exit_code(&self) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `default_services` and `is_dangerous` are never used
[INFO] [stdout]   --> src/cli/mcp.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl ServiceGroup {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn default_services() -> Vec<Self> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn is_dangerous(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_warning` is never used
[INFO] [stdout]   --> src/cli/output.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn print_warning(message: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ws_url` is never used
[INFO] [stdout]   --> src/config/mod.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl Network {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn ws_url(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pl_pct` is never read
[INFO] [stdout]   --> src/daemon.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 79 | struct CrossPosition {
[INFO] [stdout]    |        ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pl_pct: f64,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CrossPosition` 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 `confidence` is never read
[INFO] [stdout]   --> src/daemon.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 90 | struct PaperTrade {
[INFO] [stdout]    |        ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 96 |     confidence: f64,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PaperTrade` 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 `PriceHistory` is never constructed
[INFO] [stdout]   --> src/models/market.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct PriceHistory {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IndexHistory` is never constructed
[INFO] [stdout]   --> src/models/market.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct IndexHistory {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MarketInfo` is never constructed
[INFO] [stdout]   --> src/models/market.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct MarketInfo {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CarryingFees` is never constructed
[INFO] [stdout]   --> src/models/market.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct CarryingFees {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_minutes` is never used
[INFO] [stdout]   --> src/models/market.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | impl Resolution {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 87 |     pub fn to_minutes(&self) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TradeStatus` is never used
[INFO] [stdout]   --> src/models/futures.rs:41:10
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub enum TradeStatus {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TradeList` is never constructed
[INFO] [stdout]    --> src/models/futures.rs:100:12
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub struct TradeList {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NewTradeRequest` is never constructed
[INFO] [stdout]    --> src/models/futures.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct NewTradeRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UpdateTradeRequest` is never constructed
[INFO] [stdout]    --> src/models/futures.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub struct UpdateTradeRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AddMarginRequest` is never constructed
[INFO] [stdout]    --> src/models/futures.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub struct AddMarginRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CloseTradeResponse` is never constructed
[INFO] [stdout]    --> src/models/futures.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub struct CloseTradeResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CashInRequest` is never constructed
[INFO] [stdout]    --> src/models/futures.rs:144:12
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct CashInRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CashInResponse` is never constructed
[INFO] [stdout]    --> src/models/futures.rs:149:12
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub struct CashInResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UpdateUserRequest` is never constructed
[INFO] [stdout]   --> src/models/user.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct UpdateUserRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Leaderboard` is never constructed
[INFO] [stdout]   --> src/models/user.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct Leaderboard {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DepositList` is never constructed
[INFO] [stdout]   --> src/models/funding.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct DepositList {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NewDepositRequest` is never constructed
[INFO] [stdout]   --> src/models/funding.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct NewDepositRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WithdrawalList` is never constructed
[INFO] [stdout]   --> src/models/funding.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct WithdrawalList {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NewWithdrawalRequest` is never constructed
[INFO] [stdout]   --> src/models/funding.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct NewWithdrawalRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WithdrawalResponse` is never constructed
[INFO] [stdout]   --> src/models/funding.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct WithdrawalResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TradingStats` is never constructed
[INFO] [stdout]   --> src/stats.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct TradingStats {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TradeInfo` is never constructed
[INFO] [stdout]   --> src/stats.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct TradeInfo {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_stats` is never used
[INFO] [stdout]   --> src/stats.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn calculate_stats(trades: &[TradeInfo]) -> TradingStats {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_streak` is never used
[INFO] [stdout]    --> src/stats.rs:131:4
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn calculate_streak(pnls: &[i64]) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_stats` is never used
[INFO] [stdout]    --> src/stats.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn format_stats(stats: &TradingStats) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `settled`, `preconfirmed`, `available`, and `recoverable` are never read
[INFO] [stdout]   --> src/treasury/claw.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct OffchainBalance {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 23 |     #[serde(default)]
[INFO] [stdout] 24 |     pub settled: u64,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 25 |     #[serde(default)]
[INFO] [stdout] 26 |     pub preconfirmed: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 27 |     #[serde(default)]
[INFO] [stdout] 28 |     pub available: u64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 29 |     #[serde(default)]
[INFO] [stdout] 30 |     pub recoverable: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OffchainBalance` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `confirmed`, `unconfirmed`, and `total` are never read
[INFO] [stdout]   --> src/treasury/claw.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct OnchainBalance {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 36 |     #[serde(default)]
[INFO] [stdout] 37 |     pub confirmed: u64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 38 |     #[serde(default)]
[INFO] [stdout] 39 |     pub unconfirmed: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 40 |     #[serde(default)]
[INFO] [stdout] 41 |     pub total: u64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OnchainBalance` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `offchain` and `onchain` are never read
[INFO] [stdout]   --> src/treasury/claw.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct BalanceResponse {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub offchain: OffchainBalance,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub onchain: OnchainBalance,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BalanceResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `address` and `url` are never read
[INFO] [stdout]   --> src/treasury/claw.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct ReceiveResponse {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub address: Option<String>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub url: Option<String>,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ReceiveResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `preimage`, `txid`, `payment_hash`, `amount`, and `fee` are never read
[INFO] [stdout]    --> src/treasury/claw.rs:96:9
[INFO] [stdout]     |
[INFO] [stdout]  93 | pub struct SendResponse {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub preimage: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub txid: Option<String>,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub payment_hash: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub amount: Option<u64>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fee: Option<u64>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SendResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `localhost` is never used
[INFO] [stdout]    --> src/treasury/claw.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl ClawClient {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn localhost(port: u16) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `invoice` is never read
[INFO] [stdout]    --> src/tui/popup.rs:131:29
[INFO] [stdout]     |
[INFO] [stdout] 131 |     QrCode { title: String, invoice: String, amount: i64, qr_lines: Vec<String> },
[INFO] [stdout]     |     ------                  ^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Popup` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `init` and `shutdown` are never used
[INFO] [stdout]   --> src/agents/mod.rs:88:14
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub trait Agent: Send + Sync {
[INFO] [stdout]    |           ----- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 88 |     async fn init(&mut self) -> anyhow::Result<()> {
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     async fn shutdown(&mut self) -> anyhow::Result<()> {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `agents` is never used
[INFO] [stdout]    --> src/agents/mod.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl AgentRegistry {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn agents(&self) -> &[Box<dyn Agent>] {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `interval_secs` is never read
[INFO] [stdout]   --> src/agents/pattern.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct PatternConfig {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub interval_secs: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PatternConfig` 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 `BinanceKline` is never constructed
[INFO] [stdout]   --> src/agents/pattern.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | struct BinanceKline {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Importance` is never used
[INFO] [stdout]   --> src/agents/macro_cal.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum Importance {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `previous` is never read
[INFO] [stdout]    --> src/agents/macro_cal.rs:345:5
[INFO] [stdout]     |
[INFO] [stdout] 336 | struct TradingViewEvent {
[INFO] [stdout]     |        ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 345 |     previous: Option<f64>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TradingViewEvent` 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 `link` is never read
[INFO] [stdout]   --> src/agents/news.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub struct NewsItem {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub link: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NewsItem` 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 `bid_total` and `ask_total` are never read
[INFO] [stdout]    --> src/agents/flow.rs:335:5
[INFO] [stdout]     |
[INFO] [stdout] 334 | struct OrderBookData {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] 335 |     bid_total: f64,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 336 |     ask_total: f64,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OrderBookData` 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 `rate` is never read
[INFO] [stdout]    --> src/agents/flow.rs:342:5
[INFO] [stdout]     |
[INFO] [stdout] 341 | struct FundingData {
[INFO] [stdout]     |        ----------- field in this struct
[INFO] [stdout] 342 |     rate: f64,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FundingData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `long_ratio` and `short_ratio` are never read
[INFO] [stdout]    --> src/agents/flow.rs:353:5
[INFO] [stdout]     |
[INFO] [stdout] 352 | struct LongShortData {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] 353 |     long_ratio: f64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 354 |     short_ratio: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LongShortData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `buy_ratio` and `sell_ratio` are never read
[INFO] [stdout]    --> src/agents/flow.rs:360:5
[INFO] [stdout]     |
[INFO] [stdout] 359 | struct TakerVolumeData {
[INFO] [stdout]     |        --------------- fields in this struct
[INFO] [stdout] 360 |     buy_ratio: f64,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 361 |     sell_ratio: f64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TakerVolumeData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ErrorCategory` is never used
[INFO] [stdout]   --> src/api/error.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub enum ErrorCategory {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_status` and `exit_code` are never used
[INFO] [stdout]   --> src/api/error.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl ErrorCategory {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 54 |     pub fn from_status(status: u16) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn exit_code(&self) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `default_services` and `is_dangerous` are never used
[INFO] [stdout]   --> src/cli/mcp.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl ServiceGroup {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn default_services() -> Vec<Self> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn is_dangerous(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_warning` is never used
[INFO] [stdout]   --> src/cli/output.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn print_warning(message: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ws_url` is never used
[INFO] [stdout]   --> src/config/mod.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl Network {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn ws_url(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pl_pct` is never read
[INFO] [stdout]   --> src/daemon.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 79 | struct CrossPosition {
[INFO] [stdout]    |        ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pl_pct: f64,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CrossPosition` 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 `confidence` is never read
[INFO] [stdout]   --> src/daemon.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 90 | struct PaperTrade {
[INFO] [stdout]    |        ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 96 |     confidence: f64,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PaperTrade` 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 `PriceHistory` is never constructed
[INFO] [stdout]   --> src/models/market.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct PriceHistory {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IndexHistory` is never constructed
[INFO] [stdout]   --> src/models/market.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct IndexHistory {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MarketInfo` is never constructed
[INFO] [stdout]   --> src/models/market.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct MarketInfo {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CarryingFees` is never constructed
[INFO] [stdout]   --> src/models/market.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct CarryingFees {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_minutes` is never used
[INFO] [stdout]   --> src/models/market.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | impl Resolution {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 87 |     pub fn to_minutes(&self) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TradeStatus` is never used
[INFO] [stdout]   --> src/models/futures.rs:41:10
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub enum TradeStatus {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TradeList` is never constructed
[INFO] [stdout]    --> src/models/futures.rs:100:12
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub struct TradeList {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NewTradeRequest` is never constructed
[INFO] [stdout]    --> src/models/futures.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct NewTradeRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UpdateTradeRequest` is never constructed
[INFO] [stdout]    --> src/models/futures.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub struct UpdateTradeRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AddMarginRequest` is never constructed
[INFO] [stdout]    --> src/models/futures.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub struct AddMarginRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CloseTradeResponse` is never constructed
[INFO] [stdout]    --> src/models/futures.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub struct CloseTradeResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CashInRequest` is never constructed
[INFO] [stdout]    --> src/models/futures.rs:144:12
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct CashInRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CashInResponse` is never constructed
[INFO] [stdout]    --> src/models/futures.rs:149:12
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub struct CashInResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UpdateUserRequest` is never constructed
[INFO] [stdout]   --> src/models/user.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct UpdateUserRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Leaderboard` is never constructed
[INFO] [stdout]   --> src/models/user.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct Leaderboard {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DepositList` is never constructed
[INFO] [stdout]   --> src/models/funding.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct DepositList {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NewDepositRequest` is never constructed
[INFO] [stdout]   --> src/models/funding.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct NewDepositRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WithdrawalList` is never constructed
[INFO] [stdout]   --> src/models/funding.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct WithdrawalList {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NewWithdrawalRequest` is never constructed
[INFO] [stdout]   --> src/models/funding.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct NewWithdrawalRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WithdrawalResponse` is never constructed
[INFO] [stdout]   --> src/models/funding.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct WithdrawalResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TradingStats` is never constructed
[INFO] [stdout]   --> src/stats.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct TradingStats {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TradeInfo` is never constructed
[INFO] [stdout]   --> src/stats.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct TradeInfo {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_stats` is never used
[INFO] [stdout]   --> src/stats.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn calculate_stats(trades: &[TradeInfo]) -> TradingStats {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_streak` is never used
[INFO] [stdout]    --> src/stats.rs:131:4
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn calculate_streak(pnls: &[i64]) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_stats` is never used
[INFO] [stdout]    --> src/stats.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn format_stats(stats: &TradingStats) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `settled`, `preconfirmed`, `available`, and `recoverable` are never read
[INFO] [stdout]   --> src/treasury/claw.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct OffchainBalance {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 23 |     #[serde(default)]
[INFO] [stdout] 24 |     pub settled: u64,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 25 |     #[serde(default)]
[INFO] [stdout] 26 |     pub preconfirmed: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 27 |     #[serde(default)]
[INFO] [stdout] 28 |     pub available: u64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 29 |     #[serde(default)]
[INFO] [stdout] 30 |     pub recoverable: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OffchainBalance` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `confirmed`, `unconfirmed`, and `total` are never read
[INFO] [stdout]   --> src/treasury/claw.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct OnchainBalance {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 36 |     #[serde(default)]
[INFO] [stdout] 37 |     pub confirmed: u64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 38 |     #[serde(default)]
[INFO] [stdout] 39 |     pub unconfirmed: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 40 |     #[serde(default)]
[INFO] [stdout] 41 |     pub total: u64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OnchainBalance` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `offchain` and `onchain` are never read
[INFO] [stdout]   --> src/treasury/claw.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct BalanceResponse {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub offchain: OffchainBalance,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub onchain: OnchainBalance,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BalanceResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `address` and `url` are never read
[INFO] [stdout]   --> src/treasury/claw.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct ReceiveResponse {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub address: Option<String>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub url: Option<String>,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ReceiveResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `preimage`, `txid`, `payment_hash`, `amount`, and `fee` are never read
[INFO] [stdout]    --> src/treasury/claw.rs:96:9
[INFO] [stdout]     |
[INFO] [stdout]  93 | pub struct SendResponse {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub preimage: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub txid: Option<String>,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub payment_hash: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub amount: Option<u64>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fee: Option<u64>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SendResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 37.27s
[INFO] running `Command { std: "docker" "inspect" "ad4264156c34490f527e619f154a0857f82d32f277a029f4bcdf39802d3682a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ad4264156c34490f527e619f154a0857f82d32f277a029f4bcdf39802d3682a2", kill_on_drop: false }`
[INFO] [stdout] ad4264156c34490f527e619f154a0857f82d32f277a029f4bcdf39802d3682a2
