[INFO] cloning repository https://github.com/chxndre/CryptoConduit-MCP
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/chxndre/CryptoConduit-MCP" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchxndre%2FCryptoConduit-MCP", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchxndre%2FCryptoConduit-MCP'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a9b77e104832fe2c3f7ec8588d3df3d2ed389fc3
[INFO] testing chxndre/CryptoConduit-MCP against 1.95.0 for beta-1.96-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchxndre%2FCryptoConduit-MCP" "/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/chxndre/CryptoConduit-MCP
[INFO] finished tweaking git repo https://github.com/chxndre/CryptoConduit-MCP
[INFO] tweaked toml for git repo https://github.com/chxndre/CryptoConduit-MCP written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/chxndre/CryptoConduit-MCP 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/chxndre/CryptoConduit-MCP 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]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded pastey v0.2.1
[INFO] [stderr]   Downloaded rkyv_derive v0.7.46
[INFO] [stderr]   Downloaded rmcp-macros v1.2.0
[INFO] [stderr]   Downloaded borsh-derive v1.6.0
[INFO] [stderr]   Downloaded alloy-rlp-derive v0.3.13
[INFO] [stderr]   Downloaded rust_decimal_macros v1.40.0
[INFO] [stderr]   Downloaded alloy-eip2124 v0.2.0
[INFO] [stderr]   Downloaded fastrlp v0.4.0
[INFO] [stderr]   Downloaded futures-utils-wasm v0.1.0
[INFO] [stderr]   Downloaded ark-ff-macros v0.3.0
[INFO] [stderr]   Downloaded byte-slice-cast v1.2.3
[INFO] [stderr]   Downloaded alloy-tx-macros v1.7.3
[INFO] [stderr]   Downloaded alloy-rpc-types-any v1.7.3
[INFO] [stderr]   Downloaded alloy-serde v1.7.3
[INFO] [stderr]   Downloaded alloy-eip2930 v0.2.3
[INFO] [stderr]   Downloaded alloy-consensus-any v1.7.3
[INFO] [stderr]   Downloaded alloy-core v1.5.7
[INFO] [stderr]   Downloaded alloy-contract v1.7.3
[INFO] [stderr]   Downloaded ark-ff v0.3.0
[INFO] [stderr]   Downloaded proptest v1.10.0
[INFO] [stderr]   Downloaded polymarket-client-sdk v0.4.4
[INFO] [stderr]   Downloaded alloy-dyn-abi v1.5.7
[INFO] [stderr]   Downloaded sha3-asm v0.1.5
[INFO] [stderr]   Downloaded rmcp v1.2.0
[INFO] [stderr]   Downloaded alloy v1.7.3
[INFO] [stderr]   Downloaded blst v0.3.16
[INFO] [stderr]   Downloaded alloy-rpc-types-eth v1.7.3
[INFO] [stderr]   Downloaded alloy-primitives v1.5.7
[INFO] [stderr]   Downloaded alloy-eips v1.7.3
[INFO] [stderr]   Downloaded ark-ff v0.5.0
[INFO] [stderr]   Downloaded alloy-chains v0.2.31
[INFO] [stderr]   Downloaded secp256k1 v0.30.0
[INFO] [stderr]   Downloaded syn-solidity v1.5.7
[INFO] [stderr]   Downloaded alloy-transport v1.7.3
[INFO] [stderr]   Downloaded educe v0.6.0
[INFO] [stderr]   Downloaded parity-scale-codec v3.7.5
[INFO] [stderr]   Downloaded ruint v1.17.2
[INFO] [stderr]   Downloaded alloy-rpc-client v1.7.3
[INFO] [stderr]   Downloaded alloy-sol-types v1.5.7
[INFO] [stderr]   Downloaded wasmtimer v0.4.3
[INFO] [stderr]   Downloaded ark-std v0.5.0
[INFO] [stderr]   Downloaded const_format v0.2.35
[INFO] [stderr]   Downloaded nybbles v0.4.8
[INFO] [stderr]   Downloaded alloy-consensus v1.7.3
[INFO] [stderr]   Downloaded rust_decimal v1.40.0
[INFO] [stderr]   Downloaded alloy-eip7702 v0.6.3
[INFO] [stderr]   Downloaded alloy-provider v1.7.3
[INFO] [stderr]   Downloaded alloy-signer v1.7.3
[INFO] [stderr]   Downloaded alloy-sol-macro-expander v1.5.7
[INFO] [stderr]   Downloaded alloy-sol-type-parser v1.5.7
[INFO] [stderr]   Downloaded alloy-json-abi v1.5.7
[INFO] [stderr]   Downloaded alloy-sol-macro-input v1.5.7
[INFO] [stderr]   Downloaded alloy-transport-http v1.7.3
[INFO] [stderr]   Downloaded ark-std v0.3.0
[INFO] [stderr]   Downloaded semver-parser v0.10.3
[INFO] [stderr]   Downloaded ark-ff-asm v0.5.0
[INFO] [stderr]   Downloaded ark-serialize v0.5.0
[INFO] [stderr]   Downloaded fastrlp v0.3.1
[INFO] [stderr]   Downloaded alloy-network-primitives v1.7.3
[INFO] [stderr]   Downloaded alloy-signer-local v1.7.3
[INFO] [stderr]   Downloaded const-hex v1.18.1
[INFO] [stderr]   Downloaded keccak-asm v0.1.5
[INFO] [stderr]   Downloaded rapidhash v4.4.1
[INFO] [stderr]   Downloaded ark-ff-macros v0.5.0
[INFO] [stderr]   Downloaded enum-ordinalize-derive v4.3.2
[INFO] [stderr]   Downloaded enum-ordinalize v4.3.2
[INFO] [stderr]   Downloaded const_format_proc_macros v0.2.34
[INFO] [stderr]   Downloaded rkyv v0.7.46
[INFO] [stderr]   Downloaded alloy-network v1.7.3
[INFO] [stderr]   Downloaded macro-string v0.1.4
[INFO] [stderr]   Downloaded alloy-json-rpc v1.7.3
[INFO] [stderr]   Downloaded alloy-eip7928 v0.3.3
[INFO] [stderr]   Downloaded alloy-sol-macro v1.5.7
[INFO] [stderr]   Downloaded keccak v0.1.6
[INFO] [stderr]   Downloaded ark-ff-asm v0.3.0
[INFO] [stderr]   Downloaded ark-serialize v0.3.0
[INFO] [stderr]   Downloaded alloy-rlp v0.3.13
[INFO] [stderr]   Downloaded alloy-trie v0.9.5
[INFO] [stderr]   Downloaded serde_html_form v0.4.0
[INFO] [stderr]   Downloaded auto_impl v1.3.0
[INFO] [stderr]   Downloaded borsh v1.6.0
[INFO] [stderr]   Downloaded impl-trait-for-tuples v0.2.3
[INFO] [stderr]   Downloaded parity-scale-codec-derive v3.7.5
[INFO] [stderr]   Downloaded toml_edit v0.25.5+spec-1.1.0
[INFO] [stderr]   Downloaded ruint-macro v1.2.1
[INFO] [stderr]   Downloaded c-kzg v2.1.7
[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] 102ec500a197cf18161354d362d76276ebd070cf075c1214fd1ba62bda423fcb
[INFO] running `Command { std: "docker" "start" "-a" "102ec500a197cf18161354d362d76276ebd070cf075c1214fd1ba62bda423fcb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "102ec500a197cf18161354d362d76276ebd070cf075c1214fd1ba62bda423fcb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "102ec500a197cf18161354d362d76276ebd070cf075c1214fd1ba62bda423fcb", kill_on_drop: false }`
[INFO] [stdout] 102ec500a197cf18161354d362d76276ebd070cf075c1214fd1ba62bda423fcb
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 115af94e115d60b83dd79fbcb91f66d3af5806ebbff077de8a2d59d5e779adba
[INFO] running `Command { std: "docker" "start" "-a" "115af94e115d60b83dd79fbcb91f66d3af5806ebbff077de8a2d59d5e779adba", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling ruint-macro v1.2.1
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling keccak v0.1.6
[INFO] [stderr]    Compiling der v0.7.10
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling sha3 v0.10.8
[INFO] [stderr]    Compiling const-hex v1.18.1
[INFO] [stderr]    Compiling rustc-hash v2.1.1
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling spki v0.7.3
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling pkcs8 v0.10.2
[INFO] [stderr]    Compiling cc v1.2.57
[INFO] [stderr]    Compiling ff v0.13.1
[INFO] [stderr]    Compiling crypto-bigint v0.5.5
[INFO] [stderr]    Compiling sec1 v0.7.3
[INFO] [stderr]    Compiling group v0.13.0
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling ruint v1.17.2
[INFO] [stderr]    Compiling cmake v0.1.57
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]    Compiling aws-lc-rs v1.16.1
[INFO] [stderr]    Compiling elliptic-curve v0.13.8
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling aws-lc-sys v0.38.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling openssl-sys v0.9.112
[INFO] [stderr]    Compiling ecdsa v0.16.9
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling k256 v0.13.4
[INFO] [stderr]    Compiling openssl v0.10.76
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling syn-solidity v1.5.7
[INFO] [stderr]    Compiling macro-string v0.1.4
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling zerocopy v0.8.42
[INFO] [stderr]    Compiling futures-utils-wasm v0.1.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling rand_core v0.10.0
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling phf_shared v0.13.1
[INFO] [stderr]    Compiling lru v0.16.3
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling phf_generator v0.13.1
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling alloy-rlp-derive v0.3.13
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling auto_impl v1.3.0
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling serde_with_macros v3.18.0
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling alloy-rlp v0.3.13
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling alloy-sol-type-parser v1.5.7
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling alloy-primitives v1.5.7
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling darling_core v0.21.3
[INFO] [stderr]    Compiling alloy-json-abi v1.5.7
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling alloy-sol-macro-input v1.5.7
[INFO] [stderr]    Compiling serde_with v3.18.0
[INFO] [stderr]    Compiling alloy-sol-macro-expander v1.5.7
[INFO] [stderr]    Compiling alloy-eip7702 v0.6.3
[INFO] [stderr]    Compiling alloy-eip2930 v0.2.3
[INFO] [stderr]    Compiling alloy-eip2124 v0.2.0
[INFO] [stderr]    Compiling alloy-eip7928 v0.3.3
[INFO] [stderr]    Compiling alloy-serde v1.7.3
[INFO] [stderr]    Compiling darling_macro v0.21.3
[INFO] [stderr]    Compiling nybbles v0.4.8
[INFO] [stderr]    Compiling darling v0.21.3
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling alloy-tx-macros v1.7.3
[INFO] [stderr]    Compiling alloy-trie v0.9.5
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling alloy-eips v1.7.3
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling alloy-sol-macro v1.5.7
[INFO] [stderr]    Compiling alloy-consensus v1.7.3
[INFO] [stderr]    Compiling alloy-sol-types v1.5.7
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling alloy-signer v1.7.3
[INFO] [stderr]    Compiling pin-project-internal v1.1.11
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling num_enum_derive v0.7.6
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling alloy-json-rpc v1.7.3
[INFO] [stderr]    Compiling alloy-consensus-any v1.7.3
[INFO] [stderr]    Compiling alloy-network-primitives v1.7.3
[INFO] [stderr]    Compiling pin-project v1.1.11
[INFO] [stderr]    Compiling num_enum v0.7.6
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling alloy-rpc-types-eth v1.7.3
[INFO] [stderr]    Compiling alloy-transport v1.7.3
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling alloy-dyn-abi v1.5.7
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling rust_decimal v1.40.0
[INFO] [stderr]    Compiling chacha20 v0.10.0
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling alloy-core v1.5.7
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling alloy-chains v0.2.31
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling bon-macros v3.9.1
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]    Compiling phf_macros v0.13.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling phf_shared v0.12.1
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling chrono-tz v0.10.4
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling rmcp v1.2.0
[INFO] [stderr]    Compiling data-encoding v2.10.0
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling phf v0.13.1
[INFO] [stderr]    Compiling phf v0.12.1
[INFO] [stderr]    Compiling alloy-rpc-types-any v1.7.3
[INFO] [stderr]    Compiling alloy-network v1.7.3
[INFO] [stderr]    Compiling rand v0.10.0
[INFO] [stderr]    Compiling schemars v1.2.1
[INFO] [stderr]    Compiling secrecy v0.10.3
[INFO] [stderr]    Compiling rmcp-macros v1.2.0
[INFO] [stderr]    Compiling alloy-signer-local v1.7.3
[INFO] [stderr]    Compiling rust_decimal_macros v1.40.0
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling uuid v1.22.0
[INFO] [stderr]    Compiling serde_html_form v0.4.0
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]    Compiling pastey v0.2.1
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling bon v3.9.1
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling rustls-platform-verifier v0.6.2
[INFO] [stderr]    Compiling tungstenite v0.24.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling reqwest v0.13.2
[INFO] [stderr]    Compiling tokio-tungstenite v0.24.0
[INFO] [stderr]    Compiling alloy-transport-http v1.7.3
[INFO] [stderr]    Compiling alloy-rpc-client v1.7.3
[INFO] [stderr]    Compiling alloy-provider v1.7.3
[INFO] [stderr]    Compiling alloy-contract v1.7.3
[INFO] [stderr]    Compiling alloy v1.7.3
[INFO] [stderr]    Compiling polymarket-client-sdk v0.4.4
[INFO] [stderr]    Compiling crypto-conduit-mcp v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `interval_min`
[INFO] [stdout]    --> src/core/providers/gamma.rs:919:9
[INFO] [stdout]     |
[INFO] [stdout] 919 |     let interval_min = (interval_secs / 60) as u32;
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interval_min`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `binance`
[INFO] [stdout]    --> src/mcp/tools_market.rs:700:5
[INFO] [stdout]     |
[INFO] [stdout] 700 |     binance: &crate::core::providers::binance::BinanceClient,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_binance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spot_vs_strike_pct` is never used
[INFO] [stdout]   --> src/core/analysis/divergence.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn spot_vs_strike_pct(spot_price: f64, strike_price: f64) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spot_move_to_fair_prob` is never used
[INFO] [stdout]   --> src/core/analysis/divergence.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn spot_move_to_fair_prob(spot_move_pct: f64) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `implied_divergence` is never used
[INFO] [stdout]   --> src/core/analysis/divergence.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn implied_divergence(market_implied_prob: f64, spot_move_pct: f64) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `elapsed_buckets` is never read
[INFO] [stdout]    --> src/core/analysis/fair_value.rs:230:5
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub struct EmpiricalDistribution {
[INFO] [stdout]     |            --------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     elapsed_buckets: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EmpiricalDistribution` 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_depth_usd`, `levels_for_100`, `best_ask`, and `best_bid` are never read
[INFO] [stdout]   --> src/core/analysis/microstructure.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct TradeabilityAssessment {
[INFO] [stdout]    |            ---------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub bid_depth_usd: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub levels_for_100: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     /// Best ask price (entry price for buyers)
[INFO] [stdout] 19 |     pub best_ask: f64,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 20 |     /// Best bid price (exit price for sellers)
[INFO] [stdout] 21 |     pub best_bid: f64,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TradeabilityAssessment` 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 `address` is never read
[INFO] [stdout]   --> src/core/execution/live.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct ApprovalStatus {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 49 |     pub contract_name: String,
[INFO] [stdout] 50 |     pub address: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ApprovalStatus` 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 `stop_heartbeats` and `smoke_test` are never used
[INFO] [stdout]    --> src/core/execution/live.rs:141:18
[INFO] [stdout]     |
[INFO] [stdout] 100 | impl LiveExecutor {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub async fn stop_heartbeats(&mut self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 626 |     pub async fn smoke_test(&self, token_id: &str) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_position_size_usd` is never read
[INFO] [stdout]   --> src/core/execution/risk.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct RiskConfig {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub max_position_size_usd: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RiskConfig` 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: multiple methods are never used
[INFO] [stdout]    --> src/core/execution/risk.rs:219:8
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl RiskManager {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 219 |     fn save_state(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn record_position_closed(&mut self, pnl: f64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 350 |     pub fn halt(&mut self, reason: &str) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 357 |     pub fn daily_reset(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 372 |     pub fn balance(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 377 |     pub fn update_balance(&mut self, balance: f64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 391 |     pub fn daily_pnl(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 396 |     pub fn cumulative_pnl(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 409 |     pub fn peak_cumulative_pnl(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 414 |     pub fn current_drawdown(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 419 |     pub fn config(&self) -> &RiskConfig {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ApiLatencyTracker` is never constructed
[INFO] [stdout]  --> src/core/infrastructure/latency.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct ApiLatencyTracker {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/core/infrastructure/latency.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl ApiLatencyTracker {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 12 |     pub fn new(max_samples: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn record(&mut self, latency_ms: f64) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     fn percentile(&self, pct: f64) -> Option<f64> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn report(&self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn p50(&self) -> Option<f64> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn p95(&self) -> Option<f64> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn count(&self) -> usize {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `state` are never used
[INFO] [stdout]    --> src/core/infrastructure/recovery.rs:30:12
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl CircuitBreaker {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout]  30 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn state(&self) -> CircuitState {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_config` and `recent_trades_for` are never used
[INFO] [stdout]    --> src/core/monitor/auto_trade.rs:198:12
[INFO] [stdout]     |
[INFO] [stdout] 144 | impl AutoTradeState {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub fn get_config(&self, asset: &str, window: u32) -> Option<&AutoTradeConfig> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub fn recent_trades_for(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_log_full_books`, `flush`, and `retention_days` are never used
[INFO] [stdout]    --> src/core/monitor/logger.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout] 130 | impl DataLogger {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn set_log_full_books(&self, full: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 273 |     pub async fn flush(&self) {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     pub fn retention_days(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_background_tasks` is never used
[INFO] [stdout]   --> src/core/monitor/poller.rs:80:8
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub fn spawn_background_tasks(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fetched_at_utc` is never read
[INFO] [stdout]   --> src/core/monitor/state.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct TimestampedPrice {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fetched_at_utc: DateTime<Utc>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TimestampedPrice` 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 `token_id`, `best_bid`, and `best_ask` are never read
[INFO] [stdout]   --> src/core/monitor/state.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct MarketSnapshot {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 64 |     pub token_id: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub best_bid: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 71 |     pub best_ask: Option<f64>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MarketSnapshot` 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 `token_id` and `old_spread_pct` are never read
[INFO] [stdout]   --> src/core/monitor/state.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     SpreadNarrowing {
[INFO] [stdout]    |     --------------- fields in this variant
[INFO] [stdout] 81 |         token_id: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 82 |         market_name: String,
[INFO] [stdout] 83 |         old_spread_pct: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AlertKind` 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 `old_depth` is never read
[INFO] [stdout]   --> src/core/monitor/state.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |     DepthSpike {
[INFO] [stdout]    |     ---------- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 90 |         old_depth: f64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AlertKind` 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 `token_id` and `price` are never read
[INFO] [stdout]   --> src/core/monitor/state.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     WhaleTrade {
[INFO] [stdout]    |     ---------- fields in this variant
[INFO] [stdout] 95 |         token_id: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |         price: f64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AlertKind` 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 `window_start_ts` is never read
[INFO] [stdout]    --> src/core/monitor/state.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     WindowApproaching {
[INFO] [stdout]     |     ----------------- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 104 |         window_start_ts: i64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AlertKind` 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 `inner` is never used
[INFO] [stdout]    --> src/core/monitor/state.rs:198:12
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl SharedState {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub fn inner(&self) -> &Arc<RwLock<ServerState>> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `active_short_term_token_ids` is never used
[INFO] [stdout]    --> src/core/monitor/state.rs:311:12
[INFO] [stdout]     |
[INFO] [stdout] 257 | impl ServerState {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 311 |     pub fn active_short_term_token_ids(&self) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `open_count` is never read
[INFO] [stdout]    --> src/core/paper/portfolio.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 220 | pub struct PortfolioStats {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub open_count: usize,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PortfolioStats` 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 `wins` is never read
[INFO] [stdout]    --> src/core/paper/portfolio.rs:238:9
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub struct GroupStats {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] 237 |     pub total_trades: usize,
[INFO] [stdout] 238 |     pub wins: usize,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GroupStats` 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 `get_spot_price` and `get_kline_at` are never used
[INFO] [stdout]    --> src/core/providers/binance.rs:60:18
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl BinanceClient {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  60 |     pub async fn get_spot_price(&self, symbol: &str) -> Result<f64> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub async fn get_kline_at(
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `received_at` is never read
[INFO] [stdout]   --> src/core/providers/chainlink.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct ChainlinkPriceUpdate {
[INFO] [stdout]    |            -------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub received_at: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ChainlinkPriceUpdate` 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 `subscribe` is never used
[INFO] [stdout]   --> src/core/providers/chainlink.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl ChainlinkRtds {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn subscribe(&self) -> broadcast::Receiver<ChainlinkPriceUpdate> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `daily_above_slug` is never used
[INFO] [stdout]   --> src/core/providers/gamma.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn daily_above_slug(asset: &str, date: NaiveDate) -> Option<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `daily_updown_slug` is never used
[INFO] [stdout]   --> src/core/providers/gamma.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn daily_updown_slug(asset: &str, date: NaiveDate) -> Option<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `daily_range_slug` is never used
[INFO] [stdout]   --> src/core/providers/gamma.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn daily_range_slug(asset: &str, date: NaiveDate) -> Option<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hourly_slug` is never used
[INFO] [stdout]   --> src/core/providers/gamma.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn hourly_slug(asset: &str, date: NaiveDate, hour: u32) -> Option<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `weekly_slug` is never used
[INFO] [stdout]   --> src/core/providers/gamma.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub fn weekly_slug(asset: &str, month_num: u32, day1: u32, day2: u32) -> Option<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_market_by_slug` is never used
[INFO] [stdout]    --> src/core/providers/gamma.rs:361:14
[INFO] [stdout]     |
[INFO] [stdout] 361 | pub async fn fetch_market_by_slug(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MarketWithSettlement` is never constructed
[INFO] [stdout]    --> src/core/providers/gamma.rs:377:12
[INFO] [stdout]     |
[INFO] [stdout] 377 | pub struct MarketWithSettlement {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_market_with_settlement` is never used
[INFO] [stdout]    --> src/core/providers/gamma.rs:385:14
[INFO] [stdout]     |
[INFO] [stdout] 385 | pub async fn fetch_market_with_settlement(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `daily_token_ids` is never used
[INFO] [stdout]    --> src/core/providers/gamma.rs:838:8
[INFO] [stdout]     |
[INFO] [stdout] 838 | pub fn daily_token_ids(markets: &[MarketConfig]) -> Vec<(String, String, String)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `short_term_token_ids` is never used
[INFO] [stdout]    --> src/core/providers/gamma.rs:850:8
[INFO] [stdout]     |
[INFO] [stdout] 850 | pub fn short_term_token_ids(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `monthly_token_ids` is never used
[INFO] [stdout]    --> src/core/providers/gamma.rs:874:8
[INFO] [stdout]     |
[INFO] [stdout] 874 | pub fn monthly_token_ids(markets: &[MarketConfig]) -> Vec<(String, String, String, String)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_order_book_timed`, `is_operational`, `dead_token_count`, `get_prices_history`, and `get_prices_history_for_range` are never used
[INFO] [stdout]    --> src/core/providers/polymarket.rs:69:18
[INFO] [stdout]     |
[INFO] [stdout]  34 | impl PolymarketClient {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  69 |     pub async fn get_order_book_timed(&self, token_id: &str) -> Result<(OrderBook, f64)> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub async fn is_operational(&self) -> bool {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub async fn dead_token_count(&self) -> usize {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     pub async fn get_prices_history(&self, token_id: &str) -> Result<Vec<(i64, f64)>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub async fn get_prices_history_for_range(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `market_type` and `side` are never read
[INFO] [stdout]   --> src/core/providers/resolver.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct ResolvedMarket {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub market_type: MarketType,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 18 |     pub side: Option<MarketSide>,
[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: variants `Hourly` and `Weekly` are never constructed
[INFO] [stdout]   --> src/core/providers/resolver.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub enum MarketType {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 25 |     Hourly,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     Weekly,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MarketType` 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 `size` and `timestamp_ms` are never read
[INFO] [stdout]   --> src/core/providers/trades_ws.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct PolymarketTradeEvent {
[INFO] [stdout]    |            -------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub size: f64,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub timestamp_ms: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PolymarketTradeEvent` 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 `subscribe` is never used
[INFO] [stdout]   --> src/core/providers/trades_ws.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl PolymarketTradesWs {
[INFO] [stdout]    | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn subscribe(&self) -> broadcast::Receiver<PolymarketTradeEvent> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `depth_for_side`, `simulate_fill`, `check_depth`, and `limit_order_price` are never used
[INFO] [stdout]    --> src/core/types.rs:155:12
[INFO] [stdout]     |
[INFO] [stdout]  80 | impl OrderBook {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn depth_for_side(&self, side: Side, max_slippage_pct: f64) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub fn simulate_fill(&self, side: Side, quantity: f64) -> Option<FillResult> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     pub fn check_depth(&self, side: Side, size_usd: f64) -> Option<DepthCheck> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     pub fn limit_order_price(&self, side: Side, offset: f64) -> Option<f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `best_price` is never read
[INFO] [stdout]    --> src/core/types.rs:325:9
[INFO] [stdout]     |
[INFO] [stdout] 319 | pub struct FillResult {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 325 |     pub best_price: f64,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FillResult` 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 `DepthCheck` is never constructed
[INFO] [stdout]    --> src/core/types.rs:331:12
[INFO] [stdout]     |
[INFO] [stdout] 331 | pub struct DepthCheck {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ExitReason` is never used
[INFO] [stdout]    --> src/core/types.rs:392:10
[INFO] [stdout]     |
[INFO] [stdout] 392 | pub enum ExitReason {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `otm_percent` is never used
[INFO] [stdout]    --> src/core/types.rs:436:12
[INFO] [stdout]     |
[INFO] [stdout] 426 | impl MarketConfig {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 436 |     pub fn otm_percent(&self, current_price: f64) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SpotPriceHistory` is never constructed
[INFO] [stdout]    --> src/core/types.rs:480:12
[INFO] [stdout]     |
[INFO] [stdout] 480 | pub struct SpotPriceHistory {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/core/types.rs:486:12
[INFO] [stdout]     |
[INFO] [stdout] 485 | impl SpotPriceHistory {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 486 |     pub fn new(max_age_secs: u64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 493 |     pub fn record(&mut self, timestamp_ms: i64, price: f64) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 505 |     pub fn price_at(&self, target_ms: i64) -> Option<f64> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 528 |     pub fn price_at_checked(&self, target_ms: i64, max_diff_ms: i64) -> Option<f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 555 |     pub fn latest_with_ts(&self) -> Option<(i64, f64)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 559 |     pub fn latest(&self) -> Option<f64> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 563 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 567 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `format` is never read
[INFO] [stdout]    --> src/mcp/tools_auto.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub struct GetAutoTradeStatusParams {
[INFO] [stdout]     |            ------------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub format: Option<String>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GetAutoTradeStatusParams` 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 `format` is never read
[INFO] [stdout]   --> src/mcp/tools_book.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct GetOrderBookParams {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub format: Option<String>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GetOrderBookParams` 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 `format` is never read
[INFO] [stdout]    --> src/mcp/tools_market.rs:309:9
[INFO] [stdout]     |
[INFO] [stdout] 303 | pub struct GetActiveWindowParams {
[INFO] [stdout]     |            --------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 309 |     pub format: Option<String>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GetActiveWindowParams` 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 `format` is never read
[INFO] [stdout]    --> src/mcp/tools_market.rs:457:9
[INFO] [stdout]     |
[INFO] [stdout] 451 | pub struct GetWindowBriefingParams {
[INFO] [stdout]     |            ----------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 457 |     pub format: Option<String>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GetWindowBriefingParams` 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 `format` is never read
[INFO] [stdout]    --> src/mcp/tools_market.rs:640:9
[INFO] [stdout]     |
[INFO] [stdout] 636 | pub struct GetSpotPriceParams {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 640 |     pub format: Option<String>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GetSpotPriceParams` 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 `format` is never read
[INFO] [stdout]   --> src/mcp/tools_monitor.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct GetAlertsParams {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub format: Option<String>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GetAlertsParams` 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 `side` is never read
[INFO] [stdout]   --> src/mcp/tools_paper.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct PaperTradeParams {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub side: Option<String>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PaperTradeParams` 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 `format` is never read
[INFO] [stdout]    --> src/mcp/tools_paper.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub struct GetPaperPortfolioParams {
[INFO] [stdout]     |            ----------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub format: Option<String>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GetPaperPortfolioParams` 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 `format` is never read
[INFO] [stdout]   --> src/mcp/tools_trading.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct GetBalanceParams {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 13 |     /// Output format: "text" (default) or "json"
[INFO] [stdout] 14 |     pub format: Option<String>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GetBalanceParams` 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 `format` is never read
[INFO] [stdout]   --> src/mcp/tools_trading.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct GetPositionsParams {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] 41 |     /// Output format: "text" (default) or "json"
[INFO] [stdout] 42 |     pub format: Option<String>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GetPositionsParams` 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 5m 35s
[INFO] running `Command { std: "docker" "inspect" "115af94e115d60b83dd79fbcb91f66d3af5806ebbff077de8a2d59d5e779adba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "115af94e115d60b83dd79fbcb91f66d3af5806ebbff077de8a2d59d5e779adba", kill_on_drop: false }`
[INFO] [stdout] 115af94e115d60b83dd79fbcb91f66d3af5806ebbff077de8a2d59d5e779adba
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d154efcfd0b6b6f01038342b4d47f9617691bdf13b900a552dc121f01e139b17
[INFO] running `Command { std: "docker" "start" "-a" "d154efcfd0b6b6f01038342b4d47f9617691bdf13b900a552dc121f01e139b17", kill_on_drop: false }`
[INFO] [stderr]    Compiling openssl v0.10.76
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling reqwest v0.13.2
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling alloy-transport-http v1.7.3
[INFO] [stderr]    Compiling alloy-rpc-client v1.7.3
[INFO] [stderr]    Compiling alloy-provider v1.7.3
[INFO] [stderr]    Compiling alloy-contract v1.7.3
[INFO] [stderr]    Compiling alloy v1.7.3
[INFO] [stderr]    Compiling polymarket-client-sdk v0.4.4
[INFO] [stderr]    Compiling crypto-conduit-mcp v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `interval_min`
[INFO] [stdout]    --> src/core/providers/gamma.rs:919:9
[INFO] [stdout]     |
[INFO] [stdout] 919 |     let interval_min = (interval_secs / 60) as u32;
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interval_min`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `binance`
[INFO] [stdout]    --> src/mcp/tools_market.rs:700:5
[INFO] [stdout]     |
[INFO] [stdout] 700 |     binance: &crate::core::providers::binance::BinanceClient,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_binance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `elapsed_buckets` is never read
[INFO] [stdout]    --> src/core/analysis/fair_value.rs:230:5
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub struct EmpiricalDistribution {
[INFO] [stdout]     |            --------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     elapsed_buckets: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EmpiricalDistribution` has derived impls for the traits `Clone` and `Debug`, but these are 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: fields `bid_depth_usd`, `levels_for_100`, `best_ask`, and `best_bid` are never read
[INFO] [stdout]   --> src/core/analysis/microstructure.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct TradeabilityAssessment {
[INFO] [stdout]    |            ---------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub bid_depth_usd: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub levels_for_100: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     /// Best ask price (entry price for buyers)
[INFO] [stdout] 19 |     pub best_ask: f64,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 20 |     /// Best bid price (exit price for sellers)
[INFO] [stdout] 21 |     pub best_bid: f64,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TradeabilityAssessment` 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: function `make_prices` is never used
[INFO] [stdout]    --> src/core/analysis/momentum.rs:145:8
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn make_prices(start_ts: i64, interval_ms: i64, values: &[f64]) -> Vec<(i64, f64)> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `address` is never read
[INFO] [stdout]   --> src/core/execution/live.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct ApprovalStatus {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 49 |     pub contract_name: String,
[INFO] [stdout] 50 |     pub address: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ApprovalStatus` 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 `stop_heartbeats` and `smoke_test` are never used
[INFO] [stdout]    --> src/core/execution/live.rs:141:18
[INFO] [stdout]     |
[INFO] [stdout] 100 | impl LiveExecutor {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub async fn stop_heartbeats(&mut self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 626 |     pub async fn smoke_test(&self, token_id: &str) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_position_size_usd` is never read
[INFO] [stdout]   --> src/core/execution/risk.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct RiskConfig {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub max_position_size_usd: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RiskConfig` 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 `balance`, `update_balance`, `cumulative_pnl`, `peak_cumulative_pnl`, and `config` are never used
[INFO] [stdout]    --> src/core/execution/risk.rs:372:12
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl RiskManager {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 372 |     pub fn balance(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 377 |     pub fn update_balance(&mut self, balance: f64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 396 |     pub fn cumulative_pnl(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 409 |     pub fn peak_cumulative_pnl(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 419 |     pub fn config(&self) -> &RiskConfig {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `report` is never used
[INFO] [stdout]   --> src/core/infrastructure/latency.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl ApiLatencyTracker {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn report(&self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_config` is never used
[INFO] [stdout]    --> src/core/monitor/auto_trade.rs:198:12
[INFO] [stdout]     |
[INFO] [stdout] 144 | impl AutoTradeState {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub fn get_config(&self, asset: &str, window: u32) -> Option<&AutoTradeConfig> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_log_full_books` and `retention_days` are never used
[INFO] [stdout]    --> src/core/monitor/logger.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout] 130 | impl DataLogger {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn set_log_full_books(&self, full: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     pub fn retention_days(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_background_tasks` is never used
[INFO] [stdout]   --> src/core/monitor/poller.rs:80:8
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub fn spawn_background_tasks(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fetched_at_utc` is never read
[INFO] [stdout]   --> src/core/monitor/state.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct TimestampedPrice {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fetched_at_utc: DateTime<Utc>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TimestampedPrice` 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 `token_id` and `old_spread_pct` are never read
[INFO] [stdout]   --> src/core/monitor/state.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     SpreadNarrowing {
[INFO] [stdout]    |     --------------- fields in this variant
[INFO] [stdout] 81 |         token_id: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 82 |         market_name: String,
[INFO] [stdout] 83 |         old_spread_pct: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AlertKind` 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 `old_depth` is never read
[INFO] [stdout]   --> src/core/monitor/state.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |     DepthSpike {
[INFO] [stdout]    |     ---------- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 90 |         old_depth: f64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AlertKind` 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 `token_id` and `price` are never read
[INFO] [stdout]   --> src/core/monitor/state.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     WhaleTrade {
[INFO] [stdout]    |     ---------- fields in this variant
[INFO] [stdout] 95 |         token_id: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |         price: f64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AlertKind` 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 `open_count` is never read
[INFO] [stdout]    --> src/core/paper/portfolio.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 220 | pub struct PortfolioStats {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub open_count: usize,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PortfolioStats` 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 `get_spot_price` and `get_kline_at` are never used
[INFO] [stdout]    --> src/core/providers/binance.rs:60:18
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl BinanceClient {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  60 |     pub async fn get_spot_price(&self, symbol: &str) -> Result<f64> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub async fn get_kline_at(
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `received_at` is never read
[INFO] [stdout]   --> src/core/providers/chainlink.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct ChainlinkPriceUpdate {
[INFO] [stdout]    |            -------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub received_at: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ChainlinkPriceUpdate` 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 `subscribe` is never used
[INFO] [stdout]   --> src/core/providers/chainlink.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl ChainlinkRtds {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn subscribe(&self) -> broadcast::Receiver<ChainlinkPriceUpdate> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_market_by_slug` is never used
[INFO] [stdout]    --> src/core/providers/gamma.rs:361:14
[INFO] [stdout]     |
[INFO] [stdout] 361 | pub async fn fetch_market_by_slug(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MarketWithSettlement` is never constructed
[INFO] [stdout]    --> src/core/providers/gamma.rs:377:12
[INFO] [stdout]     |
[INFO] [stdout] 377 | pub struct MarketWithSettlement {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_market_with_settlement` is never used
[INFO] [stdout]    --> src/core/providers/gamma.rs:385:14
[INFO] [stdout]     |
[INFO] [stdout] 385 | pub async fn fetch_market_with_settlement(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `daily_token_ids` is never used
[INFO] [stdout]    --> src/core/providers/gamma.rs:838:8
[INFO] [stdout]     |
[INFO] [stdout] 838 | pub fn daily_token_ids(markets: &[MarketConfig]) -> Vec<(String, String, String)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `short_term_token_ids` is never used
[INFO] [stdout]    --> src/core/providers/gamma.rs:850:8
[INFO] [stdout]     |
[INFO] [stdout] 850 | pub fn short_term_token_ids(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `monthly_token_ids` is never used
[INFO] [stdout]    --> src/core/providers/gamma.rs:874:8
[INFO] [stdout]     |
[INFO] [stdout] 874 | pub fn monthly_token_ids(markets: &[MarketConfig]) -> Vec<(String, String, String, String)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_order_book_timed`, `is_operational`, `dead_token_count`, `get_prices_history`, and `get_prices_history_for_range` are never used
[INFO] [stdout]    --> src/core/providers/polymarket.rs:69:18
[INFO] [stdout]     |
[INFO] [stdout]  34 | impl PolymarketClient {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  69 |     pub async fn get_order_book_timed(&self, token_id: &str) -> Result<(OrderBook, f64)> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub async fn is_operational(&self) -> bool {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub async fn dead_token_count(&self) -> usize {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     pub async fn get_prices_history(&self, token_id: &str) -> Result<Vec<(i64, f64)>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub async fn get_prices_history_for_range(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Hourly` and `Weekly` are never constructed
[INFO] [stdout]   --> src/core/providers/resolver.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub enum MarketType {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 25 |     Hourly,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     Weekly,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MarketType` 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 `size` and `timestamp_ms` are never read
[INFO] [stdout]   --> src/core/providers/trades_ws.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct PolymarketTradeEvent {
[INFO] [stdout]    |            -------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub size: f64,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub timestamp_ms: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PolymarketTradeEvent` 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 `subscribe` is never used
[INFO] [stdout]   --> src/core/providers/trades_ws.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl PolymarketTradesWs {
[INFO] [stdout]    | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn subscribe(&self) -> broadcast::Receiver<PolymarketTradeEvent> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `depth_for_side`, `simulate_fill`, `check_depth`, and `limit_order_price` are never used
[INFO] [stdout]    --> src/core/types.rs:155:12
[INFO] [stdout]     |
[INFO] [stdout]  80 | impl OrderBook {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn depth_for_side(&self, side: Side, max_slippage_pct: f64) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub fn simulate_fill(&self, side: Side, quantity: f64) -> Option<FillResult> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     pub fn check_depth(&self, side: Side, size_usd: f64) -> Option<DepthCheck> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     pub fn limit_order_price(&self, side: Side, offset: f64) -> Option<f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `best_price` is never read
[INFO] [stdout]    --> src/core/types.rs:325:9
[INFO] [stdout]     |
[INFO] [stdout] 319 | pub struct FillResult {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 325 |     pub best_price: f64,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FillResult` 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 `DepthCheck` is never constructed
[INFO] [stdout]    --> src/core/types.rs:331:12
[INFO] [stdout]     |
[INFO] [stdout] 331 | pub struct DepthCheck {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ExitReason` is never used
[INFO] [stdout]    --> src/core/types.rs:392:10
[INFO] [stdout]     |
[INFO] [stdout] 392 | pub enum ExitReason {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `otm_percent` is never used
[INFO] [stdout]    --> src/core/types.rs:436:12
[INFO] [stdout]     |
[INFO] [stdout] 426 | impl MarketConfig {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 436 |     pub fn otm_percent(&self, current_price: f64) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SpotPriceHistory` is never constructed
[INFO] [stdout]    --> src/core/types.rs:480:12
[INFO] [stdout]     |
[INFO] [stdout] 480 | pub struct SpotPriceHistory {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/core/types.rs:486:12
[INFO] [stdout]     |
[INFO] [stdout] 485 | impl SpotPriceHistory {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 486 |     pub fn new(max_age_secs: u64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 493 |     pub fn record(&mut self, timestamp_ms: i64, price: f64) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 505 |     pub fn price_at(&self, target_ms: i64) -> Option<f64> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 528 |     pub fn price_at_checked(&self, target_ms: i64, max_diff_ms: i64) -> Option<f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 555 |     pub fn latest_with_ts(&self) -> Option<(i64, f64)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 559 |     pub fn latest(&self) -> Option<f64> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 563 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 567 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `format` is never read
[INFO] [stdout]    --> src/mcp/tools_auto.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub struct GetAutoTradeStatusParams {
[INFO] [stdout]     |            ------------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub format: Option<String>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GetAutoTradeStatusParams` 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 `format` is never read
[INFO] [stdout]   --> src/mcp/tools_book.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct GetOrderBookParams {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub format: Option<String>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GetOrderBookParams` 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 `format` is never read
[INFO] [stdout]    --> src/mcp/tools_market.rs:309:9
[INFO] [stdout]     |
[INFO] [stdout] 303 | pub struct GetActiveWindowParams {
[INFO] [stdout]     |            --------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 309 |     pub format: Option<String>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GetActiveWindowParams` 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 `format` is never read
[INFO] [stdout]    --> src/mcp/tools_market.rs:457:9
[INFO] [stdout]     |
[INFO] [stdout] 451 | pub struct GetWindowBriefingParams {
[INFO] [stdout]     |            ----------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 457 |     pub format: Option<String>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GetWindowBriefingParams` 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 `format` is never read
[INFO] [stdout]    --> src/mcp/tools_market.rs:640:9
[INFO] [stdout]     |
[INFO] [stdout] 636 | pub struct GetSpotPriceParams {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 640 |     pub format: Option<String>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GetSpotPriceParams` 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 `format` is never read
[INFO] [stdout]   --> src/mcp/tools_monitor.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct GetAlertsParams {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub format: Option<String>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GetAlertsParams` 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 `side` is never read
[INFO] [stdout]   --> src/mcp/tools_paper.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct PaperTradeParams {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub side: Option<String>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PaperTradeParams` 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 `format` is never read
[INFO] [stdout]    --> src/mcp/tools_paper.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub struct GetPaperPortfolioParams {
[INFO] [stdout]     |            ----------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub format: Option<String>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `GetPaperPortfolioParams` 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 `format` is never read
[INFO] [stdout]   --> src/mcp/tools_trading.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct GetBalanceParams {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 13 |     /// Output format: "text" (default) or "json"
[INFO] [stdout] 14 |     pub format: Option<String>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GetBalanceParams` 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 `format` is never read
[INFO] [stdout]   --> src/mcp/tools_trading.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct GetPositionsParams {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] 41 |     /// Output format: "text" (default) or "json"
[INFO] [stdout] 42 |     pub format: Option<String>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GetPositionsParams` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 58.48s
[INFO] running `Command { std: "docker" "inspect" "d154efcfd0b6b6f01038342b4d47f9617691bdf13b900a552dc121f01e139b17", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d154efcfd0b6b6f01038342b4d47f9617691bdf13b900a552dc121f01e139b17", kill_on_drop: false }`
[INFO] [stdout] d154efcfd0b6b6f01038342b4d47f9617691bdf13b900a552dc121f01e139b17
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] dfde49b1c4068c0a67ee1ef45f94294eebf288fd97de41b04aeccaec57eb27c5
[INFO] running `Command { std: "docker" "start" "-a" "dfde49b1c4068c0a67ee1ef45f94294eebf288fd97de41b04aeccaec57eb27c5", kill_on_drop: false }`
[INFO] [stderr] warning: unused variable: `interval_min`
[INFO] [stderr]    --> src/core/providers/gamma.rs:919:9
[INFO] [stderr]     |
[INFO] [stderr] 919 |     let interval_min = (interval_secs / 60) as u32;
[INFO] [stderr]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_interval_min`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `binance`
[INFO] [stderr]    --> src/mcp/tools_market.rs:700:5
[INFO] [stderr]     |
[INFO] [stderr] 700 |     binance: &crate::core::providers::binance::BinanceClient,
[INFO] [stderr]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_binance`
[INFO] [stderr] 
[INFO] [stderr] warning: field `elapsed_buckets` is never read
[INFO] [stderr]    --> src/core/analysis/fair_value.rs:230:5
[INFO] [stderr]     |
[INFO] [stderr] 224 | pub struct EmpiricalDistribution {
[INFO] [stderr]     |            --------------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 230 |     elapsed_buckets: u32,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `EmpiricalDistribution` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `bid_depth_usd`, `levels_for_100`, `best_ask`, and `best_bid` are never read
[INFO] [stderr]   --> src/core/analysis/microstructure.rs:13:9
[INFO] [stderr]    |
[INFO] [stderr]  7 | pub struct TradeabilityAssessment {
[INFO] [stderr]    |            ---------------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 13 |     pub bid_depth_usd: f64,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 17 |     pub levels_for_100: usize,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr] 18 |     /// Best ask price (entry price for buyers)
[INFO] [stderr] 19 |     pub best_ask: f64,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 20 |     /// Best bid price (exit price for sellers)
[INFO] [stderr] 21 |     pub best_bid: f64,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TradeabilityAssessment` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `make_prices` is never used
[INFO] [stderr]    --> src/core/analysis/momentum.rs:145:8
[INFO] [stderr]     |
[INFO] [stderr] 145 |     fn make_prices(start_ts: i64, interval_ms: i64, values: &[f64]) -> Vec<(i64, f64)> {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `address` is never read
[INFO] [stderr]   --> src/core/execution/live.rs:50:9
[INFO] [stderr]    |
[INFO] [stderr] 48 | pub struct ApprovalStatus {
[INFO] [stderr]    |            -------------- field in this struct
[INFO] [stderr] 49 |     pub contract_name: String,
[INFO] [stderr] 50 |     pub address: String,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ApprovalStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `stop_heartbeats` and `smoke_test` are never used
[INFO] [stderr]    --> src/core/execution/live.rs:141:18
[INFO] [stderr]     |
[INFO] [stderr] 100 | impl LiveExecutor {
[INFO] [stderr]     | ----------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 141 |     pub async fn stop_heartbeats(&mut self) -> Result<()> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 626 |     pub async fn smoke_test(&self, token_id: &str) -> Result<()> {
[INFO] [stderr]     |                  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `max_position_size_usd` is never read
[INFO] [stderr]   --> src/core/execution/risk.rs:58:9
[INFO] [stderr]    |
[INFO] [stderr] 50 | pub struct RiskConfig {
[INFO] [stderr]    |            ---------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 58 |     pub max_position_size_usd: f64,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `RiskConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `balance`, `update_balance`, `cumulative_pnl`, `peak_cumulative_pnl`, and `config` are never used
[INFO] [stderr]    --> src/core/execution/risk.rs:372:12
[INFO] [stderr]     |
[INFO] [stderr] 128 | impl RiskManager {
[INFO] [stderr]     | ---------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 372 |     pub fn balance(&self) -> f64 {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 377 |     pub fn update_balance(&mut self, balance: f64) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 396 |     pub fn cumulative_pnl(&self) -> f64 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 409 |     pub fn peak_cumulative_pnl(&self) -> f64 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 419 |     pub fn config(&self) -> &RiskConfig {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `report` is never used
[INFO] [stderr]   --> src/core/infrastructure/latency.rs:37:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | impl ApiLatencyTracker {
[INFO] [stderr]    | ---------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 37 |     pub fn report(&self) {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_config` is never used
[INFO] [stderr]    --> src/core/monitor/auto_trade.rs:198:12
[INFO] [stderr]     |
[INFO] [stderr] 144 | impl AutoTradeState {
[INFO] [stderr]     | ------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 198 |     pub fn get_config(&self, asset: &str, window: u32) -> Option<&AutoTradeConfig> {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `set_log_full_books` and `retention_days` are never used
[INFO] [stderr]    --> src/core/monitor/logger.rs:161:12
[INFO] [stderr]     |
[INFO] [stderr] 130 | impl DataLogger {
[INFO] [stderr]     | --------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 161 |     pub fn set_log_full_books(&self, full: bool) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 279 |     pub fn retention_days(&self) -> u32 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `spawn_background_tasks` is never used
[INFO] [stderr]   --> src/core/monitor/poller.rs:80:8
[INFO] [stderr]    |
[INFO] [stderr] 80 | pub fn spawn_background_tasks(
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `fetched_at_utc` is never read
[INFO] [stderr]   --> src/core/monitor/state.rs:44:9
[INFO] [stderr]    |
[INFO] [stderr] 41 | pub struct TimestampedPrice {
[INFO] [stderr]    |            ---------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 44 |     pub fetched_at_utc: DateTime<Utc>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TimestampedPrice` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `token_id` and `old_spread_pct` are never read
[INFO] [stderr]   --> src/core/monitor/state.rs:81:9
[INFO] [stderr]    |
[INFO] [stderr] 80 |     SpreadNarrowing {
[INFO] [stderr]    |     --------------- fields in this variant
[INFO] [stderr] 81 |         token_id: String,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 82 |         market_name: String,
[INFO] [stderr] 83 |         old_spread_pct: f64,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AlertKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `old_depth` is never read
[INFO] [stderr]   --> src/core/monitor/state.rs:90:9
[INFO] [stderr]    |
[INFO] [stderr] 86 |     DepthSpike {
[INFO] [stderr]    |     ---------- field in this variant
[INFO] [stderr] ...
[INFO] [stderr] 90 |         old_depth: f64,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AlertKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `token_id` and `price` are never read
[INFO] [stderr]   --> src/core/monitor/state.rs:95:9
[INFO] [stderr]    |
[INFO] [stderr] 94 |     WhaleTrade {
[INFO] [stderr]    |     ---------- fields in this variant
[INFO] [stderr] 95 |         token_id: String,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 99 |         price: f64,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AlertKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `open_count` is never read
[INFO] [stderr]    --> src/core/paper/portfolio.rs:230:9
[INFO] [stderr]     |
[INFO] [stderr] 220 | pub struct PortfolioStats {
[INFO] [stderr]     |            -------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 230 |     pub open_count: usize,
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `PortfolioStats` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_spot_price` and `get_kline_at` are never used
[INFO] [stderr]    --> src/core/providers/binance.rs:60:18
[INFO] [stderr]     |
[INFO] [stderr]  47 | impl BinanceClient {
[INFO] [stderr]     | ------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  60 |     pub async fn get_spot_price(&self, symbol: &str) -> Result<f64> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 100 |     pub async fn get_kline_at(
[INFO] [stderr]     |                  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `received_at` is never read
[INFO] [stderr]   --> src/core/providers/chainlink.rs:28:9
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub struct ChainlinkPriceUpdate {
[INFO] [stderr]    |            -------------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 28 |     pub received_at: Instant,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ChainlinkPriceUpdate` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `subscribe` is never used
[INFO] [stderr]   --> src/core/providers/chainlink.rs:71:12
[INFO] [stderr]    |
[INFO] [stderr] 49 | impl ChainlinkRtds {
[INFO] [stderr]    | ------------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 71 |     pub fn subscribe(&self) -> broadcast::Receiver<ChainlinkPriceUpdate> {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `fetch_market_by_slug` is never used
[INFO] [stderr]    --> src/core/providers/gamma.rs:361:14
[INFO] [stderr]     |
[INFO] [stderr] 361 | pub async fn fetch_market_by_slug(
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MarketWithSettlement` is never constructed
[INFO] [stderr]    --> src/core/providers/gamma.rs:377:12
[INFO] [stderr]     |
[INFO] [stderr] 377 | pub struct MarketWithSettlement {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `fetch_market_with_settlement` is never used
[INFO] [stderr]    --> src/core/providers/gamma.rs:385:14
[INFO] [stderr]     |
[INFO] [stderr] 385 | pub async fn fetch_market_with_settlement(
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `daily_token_ids` is never used
[INFO] [stderr]    --> src/core/providers/gamma.rs:838:8
[INFO] [stderr]     |
[INFO] [stderr] 838 | pub fn daily_token_ids(markets: &[MarketConfig]) -> Vec<(String, String, String)> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `short_term_token_ids` is never used
[INFO] [stderr]    --> src/core/providers/gamma.rs:850:8
[INFO] [stderr]     |
[INFO] [stderr] 850 | pub fn short_term_token_ids(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `monthly_token_ids` is never used
[INFO] [stderr]    --> src/core/providers/gamma.rs:874:8
[INFO] [stderr]     |
[INFO] [stderr] 874 | pub fn monthly_token_ids(markets: &[MarketConfig]) -> Vec<(String, String, String, String)> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_order_book_timed`, `is_operational`, `dead_token_count`, `get_prices_history`, and `get_prices_history_for_range` are never used
[INFO] [stderr]    --> src/core/providers/polymarket.rs:69:18
[INFO] [stderr]     |
[INFO] [stderr]  34 | impl PolymarketClient {
[INFO] [stderr]     | --------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  69 |     pub async fn get_order_book_timed(&self, token_id: &str) -> Result<(OrderBook, f64)> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 172 |     pub async fn is_operational(&self) -> bool {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 176 |     pub async fn dead_token_count(&self) -> usize {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 185 |     pub async fn get_prices_history(&self, token_id: &str) -> Result<Vec<(i64, f64)>> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 243 |     pub async fn get_prices_history_for_range(
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Hourly` and `Weekly` are never constructed
[INFO] [stderr]   --> src/core/providers/resolver.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub enum MarketType {
[INFO] [stderr]    |          ---------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 25 |     Hourly,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 29 |     Weekly,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `MarketType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `size` and `timestamp_ms` are never read
[INFO] [stderr]   --> src/core/providers/trades_ws.rs:19:9
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub struct PolymarketTradeEvent {
[INFO] [stderr]    |            -------------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 19 |     pub size: f64,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 23 |     pub timestamp_ms: u64,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `PolymarketTradeEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `subscribe` is never used
[INFO] [stderr]   --> src/core/providers/trades_ws.rs:58:12
[INFO] [stderr]    |
[INFO] [stderr] 39 | impl PolymarketTradesWs {
[INFO] [stderr]    | ----------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 58 |     pub fn subscribe(&self) -> broadcast::Receiver<PolymarketTradeEvent> {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `depth_for_side`, `simulate_fill`, `check_depth`, and `limit_order_price` are never used
[INFO] [stderr]    --> src/core/types.rs:155:12
[INFO] [stderr]     |
[INFO] [stderr]  80 | impl OrderBook {
[INFO] [stderr]     | -------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 155 |     pub fn depth_for_side(&self, side: Side, max_slippage_pct: f64) -> f64 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 226 |     pub fn simulate_fill(&self, side: Side, quantity: f64) -> Option<FillResult> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 279 |     pub fn check_depth(&self, side: Side, size_usd: f64) -> Option<DepthCheck> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 299 |     pub fn limit_order_price(&self, side: Side, offset: f64) -> Option<f64> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `best_price` is never read
[INFO] [stderr]    --> src/core/types.rs:325:9
[INFO] [stderr]     |
[INFO] [stderr] 319 | pub struct FillResult {
[INFO] [stderr]     |            ---------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 325 |     pub best_price: f64,
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `FillResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DepthCheck` is never constructed
[INFO] [stderr]    --> src/core/types.rs:331:12
[INFO] [stderr]     |
[INFO] [stderr] 331 | pub struct DepthCheck {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `ExitReason` is never used
[INFO] [stderr]    --> src/core/types.rs:392:10
[INFO] [stderr]     |
[INFO] [stderr] 392 | pub enum ExitReason {
[INFO] [stderr]     |          ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `otm_percent` is never used
[INFO] [stderr]    --> src/core/types.rs:436:12
[INFO] [stderr]     |
[INFO] [stderr] 426 | impl MarketConfig {
[INFO] [stderr]     | ----------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 436 |     pub fn otm_percent(&self, current_price: f64) -> f64 {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SpotPriceHistory` is never constructed
[INFO] [stderr]    --> src/core/types.rs:480:12
[INFO] [stderr]     |
[INFO] [stderr] 480 | pub struct SpotPriceHistory {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/core/types.rs:486:12
[INFO] [stderr]     |
[INFO] [stderr] 485 | impl SpotPriceHistory {
[INFO] [stderr]     | --------------------- associated items in this implementation
[INFO] [stderr] 486 |     pub fn new(max_age_secs: u64) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 493 |     pub fn record(&mut self, timestamp_ms: i64, price: f64) {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 505 |     pub fn price_at(&self, target_ms: i64) -> Option<f64> {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 528 |     pub fn price_at_checked(&self, target_ms: i64, max_diff_ms: i64) -> Option<f64> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 555 |     pub fn latest_with_ts(&self) -> Option<(i64, f64)> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 559 |     pub fn latest(&self) -> Option<f64> {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 563 |     pub fn len(&self) -> usize {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 567 |     pub fn is_empty(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `format` is never read
[INFO] [stderr]    --> src/mcp/tools_auto.rs:199:9
[INFO] [stderr]     |
[INFO] [stderr] 193 | pub struct GetAutoTradeStatusParams {
[INFO] [stderr]     |            ------------------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 199 |     pub format: Option<String>,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `GetAutoTradeStatusParams` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `format` is never read
[INFO] [stderr]   --> src/mcp/tools_book.rs:28:9
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub struct GetOrderBookParams {
[INFO] [stderr]    |            ------------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 28 |     pub format: Option<String>,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `GetOrderBookParams` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `format` is never read
[INFO] [stderr]    --> src/mcp/tools_market.rs:309:9
[INFO] [stderr]     |
[INFO] [stderr] 303 | pub struct GetActiveWindowParams {
[INFO] [stderr]     |            --------------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 309 |     pub format: Option<String>,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `GetActiveWindowParams` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `format` is never read
[INFO] [stderr]    --> src/mcp/tools_market.rs:457:9
[INFO] [stderr]     |
[INFO] [stderr] 451 | pub struct GetWindowBriefingParams {
[INFO] [stderr]     |            ----------------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 457 |     pub format: Option<String>,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `GetWindowBriefingParams` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `format` is never read
[INFO] [stderr]    --> src/mcp/tools_market.rs:640:9
[INFO] [stderr]     |
[INFO] [stderr] 636 | pub struct GetSpotPriceParams {
[INFO] [stderr]     |            ------------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 640 |     pub format: Option<String>,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `GetSpotPriceParams` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `format` is never read
[INFO] [stderr]   --> src/mcp/tools_monitor.rs:20:9
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub struct GetAlertsParams {
[INFO] [stderr]    |            --------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 20 |     pub format: Option<String>,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `GetAlertsParams` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `side` is never read
[INFO] [stderr]   --> src/mcp/tools_paper.rs:22:9
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub struct PaperTradeParams {
[INFO] [stderr]    |            ---------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 22 |     pub side: Option<String>,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `PaperTradeParams` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `format` is never read
[INFO] [stderr]    --> src/mcp/tools_paper.rs:143:9
[INFO] [stderr]     |
[INFO] [stderr] 139 | pub struct GetPaperPortfolioParams {
[INFO] [stderr]     |            ----------------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 143 |     pub format: Option<String>,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `GetPaperPortfolioParams` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `format` is never read
[INFO] [stderr]   --> src/mcp/tools_trading.rs:14:9
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub struct GetBalanceParams {
[INFO] [stderr]    |            ---------------- field in this struct
[INFO] [stderr] 13 |     /// Output format: "text" (default) or "json"
[INFO] [stderr] 14 |     pub format: Option<String>,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `GetBalanceParams` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `format` is never read
[INFO] [stderr]   --> src/mcp/tools_trading.rs:42:9
[INFO] [stderr]    |
[INFO] [stderr] 40 | pub struct GetPositionsParams {
[INFO] [stderr]    |            ------------------ field in this struct
[INFO] [stderr] 41 |     /// Output format: "text" (default) or "json"
[INFO] [stderr] 42 |     pub format: Option<String>,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `GetPositionsParams` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: `crypto-conduit-mcp` (bin "crypto-conduit-mcp" test) generated 48 warnings (run `cargo fix --bin "crypto-conduit-mcp" -p crypto-conduit-mcp --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.73s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/crypto_conduit_mcp-7454e8a2d9032561)
[INFO] [stdout] 
[INFO] [stdout] running 284 tests
[INFO] [stdout] test core::analysis::book_dynamics::tests::test_balanced_book ... ok
[INFO] [stdout] test core::analysis::book_dynamics::tests::test_extended_filters_degenerate_books ... ok
[INFO] [stdout] test core::analysis::book_dynamics::tests::test_extended_empty_history ... ok
[INFO] [stdout] test core::analysis::book_dynamics::tests::test_mild_ask_pressure ... ok
[INFO] [stdout] test core::analysis::book_dynamics::tests::test_extended_with_history ... ok
[INFO] [stdout] test core::analysis::book_dynamics::tests::test_mild_bid_pressure ... ok
[INFO] [stdout] test core::analysis::book_dynamics::tests::test_spread_stats ... ok
[INFO] [stdout] test core::analysis::book_dynamics::tests::test_narrowing_trend ... ok
[INFO] [stdout] test core::analysis::book_dynamics::tests::test_spread_trend_display ... ok
[INFO] [stdout] test core::analysis::book_dynamics::tests::test_depth_trend_display ... ok
[INFO] [stdout] test core::analysis::book_dynamics::tests::test_stable_trend ... ok
[INFO] [stdout] test core::analysis::book_dynamics::tests::test_strong_ask_pressure ... ok
[INFO] [stdout] test core::analysis::book_dynamics::tests::test_strong_bid_pressure ... ok
[INFO] [stdout] test core::analysis::book_dynamics::tests::test_too_few_spreads_for_trend ... ok
[INFO] [stdout] test core::analysis::book_dynamics::tests::test_zero_depth ... ok
[INFO] [stdout] test core::analysis::divergence::tests::test_divergence_overpriced ... ok
[INFO] [stdout] test core::analysis::divergence::tests::test_divergence_underpriced ... ok
[INFO] [stdout] test core::analysis::divergence::tests::test_fair_prob_down_move ... ok
[INFO] [stdout] test core::analysis::divergence::tests::test_fair_prob_neutral ... ok
[INFO] [stdout] test core::analysis::divergence::tests::test_fair_prob_up_move ... ok
[INFO] [stdout] test core::analysis::divergence::tests::test_spot_vs_strike ... ok
[INFO] [stdout] test core::analysis::fair_value::tests::test_cache_miss ... ok
[INFO] [stdout] test core::analysis::book_dynamics::tests::test_extended_growing_depth ... ok
[INFO] [stdout] test core::analysis::book_dynamics::tests::test_widening_trend ... ok
[INFO] [stdout] test core::analysis::fair_value::tests::test_cache_put_get ... ok
[INFO] [stdout] test core::analysis::fair_value::tests::test_empirical_empty_klines ... ok
[INFO] [stdout] test core::analysis::fair_value::tests::test_multi_strike_consistent ... ok
[INFO] [stdout] test core::analysis::fair_value::tests::test_multi_strike_inconsistent ... ok
[INFO] [stdout] test core::analysis::fair_value::tests::test_multi_strike_single ... ok
[INFO] [stdout] test core::analysis::fair_value::tests::test_multi_strike_within_tolerance ... ok
[INFO] [stdout] test core::analysis::fair_value::tests::test_empirical_with_fallback ... ok
[INFO] [stdout] test core::analysis::fair_value::tests::test_near_expiry_direction_based ... ok
[INFO] [stdout] test core::analysis::book_dynamics::tests::test_empty_spreads ... ok
[INFO] [stdout] test core::analysis::fair_value::tests::test_normal_cdf_one ... ok
[INFO] [stdout] test core::analysis::fair_value::tests::test_normal_cdf_neg_one ... ok
[INFO] [stdout] test core::analysis::fair_value::tests::test_normal_cdf_zero ... ok
[INFO] [stdout] test core::analysis::fair_value::tests::test_normal_cdf_symmetry ... ok
[INFO] [stdout] test core::analysis::fair_value::tests::test_normal_cdf_two ... ok
[INFO] [stdout] test core::analysis::fair_value::tests::test_realized_vol_flat ... ok
[INFO] [stdout] test core::analysis::fair_value::tests::test_realized_vol_insufficient_data ... ok
[INFO] [stdout] test core::analysis::fair_value::tests::test_realized_vol_trending ... ok
[INFO] [stdout] test core::analysis::fair_value::tests::test_vol_cdf_at_the_money ... ok
[INFO] [stdout] test core::analysis::fair_value::tests::test_vol_cdf_deep_itm ... ok
[INFO] [stdout] test core::analysis::fair_value::tests::test_vol_cdf_deep_otm ... ok
[INFO] [stdout] test core::analysis::fair_value::tests::test_vol_cdf_expired ... ok
[INFO] [stdout] test core::analysis::fair_value::tests::test_vol_cdf_higher_vol_widens ... ok
[INFO] [stdout] test core::analysis::fair_value::tests::test_vol_cdf_near_zero_time ... ok
[INFO] [stdout] test core::analysis::fees::tests::test_breakeven_at_50 ... ok
[INFO] [stdout] test core::analysis::fees::tests::test_fee_at_extremes ... ok
[INFO] [stdout] test core::analysis::fees::tests::test_fee_at_half ... ok
[INFO] [stdout] test core::analysis::fees::tests::test_fee_symmetry ... ok
[INFO] [stdout] test core::analysis::fees::tests::test_maker_lower_breakeven ... ok
[INFO] [stdout] test core::analysis::fees::tests::test_maker_rebate ... ok
[INFO] [stdout] test core::analysis::fees::tests::test_pnl_win_loss_relationship ... ok
[INFO] [stdout] test core::analysis::microstructure::tests::test_empty_book ... ok
[INFO] [stdout] test core::analysis::microstructure::tests::test_good_tradeability ... ok
[INFO] [stdout] test core::analysis::microstructure::tests::test_untradeable_wide_spread ... ok
[INFO] [stdout] test core::analysis::momentum::tests::test_acceleration_positive ... ok
[INFO] [stdout] test core::analysis::momentum::tests::test_closest_price ... ok
[INFO] [stdout] test core::analysis::momentum::tests::test_downward_momentum ... ok
[INFO] [stdout] test core::analysis::momentum::tests::test_empty_prices ... ok
[INFO] [stdout] test core::analysis::momentum::tests::test_flat_market ... ok
[INFO] [stdout] test core::analysis::momentum::tests::test_single_price ... ok
[INFO] [stdout] test core::analysis::momentum::tests::test_trend_labels ... ok
[INFO] [stdout] test core::analysis::momentum::tests::test_upward_momentum ... ok
[INFO] [stdout] test core::analysis::momentum::tests::test_volatility_zero_for_flat ... ok
[INFO] [stdout] test core::analysis::fees::tests::test_ev_negative_below_breakeven ... ok
[INFO] [stdout] test core::execution::config::tests::test_config_display_redacts_key ... ok
[INFO] [stdout] test core::analysis::fees::tests::test_ev_positive_above_breakeven ... ok
[INFO] [stdout] test core::execution::config::tests::test_private_key_validation ... ok
[INFO] [stdout] test core::execution::config::tests::test_risk_limits_defaults ... ok
[INFO] [stdout] test core::execution::live::tests::test_hex_to_bytes32_invalid_length ... ok
[INFO] [stdout] test core::execution::live::tests::test_hex_to_bytes32_valid ... ok
[INFO] [stdout] test core::execution::live::tests::test_hex_to_bytes32_with_prefix ... ok
[INFO] [stdout] test core::execution::live::tests::test_parse_signature_type ... ok
[INFO] [stdout] test core::analysis::fees::tests::test_breakeven_at_65 ... ok
[INFO] [stdout] test core::analysis::fair_value::tests::test_vol_cdf_more_time_widens ... ok
[INFO] [stdout] test core::execution::risk::tests::test_can_trade_all_clear ... ok
[INFO] [stdout] test core::execution::risk::tests::test_consecutive_losses_reset_on_win ... ok
[INFO] [stdout] test core::execution::risk::tests::test_balance_updates_with_pnl ... ok
[INFO] [stdout] test core::execution::risk::tests::test_consecutive_losses ... ok
[INFO] [stdout] test core::execution::risk::tests::test_from_risk_limits ... ok
[INFO] [stdout] test core::execution::risk::tests::test_daily_loss_limit ... ok
[INFO] [stdout] test core::execution::risk::tests::test_insufficient_balance ... ok
[INFO] [stdout] test core::execution::risk::tests::test_manual_halt ... ok
[INFO] [stdout] test core::execution::risk::tests::test_drawdown_disabled_when_zero ... ok
[INFO] [stdout] test core::execution::risk::tests::test_daily_reset ... ok
[INFO] [stdout] test core::execution::risk::tests::test_is_halted_checks_all_conditions ... ok
[INFO] [stdout] test core::execution::risk::tests::test_drawdown_halt_triggers ... ok
[INFO] [stdout] test core::execution::risk::tests::test_drawdown_with_recovery ... ok
[INFO] [stdout] test core::execution::risk::tests::test_status_summary ... ok
[INFO] [stdout] test core::execution::risk::tests::test_max_positions ... ok
[INFO] [stdout] test core::execution::risk::tests::test_peak_updates_correctly ... ok
[INFO] [stdout] test core::infrastructure::latency::tests::test_empty_tracker ... ok
[INFO] [stdout] test core::infrastructure::latency::tests::test_max_samples_eviction ... ok
[INFO] [stdout] test core::infrastructure::latency::tests::test_percentiles ... ok
[INFO] [stdout] test core::infrastructure::latency::tests::test_single_sample ... ok
[INFO] [stdout] test core::infrastructure::recovery::tests::test_circuit_breaker_clone_shares_state ... ok
[INFO] [stdout] test core::infrastructure::recovery::tests::test_circuit_breaker_closed_by_default ... ok
[INFO] [stdout] test core::infrastructure::recovery::tests::test_circuit_breaker_opens_after_threshold ... ok
[INFO] [stdout] test core::infrastructure::recovery::tests::test_circuit_breaker_success_resets_failures ... ok
[INFO] [stdout] test core::infrastructure::recovery::tests::test_reconnect_backoff_caps_at_max ... ok
[INFO] [stdout] test core::execution::risk::tests::test_state_persistence_different_day ... ok
[INFO] [stdout] test core::infrastructure::recovery::tests::test_reconnect_backoff_reset ... ok
[INFO] [stdout] test core::monitor::alerts::tests::test_alert_display ... ok
[INFO] [stdout] test core::execution::risk::tests::test_state_persistence_same_day ... ok
[INFO] [stdout] test core::monitor::alerts::tests::test_depth_spike_alert ... ok
[INFO] [stdout] test core::monitor::alerts::tests::test_depth_spike_cooldown ... ok
[INFO] [stdout] test core::monitor::alerts::tests::test_no_depth_spike_below_min_threshold ... ok
[INFO] [stdout] test core::monitor::alerts::tests::test_no_depth_spike_small_change ... ok
[INFO] [stdout] test core::monitor::alerts::tests::test_no_spread_alert_when_still_wide ... ok
[INFO] [stdout] test core::monitor::alerts::tests::test_process_whale_trade_above_threshold ... ok
[INFO] [stdout] test core::execution::risk::tests::test_state_save_and_reload ... ok
[INFO] [stdout] test core::monitor::alerts::tests::test_process_whale_trade_below_threshold ... ok
[INFO] [stdout] test core::monitor::alerts::tests::test_process_whale_trade_high_price_boundary ... ok
[INFO] [stdout] test core::monitor::alerts::tests::test_process_whale_trade_settlement_artifact ... ok
[INFO] [stdout] test core::monitor::alerts::tests::test_snapshot_from_book ... ok
[INFO] [stdout] test core::monitor::alerts::tests::test_spread_narrowing_alert ... ok
[INFO] [stdout] test core::monitor::alerts::tests::test_window_approaching_alert ... ok
[INFO] [stdout] test core::monitor::alerts::tests::test_window_approaching_ignores_started ... ok
[INFO] [stdout] test core::monitor::auto_trade::tests::test_auto_trade_config_key ... ok
[INFO] [stdout] test core::infrastructure::recovery::tests::test_reconnect_backoff_doubles ... ok
[INFO] [stdout] test core::monitor::auto_trade::tests::test_auto_trade_mode_display ... ok
[INFO] [stdout] test core::monitor::auto_trade::tests::test_auto_trade_state_already_traded ... ok
[INFO] [stdout] test core::monitor::auto_trade::tests::test_auto_trade_state_persistence ... ok
[INFO] [stdout] test core::monitor::auto_trade::tests::test_auto_trade_state_prune_conditions ... ok
[INFO] [stdout] test core::monitor::auto_trade::tests::test_auto_trade_state_set_config ... ok
[INFO] [stdout] test core::monitor::auto_trade::tests::test_check_entry_all_pass ... ok
[INFO] [stdout] test core::monitor::auto_trade::tests::test_check_entry_already_traded ... ok
[INFO] [stdout] test core::monitor::auto_trade::tests::test_check_entry_depth_too_low ... ok
[INFO] [stdout] test core::monitor::auto_trade::tests::test_check_entry_down_direction ... ok
[INFO] [stdout] test core::monitor::auto_trade::tests::test_check_entry_insufficient_move ... ok
[INFO] [stdout] test core::monitor::auto_trade::tests::test_check_entry_price_too_high ... ok
[INFO] [stdout] test core::monitor::auto_trade::tests::test_check_entry_spread_too_wide ... ok
[INFO] [stdout] test core::monitor::auto_trade::tests::test_check_entry_too_early ... ok
[INFO] [stdout] test core::monitor::auto_trade::tests::test_check_entry_untradeable ... ok
[INFO] [stdout] test core::monitor::auto_trade::tests::test_check_entry_forced_side_up ... ok
[INFO] [stdout] test core::monitor::auto_trade::tests::test_enabled_configs ... ok
[INFO] [stdout] test core::monitor::auto_trade::tests::test_recent_trades_for_filter ... ok
[INFO] [stdout] test core::monitor::auto_trade::tests::test_recent_trades_ring_buffer ... ok
[INFO] [stdout] test core::monitor::logger::tests::test_load_recent_order_books_empty_dir ... ok
[INFO] [stdout] test core::monitor::logger::tests::test_cleanup_zero_retention_keeps_all ... ok
[INFO] [stdout] test core::analysis::fair_value::tests::test_empirical_always_up ... ok
[INFO] [stdout] test core::monitor::logger::tests::test_load_recent_order_books ... ok
[INFO] [stdout] test core::monitor::logger::tests::test_load_recent_order_books_corrupt_lines ... ok
[INFO] [stdout] test core::monitor::logger::tests::test_logger_disabled_noop ... ok
[INFO] [stdout] test core::monitor::logger::tests::test_logger_toggle ... ok
[INFO] [stdout] test core::monitor::logger::tests::test_logger_full_books ... ok
[INFO] [stdout] test core::monitor::logger::tests::test_logger_market_discovery ... ok
[INFO] [stdout] test core::monitor::logger::tests::test_cleanup_old_logs ... ok
[INFO] [stdout] test core::monitor::poller::tests::test_build_token_names ... ok
[INFO] [stdout] test core::monitor::poller::tests::test_poller_config_defaults ... ok
[INFO] [stdout] test core::monitor::poller::tests::test_alert_config_defaults ... ok
[INFO] [stdout] test core::monitor::poller::tests::test_spawn_returns_handles ... ok
[INFO] [stdout] test core::monitor::logger::tests::test_logger_writes_order_book ... ok
[INFO] [stdout] test core::monitor::logger::tests::test_logger_writes_spot_prices ... ok
[INFO] [stdout] test core::monitor::state::tests::test_active_short_term_token_ids ... ok
[INFO] [stdout] test core::monitor::state::tests::test_shared_state_clone_shares_inner ... ok
[INFO] [stdout] test core::monitor::state::tests::test_timestamped_order_book_age ... ok
[INFO] [stdout] test core::monitor::state::tests::test_alert_ring_buffer_capacity ... ok
[INFO] [stdout] test core::monitor::state::tests::test_timestamped_price_age ... ok
[INFO] [stdout] test core::monitor::state::tests::test_top_daily_monthly_token_ids ... ok
[INFO] [stdout] test core::monitor::state::tests::test_whale_trade_ring_buffer ... ok
[INFO] [stdout] test core::paper::engine::tests::test_close_position_basic ... ok
[INFO] [stdout] test core::paper::engine::tests::test_close_position_already_settled ... ok
[INFO] [stdout] test core::paper::engine::tests::test_close_position_at_loss ... ok
[INFO] [stdout] test core::paper::engine::tests::test_close_position_not_found ... ok
[INFO] [stdout] test core::paper::engine::tests::test_close_position_invalid_price ... ok
[INFO] [stdout] test core::monitor::state::tests::test_prune_whale_trades ... ok
[INFO] [stdout] test core::paper::engine::tests::test_close_position_pnl_math ... ok
[INFO] [stdout] test core::paper::engine::tests::test_did_win_logic ... ok
[INFO] [stdout] test core::paper::engine::tests::test_open_position_basic ... ok
[INFO] [stdout] test core::paper::engine::tests::test_persistence_roundtrip ... ok
[INFO] [stdout] test core::paper::engine::tests::test_open_position_fee_calculation ... ok
[INFO] [stdout] test core::paper::engine::tests::test_open_position_invalid_price ... ok
[INFO] [stdout] test core::paper::engine::tests::test_pnl_calculation_loss ... ok
[INFO] [stdout] test core::paper::engine::tests::test_pnl_calculation_win ... ok
[INFO] [stdout] test core::paper::portfolio::tests::test_load_nonexistent_file ... ok
[INFO] [stdout] test core::paper::portfolio::tests::test_empty_portfolio_stats ... ok
[INFO] [stdout] test core::infrastructure::recovery::tests::test_circuit_breaker_half_open_after_timeout ... ok
[INFO] [stdout] test core::paper::engine::tests::test_position_ids_increment ... ok
[INFO] [stdout] test core::paper::portfolio::tests::test_stats_by_price_bucket ... ok
[INFO] [stdout] test core::paper::portfolio::tests::test_stats_with_settled_positions ... ok
[INFO] [stdout] test core::providers::binance::tests::test_deserialize_ticker ... ok
[INFO] [stdout] test core::paper::portfolio::tests::test_portfolio_save_load_roundtrip ... ok
[INFO] [stdout] test core::monitor::state::tests::test_history_ring_buffer ... ok
[INFO] [stdout] test core::paper::portfolio::tests::test_price_bucket_boundaries ... ok
[INFO] [stdout] test core::providers::chainlink::tests::test_price_update_to_binance ... ok
[INFO] [stdout] test core::providers::binance::tests::test_supported_symbols ... ok
[INFO] [stdout] test core::paper::portfolio::tests::test_open_and_settled_queries ... ok
[INFO] [stdout] test core::providers::chainlink::tests::test_all_symbols_count ... ok
[INFO] [stdout] test core::providers::chainlink::tests::test_chainlink_to_binance ... ok
[INFO] [stdout] test core::providers::gamma::tests::test_asset_to_slug_name ... ok
[INFO] [stdout] test core::providers::gamma::tests::test_asset_to_underlying ... ok
[INFO] [stdout] test core::providers::gamma::tests::test_daily_above_slug ... ok
[INFO] [stdout] test core::providers::gamma::tests::test_month_short_name ... ok
[INFO] [stdout] test core::providers::gamma::tests::test_daily_range_slug ... ok
[INFO] [stdout] test core::providers::gamma::tests::test_daily_updown_slug ... ok
[INFO] [stdout] test core::providers::gamma::tests::test_hourly_slug ... ok
[INFO] [stdout] test core::providers::gamma::tests::test_is_above ... ok
[INFO] [stdout] test core::providers::gamma::tests::test_parse_monthly_direction ... ok
[INFO] [stdout] test core::providers::gamma::tests::test_short_term_slug ... ok
[INFO] [stdout] test core::providers::gamma::tests::test_weekly_slug ... ok
[INFO] [stdout] test core::providers::resolver::tests::test_direct_token_id ... ok
[INFO] [stdout] test core::providers::resolver::tests::test_fake_asset_not_found ... ok
[INFO] [stdout] test core::providers::resolver::tests::test_fuzzy_daily_above ... ok
[INFO] [stdout] test core::providers::resolver::tests::test_normalize_asset ... ok
[INFO] [stdout] test core::providers::resolver::tests::test_strict_allows_asset_query ... ok
[INFO] [stdout] test core::providers::resolver::tests::test_strict_allows_direct_token_id ... ok
[INFO] [stdout] test core::providers::resolver::tests::test_strict_rejects_no_asset ... ok
[INFO] [stdout] test core::providers::resolver::tests::test_structured_btc_5m_up ... ok
[INFO] [stdout] test core::providers::resolver::tests::test_structured_eth_15m_down ... ok
[INFO] [stdout] test core::providers::resolver::tests::test_structured_match_prefers_active_window ... ok
[INFO] [stdout] test core::providers::trades_ws::tests::test_parse_f64_missing ... ok
[INFO] [stdout] test core::providers::trades_ws::tests::test_parse_timestamp_seconds_to_millis ... ok
[INFO] [stdout] test core::providers::resolver::tests::test_not_found ... ok
[INFO] [stdout] test core::providers::trades_ws::tests::test_parse_f64_number ... ok
[INFO] [stdout] test core::providers::trades_ws::tests::test_parse_f64_string ... ok
[INFO] [stdout] test core::providers::trades_ws::tests::test_parse_timestamp_already_millis ... ok
[INFO] [stdout] test core::providers::trades_ws::tests::test_whale_filter ... ok
[INFO] [stdout] test mcp::formatter::tests::test_fmt_age_minutes ... ok
[INFO] [stdout] test mcp::formatter::tests::test_fmt_age_sub_second ... ok
[INFO] [stdout] test mcp::formatter::tests::test_fmt_usd_large ... ok
[INFO] [stdout] test mcp::formatter::tests::test_fmt_age_seconds ... ok
[INFO] [stdout] test mcp::formatter::tests::test_fmt_pct ... ok
[INFO] [stdout] test mcp::formatter::tests::test_fmt_usd_small ... ok
[INFO] [stdout] test mcp::formatter::tests::test_polymarket_url ... ok
[INFO] [stdout] test mcp::formatter::tests::test_fmt_usd_medium ... ok
[INFO] [stdout] test mcp::formatter::tests::test_fmt_usd_negative ... ok
[INFO] [stdout] test core::providers::gamma::tests::test_parse_strike ... ok
[INFO] [stdout] test mcp::tools_book::tests::test_simulate_trade_extreme_high_price ... ok
[INFO] [stdout] test mcp::tools_book::tests::test_simulate_trade_extreme_low_price ... ok
[INFO] [stdout] test mcp::tools_book::tests::test_simulate_trade_invalid_price_one ... ok
[INFO] [stdout] test mcp::tools_book::tests::test_simulate_trade_invalid_price_zero ... ok
[INFO] [stdout] test mcp::tools_book::tests::test_simulate_trade_maker ... ok
[INFO] [stdout] test mcp::tools_book::tests::test_simulate_trade_ev_table ... ok
[INFO] [stdout] test mcp::tools_book::tests::test_simulate_trade_negative_price ... ok
[INFO] [stdout] test mcp::tools_book::tests::test_simulate_trade_negative_size ... ok
[INFO] [stdout] test mcp::tools_book::tests::test_simulate_trade_taker_basic ... ok
[INFO] [stdout] test mcp::tools_market::tests::test_active_window_no_markets ... ok
[INFO] [stdout] test mcp::tools_market::tests::test_active_window_no_order_book_data ... ok
[INFO] [stdout] test mcp::tools_market::tests::test_active_window_with_order_books ... ok
[INFO] [stdout] test core::analysis::fair_value::tests::test_empirical_random_walk ... ok
[INFO] [stdout] test mcp::tools_book::tests::test_get_order_book_no_params ... ok
[INFO] [stdout] test mcp::tools_market::tests::test_search_daily_markets ... ok
[INFO] [stdout] test mcp::tools_market::tests::test_search_empty_state ... ok
[INFO] [stdout] test mcp::tools_market::tests::test_search_filter_excludes_wrong_asset ... ok
[INFO] [stdout] test mcp::tools_market::tests::test_search_limit ... ok
[INFO] [stdout] test mcp::tools_market::tests::test_search_with_short_term_markets ... ok
[INFO] [stdout] test mcp::tools_market::tests::test_spot_price_empty_state ... ok
[INFO] [stdout] test mcp::tools_market::tests::test_spot_price_no_data_for_asset ... ok
[INFO] [stdout] test mcp::tools_market::tests::test_spot_price_populated ... ok
[INFO] [stdout] test mcp::tools_market::tests::test_spot_price_single_asset ... ok
[INFO] [stdout] test mcp::tools_monitor::tests::test_alerts_custom_lookback ... ok
[INFO] [stdout] test mcp::tools_monitor::tests::test_alerts_empty_state ... ok
[INFO] [stdout] test mcp::tools_monitor::tests::test_alerts_old_events_filtered ... ok
[INFO] [stdout] test mcp::tools_monitor::tests::test_alerts_whale_filter_by_size ... ok
[INFO] [stdout] test mcp::tools_book::tests::test_get_order_book_not_found_market ... ok
[INFO] [stdout] test mcp::tools_monitor::tests::test_alerts_with_whale_trades ... ok
[INFO] [stdout] test mcp::tools_paper::tests::test_guess_underlying_btc ... ok
[INFO] [stdout] test mcp::tools_monitor::tests::test_alerts_with_market_alerts ... ok
[INFO] [stdout] test mcp::tools_paper::tests::test_guess_underlying_fallback ... ok
[INFO] [stdout] test mcp::tools_paper::tests::test_guess_underlying_other_assets ... ok
[INFO] [stdout] test mcp::tools_paper::tests::test_guess_underlying_eth ... ok
[INFO] [stdout] test mcp::tools_paper::tests::test_paper_close_not_found ... ok
[INFO] [stdout] test mcp::tools_paper::tests::test_paper_close_with_manual_price ... ok
[INFO] [stdout] test mcp::tools_paper::tests::test_paper_trade_empty_order_book ... ok
[INFO] [stdout] test mcp::tools_paper::tests::test_paper_trade_no_order_book ... ok
[INFO] [stdout] test mcp::tools_paper::tests::test_paper_trade_not_found_market ... ok
[INFO] [stdout] test mcp::tools_paper::tests::test_paper_trade_ambiguous_market ... ok
[INFO] [stdout] test mcp::tools_paper::tests::test_paper_trade_with_manual_price ... ok
[INFO] [stdout] test mcp::tools_whale::tests::test_empty_whale_activity ... ok
[INFO] [stdout] test mcp::tools_whale::tests::test_filter_by_asset ... ok
[INFO] [stdout] test mcp::tools_whale::tests::test_filter_by_min_size ... ok
[INFO] [stdout] test mcp::tools_whale::tests::test_filter_by_time ... ok
[INFO] [stdout] test mcp::tools_whale::tests::test_json_output ... ok
[INFO] [stdout] test mcp::tools_whale::tests::test_summary_stats ... ok
[INFO] [stdout] test mcp::tools_market::tests::test_briefing_no_markets ... ok
[INFO] [stdout] test mcp::tools_analysis::tests::test_market_analysis_whale_flow_from_state ... ok
[INFO] [stdout] test mcp::tools_paper::tests::test_portfolio_empty ... ok
[INFO] [stdout] test mcp::tools_market::tests::test_briefing_tradeable ... ok
[INFO] [stdout] test mcp::tools_market::tests::test_briefing_no_order_book ... ok
[INFO] [stdout] test mcp::tools_analysis::tests::test_market_analysis_empty_state ... ok
[INFO] [stdout] test mcp::tools_analysis::tests::test_market_analysis_json_format ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 284 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.42s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "dfde49b1c4068c0a67ee1ef45f94294eebf288fd97de41b04aeccaec57eb27c5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dfde49b1c4068c0a67ee1ef45f94294eebf288fd97de41b04aeccaec57eb27c5", kill_on_drop: false }`
[INFO] [stdout] dfde49b1c4068c0a67ee1ef45f94294eebf288fd97de41b04aeccaec57eb27c5
