[INFO] cloning repository https://github.com/johnmichaelgriffin-cmd/BeeBoop [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/johnmichaelgriffin-cmd/BeeBoop" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjohnmichaelgriffin-cmd%2FBeeBoop", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjohnmichaelgriffin-cmd%2FBeeBoop'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] be84aef2e0b848412e6fd54b5933dbd1741dc270 [INFO] checking johnmichaelgriffin-cmd/BeeBoop/be84aef2e0b848412e6fd54b5933dbd1741dc270 against master#e1613686e0efc80a1a18b1263625450a8de3fb04 for pr-154492 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjohnmichaelgriffin-cmd%2FBeeBoop" "/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/johnmichaelgriffin-cmd/BeeBoop [INFO] finished tweaking git repo https://github.com/johnmichaelgriffin-cmd/BeeBoop [INFO] tweaked toml for git repo https://github.com/johnmichaelgriffin-cmd/BeeBoop written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/johnmichaelgriffin-cmd/BeeBoop on toolchain e1613686e0efc80a1a18b1263625450a8de3fb04 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e1613686e0efc80a1a18b1263625450a8de3fb04" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/johnmichaelgriffin-cmd/BeeBoop 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" "+e1613686e0efc80a1a18b1263625450a8de3fb04" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded rust_decimal_macros v1.40.0 [INFO] [stderr] Downloaded borsh-derive v1.6.1 [INFO] [stderr] Downloaded serde_ignored v0.1.14 [INFO] [stderr] Downloaded serde_html_form v0.4.0 [INFO] [stderr] Downloaded alloy-rlp-derive v0.3.13 [INFO] [stderr] Downloaded alloy-tx-macros v1.7.3 [INFO] [stderr] Downloaded bitcoin-io v0.1.4 [INFO] [stderr] Downloaded alloy-rlp v0.3.13 [INFO] [stderr] Downloaded enum-ordinalize-derive v4.3.2 [INFO] [stderr] Downloaded alloy-rpc-types-any v1.7.3 [INFO] [stderr] Downloaded enum-ordinalize v4.3.2 [INFO] [stderr] Downloaded alloy-eip2930 v0.2.3 [INFO] [stderr] Downloaded alloy-rpc-types v1.7.3 [INFO] [stderr] Downloaded alloy-eip7702 v0.6.3 [INFO] [stderr] Downloaded alloy-sol-type-parser v1.5.7 [INFO] [stderr] Downloaded alloy-core v1.5.7 [INFO] [stderr] Downloaded alloy-eip7928 v0.3.3 [INFO] [stderr] Downloaded alloy-network-primitives v1.7.3 [INFO] [stderr] Downloaded alloy-sol-macro-expander v1.5.7 [INFO] [stderr] Downloaded alloy-contract v1.7.3 [INFO] [stderr] Downloaded alloy-dyn-abi v1.5.7 [INFO] [stderr] Downloaded alloy-sol-types v1.5.7 [INFO] [stderr] Downloaded secp256k1 v0.30.0 [INFO] [stderr] Downloaded alloy-consensus v1.7.3 [INFO] [stderr] Downloaded ruint v1.17.2 [INFO] [stderr] Downloaded alloy-rpc-types-eth v1.7.3 [INFO] [stderr] Downloaded alloy-provider v1.7.3 [INFO] [stderr] Downloaded aws-lc-rs v1.16.1 [INFO] [stderr] Downloaded alloy-primitives v1.5.7 [INFO] [stderr] Downloaded polymarket-client-sdk v0.4.4 [INFO] [stderr] Downloaded bon-macros v3.9.1 [INFO] [stderr] Downloaded alloy-rpc-client v1.7.3 [INFO] [stderr] Downloaded alloy-signer-local v1.7.3 [INFO] [stderr] Downloaded syn-solidity v1.5.7 [INFO] [stderr] Downloaded alloy-genesis v1.7.3 [INFO] [stderr] Downloaded alloy-eips v1.7.3 [INFO] [stderr] Downloaded blst v0.3.16 [INFO] [stderr] Downloaded wasmtimer v0.4.3 [INFO] [stderr] Downloaded alloy-transport v1.7.3 [INFO] [stderr] Downloaded sha3-asm v0.1.5 [INFO] [stderr] Downloaded const-hex v1.18.1 [INFO] [stderr] Downloaded rapidhash v4.4.1 [INFO] [stderr] Downloaded alloy-trie v0.9.5 [INFO] [stderr] Downloaded alloy v1.7.3 [INFO] [stderr] Downloaded alloy-chains v0.2.32 [INFO] [stderr] Downloaded bitcoin_hashes v0.14.1 [INFO] [stderr] Downloaded alloy-network v1.7.3 [INFO] [stderr] Downloaded alloy-json-rpc v1.7.3 [INFO] [stderr] Downloaded alloy-transport-http v1.7.3 [INFO] [stderr] Downloaded nybbles v0.4.8 [INFO] [stderr] Downloaded alloy-serde v1.7.3 [INFO] [stderr] Downloaded alloy-json-abi v1.5.7 [INFO] [stderr] Downloaded keccak-asm v0.1.5 [INFO] [stderr] Downloaded bon v3.9.1 [INFO] [stderr] Downloaded borsh v1.6.1 [INFO] [stderr] Downloaded alloy-signer v1.7.3 [INFO] [stderr] Downloaded alloy-sol-macro-input v1.5.7 [INFO] [stderr] Downloaded alloy-sol-macro v1.5.7 [INFO] [stderr] Downloaded alloy-consensus-any v1.7.3 [INFO] [stderr] Downloaded hex-conservative v0.2.2 [INFO] [stderr] Downloaded c-kzg v2.1.7 [INFO] [stderr] Downloaded secp256k1-sys v0.10.1 [INFO] [stderr] Downloaded aws-lc-sys v0.38.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+e1613686e0efc80a1a18b1263625450a8de3fb04" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4955e5a4e8ca0260ae10eda54e6974a262046b48a34088fdaa9719dd49293cb7 [INFO] running `Command { std: "docker" "start" "-a" "4955e5a4e8ca0260ae10eda54e6974a262046b48a34088fdaa9719dd49293cb7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4955e5a4e8ca0260ae10eda54e6974a262046b48a34088fdaa9719dd49293cb7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4955e5a4e8ca0260ae10eda54e6974a262046b48a34088fdaa9719dd49293cb7", kill_on_drop: false }` [INFO] [stdout] 4955e5a4e8ca0260ae10eda54e6974a262046b48a34088fdaa9719dd49293cb7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+e1613686e0efc80a1a18b1263625450a8de3fb04" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b0eda17573799b1d11347972c8a1e63582e702eafc5744c94a3d31c386710c36 [INFO] running `Command { std: "docker" "start" "-a" "b0eda17573799b1d11347972c8a1e63582e702eafc5744c94a3d31c386710c36", kill_on_drop: false }` [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Checking const-oid v0.9.6 [INFO] [stderr] Checking foldhash v0.2.0 [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling generic-array v0.14.9 [INFO] [stderr] Compiling ruint-macro v1.2.1 [INFO] [stderr] Compiling dunce v1.0.5 [INFO] [stderr] Checking memchr v2.8.0 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Checking base16ct v0.2.0 [INFO] [stderr] Checking keccak v0.1.6 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling alloy-rlp-derive v0.3.13 [INFO] [stderr] Checking bytes v1.11.1 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Checking der v0.7.10 [INFO] [stderr] Checking hashbrown v0.16.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Checking const-hex v1.18.1 [INFO] [stderr] Checking rustc-hash v2.1.1 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling crypto-common v0.1.6 [INFO] [stderr] Compiling fs_extra v1.3.0 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Checking http v1.4.0 [INFO] [stderr] Compiling sha3 v0.10.8 [INFO] [stderr] Compiling winnow v0.7.15 [INFO] [stderr] Compiling aws-lc-rs v1.16.1 [INFO] [stderr] Checking alloy-rlp v0.3.13 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling macro-string v0.1.4 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Checking ruint v1.17.2 [INFO] [stderr] Compiling syn-solidity v1.5.7 [INFO] [stderr] Checking getrandom v0.2.17 [INFO] [stderr] Checking parking_lot_core v0.9.12 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Checking sec1 v0.7.3 [INFO] [stderr] Checking spki v0.7.3 [INFO] [stderr] Checking errno v0.3.14 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking mio v1.1.1 [INFO] [stderr] Compiling cc v1.2.57 [INFO] [stderr] Checking signal-hook-registry v1.4.8 [INFO] [stderr] Checking socket2 v0.6.3 [INFO] [stderr] Checking ff v0.13.1 [INFO] [stderr] Checking crypto-bigint v0.5.5 [INFO] [stderr] Compiling proc-macro-error-attr2 v2.0.0 [INFO] [stderr] Checking futures-io v0.3.32 [INFO] [stderr] Checking group v0.13.0 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Compiling auto_impl v1.3.0 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking signature v2.2.0 [INFO] [stderr] Checking sha2 v0.10.9 [INFO] [stderr] Checking tokio v1.50.0 [INFO] [stderr] Checking rfc6979 v0.4.0 [INFO] [stderr] Checking futures-util v0.3.32 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Checking tinystr v0.8.2 [INFO] [stderr] Compiling proc-macro-error2 v2.0.1 [INFO] [stderr] Checking zerotrie v0.2.3 [INFO] [stderr] Checking icu_locale_core v2.1.1 [INFO] [stderr] Checking crc-catalog v2.4.0 [INFO] [stderr] Checking icu_collections v2.1.1 [INFO] [stderr] Compiling cmake v0.1.57 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Checking crc v3.4.0 [INFO] [stderr] Checking indexmap v2.13.0 [INFO] [stderr] Checking elliptic-curve v0.13.8 [INFO] [stderr] Checking ecdsa v0.16.9 [INFO] [stderr] Checking icu_provider v2.1.1 [INFO] [stderr] Checking nybbles v0.4.8 [INFO] [stderr] Checking bitflags v2.11.0 [INFO] [stderr] Checking k256 v0.13.4 [INFO] [stderr] Checking alloy-sol-type-parser v1.5.7 [INFO] [stderr] Checking itertools v0.14.0 [INFO] [stderr] Checking icu_properties v2.1.2 [INFO] [stderr] Checking icu_normalizer v2.1.1 [INFO] [stderr] Checking sync_wrapper v1.0.2 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Checking http-body-util v0.1.3 [INFO] [stderr] Checking futures-utils-wasm v0.1.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking getrandom v0.3.4 [INFO] [stderr] Compiling strum_macros v0.27.2 [INFO] [stderr] Compiling num_enum_derive v0.7.6 [INFO] [stderr] Compiling pin-project-internal v1.1.11 [INFO] [stderr] Checking rand_core v0.9.5 [INFO] [stderr] Checking rand v0.8.5 [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 darling_macro v0.23.0 [INFO] [stderr] Compiling darling_core v0.21.3 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling serde_with_macros v3.18.0 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Checking futures-executor v0.3.32 [INFO] [stderr] Checking url v2.5.8 [INFO] [stderr] Checking derive_more v2.1.1 [INFO] [stderr] Compiling openssl v0.10.76 [INFO] [stderr] Checking futures v0.3.32 [INFO] [stderr] Checking alloy-primitives v1.5.7 [INFO] [stderr] Checking rustls-native-certs v0.8.3 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking num_enum v0.7.6 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling siphasher v1.0.2 [INFO] [stderr] Compiling prettyplease v0.2.37 [INFO] [stderr] Checking dashmap v6.1.0 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking pin-project v1.1.11 [INFO] [stderr] Compiling phf_shared v0.13.1 [INFO] [stderr] Checking lru v0.16.3 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Checking getrandom v0.4.2 [INFO] [stderr] Compiling rust_decimal v1.40.0 [INFO] [stderr] Checking async-stream v0.3.6 [INFO] [stderr] Compiling phf_generator v0.13.1 [INFO] [stderr] Checking deranged v0.5.8 [INFO] [stderr] Checking serde_with v3.18.0 [INFO] [stderr] Compiling phf_macros v0.13.1 [INFO] [stderr] Checking alloy-json-abi v1.5.7 [INFO] [stderr] Checking alloy-serde v1.7.3 [INFO] [stderr] Checking alloy-eip7702 v0.6.3 [INFO] [stderr] Checking alloy-eip7928 v0.3.3 [INFO] [stderr] Checking alloy-eip2930 v0.2.3 [INFO] [stderr] Checking alloy-eip2124 v0.2.0 [INFO] [stderr] Checking alloy-trie v0.9.5 [INFO] [stderr] Checking alloy-signer v1.7.3 [INFO] [stderr] Checking strum v0.27.2 [INFO] [stderr] Checking alloy-chains v0.2.32 [INFO] [stderr] Checking regex-automata v0.4.14 [INFO] [stderr] Checking num-conv v0.2.0 [INFO] [stderr] Checking time-core v0.1.8 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking backoff v0.4.0 [INFO] [stderr] Checking phf v0.13.1 [INFO] [stderr] Checking rand v0.10.0 [INFO] [stderr] Compiling bon-macros v3.9.1 [INFO] [stderr] Checking uuid v1.22.0 [INFO] [stderr] Checking serde_html_form v0.4.0 [INFO] [stderr] Compiling strum_macros v0.28.0 [INFO] [stderr] Checking tracing-serde v0.2.0 [INFO] [stderr] Checking secrecy v0.10.3 [INFO] [stderr] Compiling serde_repr v0.1.20 [INFO] [stderr] Compiling rust_decimal_macros v1.40.0 [INFO] [stderr] Checking time v0.3.47 [INFO] [stderr] Checking serde_ignored v0.1.14 [INFO] [stderr] Checking serde_path_to_error v0.1.20 [INFO] [stderr] Checking ndarray v0.16.1 [INFO] [stderr] Checking dotenvy v0.15.7 [INFO] [stderr] Checking tokio-util v0.7.18 [INFO] [stderr] Checking tower v0.5.3 [INFO] [stderr] Compiling darling_macro v0.21.3 [INFO] [stderr] Checking h2 v0.4.13 [INFO] [stderr] Checking tokio-stream v0.1.18 [INFO] [stderr] Compiling darling v0.21.3 [INFO] [stderr] Compiling alloy-tx-macros v1.7.3 [INFO] [stderr] Compiling alloy-sol-macro-input v1.5.7 [INFO] [stderr] Checking tower-http v0.6.8 [INFO] [stderr] Checking hdrhistogram v7.5.4 [INFO] [stderr] Checking matchers v0.2.0 [INFO] [stderr] Compiling alloy-sol-macro-expander v1.5.7 [INFO] [stderr] Checking alloy-eips v1.7.3 [INFO] [stderr] Checking tracing-subscriber v0.3.23 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking hyper v1.8.1 [INFO] [stderr] Checking alloy-consensus v1.7.3 [INFO] [stderr] Compiling alloy-sol-macro v1.5.7 [INFO] [stderr] Checking bon v3.9.1 [INFO] [stderr] Checking alloy-sol-types v1.5.7 [INFO] [stderr] Checking hyper-util v0.1.20 [INFO] [stderr] Checking hyper-tls v0.6.0 [INFO] [stderr] Checking alloy-network-primitives v1.7.3 [INFO] [stderr] Checking alloy-consensus-any v1.7.3 [INFO] [stderr] Checking alloy-json-rpc v1.7.3 [INFO] [stderr] Checking alloy-rpc-types-eth v1.7.3 [INFO] [stderr] Checking alloy-dyn-abi v1.5.7 [INFO] [stderr] Checking alloy-transport v1.7.3 [INFO] [stderr] Checking alloy-core v1.5.7 [INFO] [stderr] Checking alloy-rpc-types-any v1.7.3 [INFO] [stderr] Checking alloy-rpc-types v1.7.3 [INFO] [stderr] Checking alloy-network v1.7.3 [INFO] [stderr] Checking alloy-signer-local v1.7.3 [INFO] [stderr] Checking rustls-webpki v0.103.9 [INFO] [stderr] Checking tokio-rustls v0.26.4 [INFO] [stderr] Checking rustls-platform-verifier v0.6.2 [INFO] [stderr] Checking tungstenite v0.28.0 [INFO] [stderr] Checking tungstenite v0.24.0 [INFO] [stderr] Checking hyper-rustls v0.27.7 [INFO] [stderr] Checking tokio-tungstenite v0.28.0 [INFO] [stderr] Checking reqwest v0.12.28 [INFO] [stderr] Checking reqwest v0.13.2 [INFO] [stderr] Checking tokio-tungstenite v0.24.0 [INFO] [stderr] Checking alloy-transport-http v1.7.3 [INFO] [stderr] Checking alloy-rpc-client v1.7.3 [INFO] [stderr] Checking alloy-provider v1.7.3 [INFO] [stderr] Checking alloy-contract v1.7.3 [INFO] [stderr] Checking alloy v1.7.3 [INFO] [stderr] Checking polymarket-client-sdk v0.4.4 [INFO] [stderr] Checking beeboop v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Deserialize` [INFO] [stdout] --> src/market_ws/mod.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `OrderRequest`, `OrderSide`, and `OrderType` [INFO] [stdout] --> src/strategy/mod.rs:16:64 [INFO] [stdout] | [INFO] [stdout] 16 | BotConfig, ObiSignal, OracleLagDirection, OracleLagSignal, OrderRequest, OrderSide, OrderType, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/execution/mod.rs:17:15 [INFO] [stdout] | [INFO] [stdout] 17 | use tracing::{error, info, warn}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/leadlag_lab/mod.rs:16:15 [INFO] [stdout] | [INFO] [stdout] 16 | use tracing::{error, info}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mutex` [INFO] [stdout] --> src/main.rs:21:25 [INFO] [stdout] | [INFO] [stdout] 21 | use tokio::sync::{mpsc, Mutex, RwLock}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ExecutionMode`, `SignalSnapshot`, and `evaluate` [INFO] [stdout] --> src/main.rs:27:26 [INFO] [stdout] | [INFO] [stdout] 27 | BinanceReturnSignal, ExecutionMode, MarketState, Position, PositionState, RiskLimits, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 28 | SignalSnapshot, StrategyAction, compute_signal, evaluate, evaluate_scalp, [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/feeds/polymarket_ws.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | use tracing::{warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Timelike` [INFO] [stdout] --> src/feeds/user_ws.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use chrono::Timelike; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Deserialize` [INFO] [stdout] --> src/market_ws/mod.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `OrderRequest`, `OrderSide`, and `OrderType` [INFO] [stdout] --> src/strategy/mod.rs:16:64 [INFO] [stdout] | [INFO] [stdout] 16 | BotConfig, ObiSignal, OracleLagDirection, OracleLagSignal, OrderRequest, OrderSide, OrderType, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/execution/mod.rs:17:15 [INFO] [stdout] | [INFO] [stdout] 17 | use tracing::{error, info, warn}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/leadlag_lab/mod.rs:16:15 [INFO] [stdout] | [INFO] [stdout] 16 | use tracing::{error, info}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Mutex` [INFO] [stdout] --> src/main.rs:21:25 [INFO] [stdout] | [INFO] [stdout] 21 | use tokio::sync::{mpsc, Mutex, RwLock}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ExecutionMode`, `SignalSnapshot`, and `evaluate` [INFO] [stdout] --> src/main.rs:27:26 [INFO] [stdout] | [INFO] [stdout] 27 | BinanceReturnSignal, ExecutionMode, MarketState, Position, PositionState, RiskLimits, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 28 | SignalSnapshot, StrategyAction, compute_signal, evaluate, evaluate_scalp, [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/feeds/polymarket_ws.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | use tracing::{warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Timelike` [INFO] [stdout] --> src/feeds/user_ws.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use chrono::Timelike; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/main_lockprofit_xrp.rs:22:27 [INFO] [stdout] | [INFO] [stdout] 22 | use tracing::{info, warn, error}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/feeds/polymarket_ws.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | use tracing::{warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Timelike` [INFO] [stdout] --> src/feeds/user_ws.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use chrono::Timelike; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error` and `warn` [INFO] [stdout] --> src/main_vidarx_btc15.rs:24:21 [INFO] [stdout] | [INFO] [stdout] 24 | use tracing::{info, warn, error}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/execution/mod.rs:17:15 [INFO] [stdout] | [INFO] [stdout] 17 | use tracing::{error, info, warn}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/leadlag_lab/mod.rs:16:15 [INFO] [stdout] | [INFO] [stdout] 16 | use tracing::{error, info}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Deserialize` [INFO] [stdout] --> src/market_ws/mod.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `OrderRequest`, `OrderSide`, and `OrderType` [INFO] [stdout] --> src/strategy/mod.rs:16:64 [INFO] [stdout] | [INFO] [stdout] 16 | BotConfig, ObiSignal, OracleLagDirection, OracleLagSignal, OrderRequest, OrderSide, OrderType, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/feeds/polymarket_ws.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | use tracing::{warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Timelike` [INFO] [stdout] --> src/feeds/user_ws.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use chrono::Timelike; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/execution/mod.rs:17:15 [INFO] [stdout] | [INFO] [stdout] 17 | use tracing::{error, info, warn}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/leadlag_lab/mod.rs:16:15 [INFO] [stdout] | [INFO] [stdout] 16 | use tracing::{error, info}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Deserialize` [INFO] [stdout] --> src/market_ws/mod.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `OrderRequest`, `OrderSide`, and `OrderType` [INFO] [stdout] --> src/strategy/mod.rs:16:64 [INFO] [stdout] | [INFO] [stdout] 16 | BotConfig, ObiSignal, OracleLagDirection, OracleLagSignal, OrderRequest, OrderSide, OrderType, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/feeds/polymarket_ws.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | use tracing::{warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/feeds/polymarket_ws.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | use tracing::{warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Timelike` [INFO] [stdout] --> src/feeds/user_ws.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use chrono::Timelike; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Timelike` [INFO] [stdout] --> src/feeds/user_ws.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use chrono::Timelike; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/main_lockprofit_bnb.rs:22:27 [INFO] [stdout] | [INFO] [stdout] 22 | use tracing::{info, warn, error}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/feeds/polymarket_ws.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | use tracing::{warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Timelike` [INFO] [stdout] --> src/feeds/user_ws.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use chrono::Timelike; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error` and `warn` [INFO] [stdout] --> src/main_vidarx.rs:22:21 [INFO] [stdout] | [INFO] [stdout] 22 | use tracing::{info, warn, error}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/feeds/polymarket_ws.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | use tracing::{warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Timelike` [INFO] [stdout] --> src/feeds/user_ws.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use chrono::Timelike; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/main_lockprofit_eth.rs:22:27 [INFO] [stdout] | [INFO] [stdout] 22 | use tracing::{info, warn, error}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/execution/mod.rs:17:15 [INFO] [stdout] | [INFO] [stdout] 17 | use tracing::{error, info, warn}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/leadlag_lab/mod.rs:16:15 [INFO] [stdout] | [INFO] [stdout] 16 | use tracing::{error, info}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Deserialize` [INFO] [stdout] --> src/market_ws/mod.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `OrderRequest`, `OrderSide`, and `OrderType` [INFO] [stdout] --> src/strategy/mod.rs:16:64 [INFO] [stdout] | [INFO] [stdout] 16 | BotConfig, ObiSignal, OracleLagDirection, OracleLagSignal, OrderRequest, OrderSide, OrderType, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/feeds/polymarket_ws.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | use tracing::{warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Timelike` [INFO] [stdout] --> src/feeds/user_ws.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use chrono::Timelike; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/feeds/polymarket_ws.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | use tracing::{warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Timelike` [INFO] [stdout] --> src/feeds/user_ws.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use chrono::Timelike; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/feeds/polymarket_ws.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | use tracing::{warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Timelike` [INFO] [stdout] --> src/feeds/user_ws.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use chrono::Timelike; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error` and `warn` [INFO] [stdout] --> src/main_vidarx_btc15.rs:24:21 [INFO] [stdout] | [INFO] [stdout] 24 | use tracing::{info, warn, error}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/execution/mod.rs:17:15 [INFO] [stdout] | [INFO] [stdout] 17 | use tracing::{error, info, warn}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/leadlag_lab/mod.rs:16:15 [INFO] [stdout] | [INFO] [stdout] 16 | use tracing::{error, info}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Deserialize` [INFO] [stdout] --> src/market_ws/mod.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `OrderRequest`, `OrderSide`, and `OrderType` [INFO] [stdout] --> src/strategy/mod.rs:16:64 [INFO] [stdout] | [INFO] [stdout] 16 | BotConfig, ObiSignal, OracleLagDirection, OracleLagSignal, OrderRequest, OrderSide, OrderType, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/execution/mod.rs:17:15 [INFO] [stdout] | [INFO] [stdout] 17 | use tracing::{error, info, warn}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/leadlag_lab/mod.rs:16:15 [INFO] [stdout] | [INFO] [stdout] 16 | use tracing::{error, info}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Deserialize` [INFO] [stdout] --> src/market_ws/mod.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `OrderRequest`, `OrderSide`, and `OrderType` [INFO] [stdout] --> src/strategy/mod.rs:16:64 [INFO] [stdout] | [INFO] [stdout] 16 | BotConfig, ObiSignal, OracleLagDirection, OracleLagSignal, OrderRequest, OrderSide, OrderType, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/feeds/polymarket_ws.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | use tracing::{warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Timelike` [INFO] [stdout] --> src/feeds/user_ws.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use chrono::Timelike; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/feeds/polymarket_ws.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | use tracing::{warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Timelike` [INFO] [stdout] --> src/feeds/user_ws.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use chrono::Timelike; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/execution/mod.rs:17:15 [INFO] [stdout] | [INFO] [stdout] 17 | use tracing::{error, info, warn}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/leadlag_lab/mod.rs:16:15 [INFO] [stdout] | [INFO] [stdout] 16 | use tracing::{error, info}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Deserialize` [INFO] [stdout] --> src/market_ws/mod.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `OrderRequest`, `OrderSide`, and `OrderType` [INFO] [stdout] --> src/strategy/mod.rs:16:64 [INFO] [stdout] | [INFO] [stdout] 16 | BotConfig, ObiSignal, OracleLagDirection, OracleLagSignal, OrderRequest, OrderSide, OrderType, [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/feeds/polymarket_ws.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | use tracing::{warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Timelike` [INFO] [stdout] --> src/feeds/user_ws.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use chrono::Timelike; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/signals/signal_engine.rs:177:13 [INFO] [stdout] | [INFO] [stdout] 177 | let mut max_fast = 0.0f64; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/signals/signal_engine.rs:177:13 [INFO] [stdout] | [INFO] [stdout] 177 | let mut max_fast = 0.0f64; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `beeboop` (bin "lockprofit-bnb"); 4 warnings emitted [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/e1613686e0efc80a1a18b1263625450a8de3fb04/bin/rustc --crate-name lockprofit_bnb --edition=2021 src/main_lockprofit_bnb.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=94f6c795d6d4cceb -C extra-filename=-3484a658ddaafc90 --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern alloy=/opt/rustwide/target/debug/deps/liballoy-4fe168e2cd2771c8.rmeta --extern anyhow=/opt/rustwide/target/debug/deps/libanyhow-88b36daaacafc31f.rmeta --extern base64=/opt/rustwide/target/debug/deps/libbase64-d8aec028dea2d277.rmeta --extern chrono=/opt/rustwide/target/debug/deps/libchrono-3f98c41db7e5ee81.rmeta --extern dotenvy=/opt/rustwide/target/debug/deps/libdotenvy-9e536007c79e99aa.rmeta --extern futures_util=/opt/rustwide/target/debug/deps/libfutures_util-7184f23feb171dc0.rmeta --extern hdrhistogram=/opt/rustwide/target/debug/deps/libhdrhistogram-e9bb983856b9c661.rmeta --extern hmac=/opt/rustwide/target/debug/deps/libhmac-b3a7b7710d530037.rmeta --extern ndarray=/opt/rustwide/target/debug/deps/libndarray-95c9652eba4bfa60.rmeta --extern parking_lot=/opt/rustwide/target/debug/deps/libparking_lot-543819ac3cfde434.rmeta --extern polymarket_client_sdk=/opt/rustwide/target/debug/deps/libpolymarket_client_sdk-c67182d44ca4cbeb.rmeta --extern rand=/opt/rustwide/target/debug/deps/librand-0e5174ef11b96805.rmeta --extern reqwest=/opt/rustwide/target/debug/deps/libreqwest-8850aad797d3bd50.rmeta --extern rust_decimal=/opt/rustwide/target/debug/deps/librust_decimal-23777cba6736c0f8.rmeta --extern rust_decimal_macros=/opt/rustwide/target/debug/deps/librust_decimal_macros-f5a1ccd422e24b99.so --extern rustls=/opt/rustwide/target/debug/deps/librustls-f6879ba477b161d6.rmeta --extern serde=/opt/rustwide/target/debug/deps/libserde-02fad437dadf681f.rmeta --extern serde_json=/opt/rustwide/target/debug/deps/libserde_json-a7771b163f79f858.rmeta --extern sha2=/opt/rustwide/target/debug/deps/libsha2-2cc37fbcb60d2420.rmeta --extern time=/opt/rustwide/target/debug/deps/libtime-22e765c3b15722d4.rmeta --extern tokio=/opt/rustwide/target/debug/deps/libtokio-9e9bc33aada61b0f.rmeta --extern tokio_tungstenite=/opt/rustwide/target/debug/deps/libtokio_tungstenite-a08ba3c12b39ad0e.rmeta --extern tracing=/opt/rustwide/target/debug/deps/libtracing-ab8c73fd8b8736b9.rmeta --extern tracing_subscriber=/opt/rustwide/target/debug/deps/libtracing_subscriber-168e8f95da496e51.rmeta --extern url=/opt/rustwide/target/debug/deps/liburl-c4681d21df9c7626.rmeta --extern uuid=/opt/rustwide/target/debug/deps/libuuid-e7a089620b0c8339.rmeta --cap-lints=forbid -L native=/opt/rustwide/target/debug/build/aws-lc-sys-f6d8a7f8463be5e3/out -L native=/opt/rustwide/target/debug/build/ring-be9bb453b21be6d0/out` (signal: 9, SIGKILL: kill) [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/signals/signal_engine.rs:177:13 [INFO] [stdout] | [INFO] [stdout] 177 | let mut max_fast = 0.0f64; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/signals/signal_engine.rs:177:13 [INFO] [stdout] | [INFO] [stdout] 177 | let mut max_fast = 0.0f64; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/signals/signal_engine.rs:177:13 [INFO] [stdout] | [INFO] [stdout] 177 | let mut max_fast = 0.0f64; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `beeboop` (bin "beeboop-v2" test); 6 warnings emitted [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/e1613686e0efc80a1a18b1263625450a8de3fb04/bin/rustc --crate-name beeboop_v2 --edition=2021 src/main_v2.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --test --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=19de12524e551df7 -C extra-filename=-d4fdfe1c677304ef --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern alloy=/opt/rustwide/target/debug/deps/liballoy-4fe168e2cd2771c8.rmeta --extern anyhow=/opt/rustwide/target/debug/deps/libanyhow-88b36daaacafc31f.rmeta --extern base64=/opt/rustwide/target/debug/deps/libbase64-d8aec028dea2d277.rmeta --extern chrono=/opt/rustwide/target/debug/deps/libchrono-3f98c41db7e5ee81.rmeta --extern dotenvy=/opt/rustwide/target/debug/deps/libdotenvy-9e536007c79e99aa.rmeta --extern futures_util=/opt/rustwide/target/debug/deps/libfutures_util-7184f23feb171dc0.rmeta --extern hdrhistogram=/opt/rustwide/target/debug/deps/libhdrhistogram-e9bb983856b9c661.rmeta --extern hmac=/opt/rustwide/target/debug/deps/libhmac-b3a7b7710d530037.rmeta --extern ndarray=/opt/rustwide/target/debug/deps/libndarray-95c9652eba4bfa60.rmeta --extern parking_lot=/opt/rustwide/target/debug/deps/libparking_lot-543819ac3cfde434.rmeta --extern polymarket_client_sdk=/opt/rustwide/target/debug/deps/libpolymarket_client_sdk-c67182d44ca4cbeb.rmeta --extern rand=/opt/rustwide/target/debug/deps/librand-0e5174ef11b96805.rmeta --extern reqwest=/opt/rustwide/target/debug/deps/libreqwest-8850aad797d3bd50.rmeta --extern rust_decimal=/opt/rustwide/target/debug/deps/librust_decimal-23777cba6736c0f8.rmeta --extern rust_decimal_macros=/opt/rustwide/target/debug/deps/librust_decimal_macros-f5a1ccd422e24b99.so --extern rustls=/opt/rustwide/target/debug/deps/librustls-f6879ba477b161d6.rmeta --extern serde=/opt/rustwide/target/debug/deps/libserde-02fad437dadf681f.rmeta --extern serde_json=/opt/rustwide/target/debug/deps/libserde_json-a7771b163f79f858.rmeta --extern sha2=/opt/rustwide/target/debug/deps/libsha2-2cc37fbcb60d2420.rmeta --extern time=/opt/rustwide/target/debug/deps/libtime-22e765c3b15722d4.rmeta --extern tokio=/opt/rustwide/target/debug/deps/libtokio-9e9bc33aada61b0f.rmeta --extern tokio_tungstenite=/opt/rustwide/target/debug/deps/libtokio_tungstenite-a08ba3c12b39ad0e.rmeta --extern tracing=/opt/rustwide/target/debug/deps/libtracing-ab8c73fd8b8736b9.rmeta --extern tracing_subscriber=/opt/rustwide/target/debug/deps/libtracing_subscriber-168e8f95da496e51.rmeta --extern url=/opt/rustwide/target/debug/deps/liburl-c4681d21df9c7626.rmeta --extern uuid=/opt/rustwide/target/debug/deps/libuuid-e7a089620b0c8339.rmeta --cap-lints=forbid -L native=/opt/rustwide/target/debug/build/aws-lc-sys-f6d8a7f8463be5e3/out -L native=/opt/rustwide/target/debug/build/ring-be9bb453b21be6d0/out` (signal: 9, SIGKILL: kill) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/signals/signal_engine.rs:177:13 [INFO] [stdout] | [INFO] [stdout] 177 | let mut max_fast = 0.0f64; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/signals/signal_engine.rs:177:13 [INFO] [stdout] | [INFO] [stdout] 177 | let mut max_fast = 0.0f64; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `beeboop` (bin "beeboop-v3-eth" test); 3 warnings emitted [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/e1613686e0efc80a1a18b1263625450a8de3fb04/bin/rustc --crate-name beeboop_v3_eth --edition=2021 src/main_vidarx_eth.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --test --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=db368b3a164457ff -C extra-filename=-4b0bd2cd2398f0e8 --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern alloy=/opt/rustwide/target/debug/deps/liballoy-4fe168e2cd2771c8.rmeta --extern anyhow=/opt/rustwide/target/debug/deps/libanyhow-88b36daaacafc31f.rmeta --extern base64=/opt/rustwide/target/debug/deps/libbase64-d8aec028dea2d277.rmeta --extern chrono=/opt/rustwide/target/debug/deps/libchrono-3f98c41db7e5ee81.rmeta --extern dotenvy=/opt/rustwide/target/debug/deps/libdotenvy-9e536007c79e99aa.rmeta --extern futures_util=/opt/rustwide/target/debug/deps/libfutures_util-7184f23feb171dc0.rmeta --extern hdrhistogram=/opt/rustwide/target/debug/deps/libhdrhistogram-e9bb983856b9c661.rmeta --extern hmac=/opt/rustwide/target/debug/deps/libhmac-b3a7b7710d530037.rmeta --extern ndarray=/opt/rustwide/target/debug/deps/libndarray-95c9652eba4bfa60.rmeta --extern parking_lot=/opt/rustwide/target/debug/deps/libparking_lot-543819ac3cfde434.rmeta --extern polymarket_client_sdk=/opt/rustwide/target/debug/deps/libpolymarket_client_sdk-c67182d44ca4cbeb.rmeta --extern rand=/opt/rustwide/target/debug/deps/librand-0e5174ef11b96805.rmeta --extern reqwest=/opt/rustwide/target/debug/deps/libreqwest-8850aad797d3bd50.rmeta --extern rust_decimal=/opt/rustwide/target/debug/deps/librust_decimal-23777cba6736c0f8.rmeta --extern rust_decimal_macros=/opt/rustwide/target/debug/deps/librust_decimal_macros-f5a1ccd422e24b99.so --extern rustls=/opt/rustwide/target/debug/deps/librustls-f6879ba477b161d6.rmeta --extern serde=/opt/rustwide/target/debug/deps/libserde-02fad437dadf681f.rmeta --extern serde_json=/opt/rustwide/target/debug/deps/libserde_json-a7771b163f79f858.rmeta --extern sha2=/opt/rustwide/target/debug/deps/libsha2-2cc37fbcb60d2420.rmeta --extern time=/opt/rustwide/target/debug/deps/libtime-22e765c3b15722d4.rmeta --extern tokio=/opt/rustwide/target/debug/deps/libtokio-9e9bc33aada61b0f.rmeta --extern tokio_tungstenite=/opt/rustwide/target/debug/deps/libtokio_tungstenite-a08ba3c12b39ad0e.rmeta --extern tracing=/opt/rustwide/target/debug/deps/libtracing-ab8c73fd8b8736b9.rmeta --extern tracing_subscriber=/opt/rustwide/target/debug/deps/libtracing_subscriber-168e8f95da496e51.rmeta --extern url=/opt/rustwide/target/debug/deps/liburl-c4681d21df9c7626.rmeta --extern uuid=/opt/rustwide/target/debug/deps/libuuid-e7a089620b0c8339.rmeta --cap-lints=forbid -L native=/opt/rustwide/target/debug/build/aws-lc-sys-f6d8a7f8463be5e3/out -L native=/opt/rustwide/target/debug/build/ring-be9bb453b21be6d0/out` (signal: 9, SIGKILL: kill) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/signals/signal_engine.rs:177:13 [INFO] [stdout] | [INFO] [stdout] 177 | let mut max_fast = 0.0f64; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `beeboop` (bin "beeboop-btc-mint" test); 6 warnings emitted [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/e1613686e0efc80a1a18b1263625450a8de3fb04/bin/rustc --crate-name beeboop_btc_mint --edition=2021 src/main_btc_mint.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --test --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=77d35273949c36a9 -C extra-filename=-b7d8028b776f58a0 --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern alloy=/opt/rustwide/target/debug/deps/liballoy-4fe168e2cd2771c8.rmeta --extern anyhow=/opt/rustwide/target/debug/deps/libanyhow-88b36daaacafc31f.rmeta --extern base64=/opt/rustwide/target/debug/deps/libbase64-d8aec028dea2d277.rmeta --extern chrono=/opt/rustwide/target/debug/deps/libchrono-3f98c41db7e5ee81.rmeta --extern dotenvy=/opt/rustwide/target/debug/deps/libdotenvy-9e536007c79e99aa.rmeta --extern futures_util=/opt/rustwide/target/debug/deps/libfutures_util-7184f23feb171dc0.rmeta --extern hdrhistogram=/opt/rustwide/target/debug/deps/libhdrhistogram-e9bb983856b9c661.rmeta --extern hmac=/opt/rustwide/target/debug/deps/libhmac-b3a7b7710d530037.rmeta --extern ndarray=/opt/rustwide/target/debug/deps/libndarray-95c9652eba4bfa60.rmeta --extern parking_lot=/opt/rustwide/target/debug/deps/libparking_lot-543819ac3cfde434.rmeta --extern polymarket_client_sdk=/opt/rustwide/target/debug/deps/libpolymarket_client_sdk-c67182d44ca4cbeb.rmeta --extern rand=/opt/rustwide/target/debug/deps/librand-0e5174ef11b96805.rmeta --extern reqwest=/opt/rustwide/target/debug/deps/libreqwest-8850aad797d3bd50.rmeta --extern rust_decimal=/opt/rustwide/target/debug/deps/librust_decimal-23777cba6736c0f8.rmeta --extern rust_decimal_macros=/opt/rustwide/target/debug/deps/librust_decimal_macros-f5a1ccd422e24b99.so --extern rustls=/opt/rustwide/target/debug/deps/librustls-f6879ba477b161d6.rmeta --extern serde=/opt/rustwide/target/debug/deps/libserde-02fad437dadf681f.rmeta --extern serde_json=/opt/rustwide/target/debug/deps/libserde_json-a7771b163f79f858.rmeta --extern sha2=/opt/rustwide/target/debug/deps/libsha2-2cc37fbcb60d2420.rmeta --extern time=/opt/rustwide/target/debug/deps/libtime-22e765c3b15722d4.rmeta --extern tokio=/opt/rustwide/target/debug/deps/libtokio-9e9bc33aada61b0f.rmeta --extern tokio_tungstenite=/opt/rustwide/target/debug/deps/libtokio_tungstenite-a08ba3c12b39ad0e.rmeta --extern tracing=/opt/rustwide/target/debug/deps/libtracing-ab8c73fd8b8736b9.rmeta --extern tracing_subscriber=/opt/rustwide/target/debug/deps/libtracing_subscriber-168e8f95da496e51.rmeta --extern url=/opt/rustwide/target/debug/deps/liburl-c4681d21df9c7626.rmeta --extern uuid=/opt/rustwide/target/debug/deps/libuuid-e7a089620b0c8339.rmeta --cap-lints=forbid -L native=/opt/rustwide/target/debug/build/aws-lc-sys-f6d8a7f8463be5e3/out -L native=/opt/rustwide/target/debug/build/ring-be9bb453b21be6d0/out` (signal: 9, SIGKILL: kill) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/signals/signal_engine.rs:177:13 [INFO] [stdout] | [INFO] [stdout] 177 | let mut max_fast = 0.0f64; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `token_infos` [INFO] [stdout] --> src/market_ws/mod.rs:158:25 [INFO] [stdout] | [INFO] [stdout] 158 | let (token_ids, token_infos) = match fetch_btc_tokens().await { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_infos` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `beeboop` (bin "beeboop-btc-mint"); 7 warnings emitted [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/e1613686e0efc80a1a18b1263625450a8de3fb04/bin/rustc --crate-name beeboop_btc_mint --edition=2021 src/main_btc_mint.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=781cc766308a6861 -C extra-filename=-e41cac83cd7f8d9d --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern alloy=/opt/rustwide/target/debug/deps/liballoy-4fe168e2cd2771c8.rmeta --extern anyhow=/opt/rustwide/target/debug/deps/libanyhow-88b36daaacafc31f.rmeta --extern base64=/opt/rustwide/target/debug/deps/libbase64-d8aec028dea2d277.rmeta --extern chrono=/opt/rustwide/target/debug/deps/libchrono-3f98c41db7e5ee81.rmeta --extern dotenvy=/opt/rustwide/target/debug/deps/libdotenvy-9e536007c79e99aa.rmeta --extern futures_util=/opt/rustwide/target/debug/deps/libfutures_util-7184f23feb171dc0.rmeta --extern hdrhistogram=/opt/rustwide/target/debug/deps/libhdrhistogram-e9bb983856b9c661.rmeta --extern hmac=/opt/rustwide/target/debug/deps/libhmac-b3a7b7710d530037.rmeta --extern ndarray=/opt/rustwide/target/debug/deps/libndarray-95c9652eba4bfa60.rmeta --extern parking_lot=/opt/rustwide/target/debug/deps/libparking_lot-543819ac3cfde434.rmeta --extern polymarket_client_sdk=/opt/rustwide/target/debug/deps/libpolymarket_client_sdk-c67182d44ca4cbeb.rmeta --extern rand=/opt/rustwide/target/debug/deps/librand-0e5174ef11b96805.rmeta --extern reqwest=/opt/rustwide/target/debug/deps/libreqwest-8850aad797d3bd50.rmeta --extern rust_decimal=/opt/rustwide/target/debug/deps/librust_decimal-23777cba6736c0f8.rmeta --extern rust_decimal_macros=/opt/rustwide/target/debug/deps/librust_decimal_macros-f5a1ccd422e24b99.so --extern rustls=/opt/rustwide/target/debug/deps/librustls-f6879ba477b161d6.rmeta --extern serde=/opt/rustwide/target/debug/deps/libserde-02fad437dadf681f.rmeta --extern serde_json=/opt/rustwide/target/debug/deps/libserde_json-a7771b163f79f858.rmeta --extern sha2=/opt/rustwide/target/debug/deps/libsha2-2cc37fbcb60d2420.rmeta --extern time=/opt/rustwide/target/debug/deps/libtime-22e765c3b15722d4.rmeta --extern tokio=/opt/rustwide/target/debug/deps/libtokio-9e9bc33aada61b0f.rmeta --extern tokio_tungstenite=/opt/rustwide/target/debug/deps/libtokio_tungstenite-a08ba3c12b39ad0e.rmeta --extern tracing=/opt/rustwide/target/debug/deps/libtracing-ab8c73fd8b8736b9.rmeta --extern tracing_subscriber=/opt/rustwide/target/debug/deps/libtracing_subscriber-168e8f95da496e51.rmeta --extern url=/opt/rustwide/target/debug/deps/liburl-c4681d21df9c7626.rmeta --extern uuid=/opt/rustwide/target/debug/deps/libuuid-e7a089620b0c8339.rmeta --cap-lints=forbid -L native=/opt/rustwide/target/debug/build/aws-lc-sys-f6d8a7f8463be5e3/out -L native=/opt/rustwide/target/debug/build/ring-be9bb453b21be6d0/out` (signal: 9, SIGKILL: kill) [INFO] [stderr] error: could not compile `beeboop` (bin "beeboop-btc15"); 4 warnings emitted [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/e1613686e0efc80a1a18b1263625450a8de3fb04/bin/rustc --crate-name beeboop_btc15 --edition=2021 src/main_vidarx_btc15.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=b1fe7ca1b5fadf1e -C extra-filename=-9486798c17e0be6a --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern alloy=/opt/rustwide/target/debug/deps/liballoy-4fe168e2cd2771c8.rmeta --extern anyhow=/opt/rustwide/target/debug/deps/libanyhow-88b36daaacafc31f.rmeta --extern base64=/opt/rustwide/target/debug/deps/libbase64-d8aec028dea2d277.rmeta --extern chrono=/opt/rustwide/target/debug/deps/libchrono-3f98c41db7e5ee81.rmeta --extern dotenvy=/opt/rustwide/target/debug/deps/libdotenvy-9e536007c79e99aa.rmeta --extern futures_util=/opt/rustwide/target/debug/deps/libfutures_util-7184f23feb171dc0.rmeta --extern hdrhistogram=/opt/rustwide/target/debug/deps/libhdrhistogram-e9bb983856b9c661.rmeta --extern hmac=/opt/rustwide/target/debug/deps/libhmac-b3a7b7710d530037.rmeta --extern ndarray=/opt/rustwide/target/debug/deps/libndarray-95c9652eba4bfa60.rmeta --extern parking_lot=/opt/rustwide/target/debug/deps/libparking_lot-543819ac3cfde434.rmeta --extern polymarket_client_sdk=/opt/rustwide/target/debug/deps/libpolymarket_client_sdk-c67182d44ca4cbeb.rmeta --extern rand=/opt/rustwide/target/debug/deps/librand-0e5174ef11b96805.rmeta --extern reqwest=/opt/rustwide/target/debug/deps/libreqwest-8850aad797d3bd50.rmeta --extern rust_decimal=/opt/rustwide/target/debug/deps/librust_decimal-23777cba6736c0f8.rmeta --extern rust_decimal_macros=/opt/rustwide/target/debug/deps/librust_decimal_macros-f5a1ccd422e24b99.so --extern rustls=/opt/rustwide/target/debug/deps/librustls-f6879ba477b161d6.rmeta --extern serde=/opt/rustwide/target/debug/deps/libserde-02fad437dadf681f.rmeta --extern serde_json=/opt/rustwide/target/debug/deps/libserde_json-a7771b163f79f858.rmeta --extern sha2=/opt/rustwide/target/debug/deps/libsha2-2cc37fbcb60d2420.rmeta --extern time=/opt/rustwide/target/debug/deps/libtime-22e765c3b15722d4.rmeta --extern tokio=/opt/rustwide/target/debug/deps/libtokio-9e9bc33aada61b0f.rmeta --extern tokio_tungstenite=/opt/rustwide/target/debug/deps/libtokio_tungstenite-a08ba3c12b39ad0e.rmeta --extern tracing=/opt/rustwide/target/debug/deps/libtracing-ab8c73fd8b8736b9.rmeta --extern tracing_subscriber=/opt/rustwide/target/debug/deps/libtracing_subscriber-168e8f95da496e51.rmeta --extern url=/opt/rustwide/target/debug/deps/liburl-c4681d21df9c7626.rmeta --extern uuid=/opt/rustwide/target/debug/deps/libuuid-e7a089620b0c8339.rmeta --cap-lints=forbid -L native=/opt/rustwide/target/debug/build/aws-lc-sys-f6d8a7f8463be5e3/out -L native=/opt/rustwide/target/debug/build/ring-be9bb453b21be6d0/out` (signal: 9, SIGKILL: kill) [INFO] [stdout] warning: unused variable: `token_infos` [INFO] [stdout] --> src/market_ws/mod.rs:158:25 [INFO] [stdout] | [INFO] [stdout] 158 | let (token_ids, token_infos) = match fetch_btc_tokens().await { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_infos` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/signals/signal_engine.rs:177:13 [INFO] [stdout] | [INFO] [stdout] 177 | let mut max_fast = 0.0f64; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/signals/signal_engine.rs:177:13 [INFO] [stdout] | [INFO] [stdout] 177 | let mut max_fast = 0.0f64; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/signals/signal_engine.rs:177:13 [INFO] [stdout] | [INFO] [stdout] 177 | let mut max_fast = 0.0f64; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `exec_tokens` [INFO] [stdout] --> src/main.rs:235:9 [INFO] [stdout] | [INFO] [stdout] 235 | let exec_tokens = exec.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exec_tokens` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `BookSide` is never used [INFO] [stdout] --> src/types.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | pub type BookSide = BTreeMap; // price_cents -> size [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `token_id`, `bids`, `asks`, `timestamp`, and `local_recv_ts` are never read [INFO] [stdout] --> src/types.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct OrderBook { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 22 | pub token_id: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 23 | pub bids: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] 24 | pub asks: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] 25 | pub timestamp: i64, // venue timestamp (ms) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 26 | pub local_recv_ts: i64, // local recv timestamp (us) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `OrderBook` 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: enum `OrderSide` is never used [INFO] [stdout] --> src/types.rs:111:10 [INFO] [stdout] | [INFO] [stdout] 111 | pub enum OrderSide { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `OrderType` is never used [INFO] [stdout] --> src/types.rs:117:10 [INFO] [stdout] | [INFO] [stdout] 117 | pub enum OrderType { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OrderRequest` is never constructed [INFO] [stdout] --> src/types.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 124 | pub struct OrderRequest { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `OrderStatus` is never used [INFO] [stdout] --> src/types.rs:134:10 [INFO] [stdout] | [INFO] [stdout] 134 | pub enum OrderStatus { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OrderState` is never constructed [INFO] [stdout] --> src/types.rs:145:12 [INFO] [stdout] | [INFO] [stdout] 145 | pub struct OrderState { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/types.rs:203:9 [INFO] [stdout] | [INFO] [stdout] 198 | pub struct BotConfig { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 203 | pub market_slug: String, // e.g. "btc-updown-5m" [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 204 | pub window_seconds: u64, // 300 [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 207 | pub max_position: f64, // max shares per side [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 208 | pub max_open_orders: usize, // kill switch [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 209 | pub stop_loss_usd: f64, // session kill switch [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 210 | pub obi_threshold: f64, // signal threshold [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 211 | pub oracle_lag_threshold_bps: f64,// signal threshold [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BotConfig` 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 `0` is never read [INFO] [stdout] --> src/market_ws/mod.rs:132:10 [INFO] [stdout] | [INFO] [stdout] 132 | Book(OrderBook), [INFO] [stdout] | ---- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MarketEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 132 - Book(OrderBook), [INFO] [stdout] 132 + Book(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/market_ws/mod.rs:134:20 [INFO] [stdout] | [INFO] [stdout] 134 | LastTradePrice(Trade), [INFO] [stdout] | -------------- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MarketEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 134 - LastTradePrice(Trade), [INFO] [stdout] 134 + LastTradePrice(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `token_id`, `price`, and `timestamp` are never read [INFO] [stdout] --> src/market_ws/mod.rs:136:19 [INFO] [stdout] | [INFO] [stdout] 136 | PriceChange { token_id: String, price: f64, timestamp: i64 }, [INFO] [stdout] | ----------- ^^^^^^^^ ^^^^^ ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MarketEvent` 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 `SubscribeMsg` is never constructed [INFO] [stdout] --> src/market_ws/mod.rs:142:8 [INFO] [stdout] | [INFO] [stdout] 142 | struct SubscribeMsg { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `USER_WS_URL` is never used [INFO] [stdout] --> src/user_ws/mod.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | const USER_WS_URL: &str = "wss://ws-subscriptions-clob.polymarket.com/ws/user"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `UserEvent` is never used [INFO] [stdout] --> src/user_ws/mod.rs:20:10 [INFO] [stdout] | [INFO] [stdout] 20 | pub enum UserEvent { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/user_ws/mod.rs:41:14 [INFO] [stdout] | [INFO] [stdout] 41 | pub async fn run( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect_and_stream` is never used [INFO] [stdout] --> src/user_ws/mod.rs:57:10 [INFO] [stdout] | [INFO] [stdout] 57 | async fn connect_and_stream( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_and_dispatch` is never used [INFO] [stdout] --> src/user_ws/mod.rs:106:4 [INFO] [stdout] | [INFO] [stdout] 106 | fn parse_and_dispatch( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/binance_l2/mod.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 26 | Depth(BinanceDepthUpdate), [INFO] [stdout] | ----- ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinanceEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 26 - Depth(BinanceDepthUpdate), [INFO] [stdout] 26 + Depth(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/binance_l2/mod.rs:27:16 [INFO] [stdout] | [INFO] [stdout] 27 | BookTicker(BinanceBookTicker), [INFO] [stdout] | ---------- ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinanceEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 27 - BookTicker(BinanceBookTicker), [INFO] [stdout] 27 + BookTicker(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TakerExit` is never constructed [INFO] [stdout] --> src/strategy/mod.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 66 | pub enum StrategyAction { [INFO] [stdout] | -------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 82 | TakerExit { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StrategyAction` 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 `up_filled` and `dn_filled` are never read [INFO] [stdout] --> src/strategy/mod.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 98 | pub struct MarketState { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 105 | pub up_filled: f64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 106 | pub dn_filled: f64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MarketState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `max_position_per_side`, `max_open_orders`, and `max_cancel_rate` are never read [INFO] [stdout] --> src/strategy/mod.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 116 | pub struct RiskLimits { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 117 | pub max_position_per_side: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 118 | pub max_open_orders: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 119 | pub max_cancel_rate: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RiskLimits` 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 `return_500ms` and `timestamp` are never read [INFO] [stdout] --> src/strategy/mod.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 145 | pub struct BinanceReturnSignal { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 146 | pub return_2s: f64, // 2-second return (bps) [INFO] [stdout] 147 | pub return_500ms: f64, // 500ms return (bps) [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 148 | pub timestamp: i64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BinanceReturnSignal` 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 `obi_component`, `oracle_lag_component`, and `binance_return_component` are never read [INFO] [stdout] --> src/strategy/mod.rs:156:9 [INFO] [stdout] | [INFO] [stdout] 154 | pub struct SignalSnapshot { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 155 | pub score: f64, [INFO] [stdout] 156 | pub obi_component: f64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 157 | pub oracle_lag_component: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 158 | pub binance_return_component: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SignalSnapshot` 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: type alias `ExecutionMode` is never used [INFO] [stdout] --> src/strategy/mod.rs:171:10 [INFO] [stdout] | [INFO] [stdout] 171 | pub type ExecutionMode = SignalMode; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EXIT_SIGNAL_REVERSAL` is never used [INFO] [stdout] --> src/strategy/mod.rs:186:7 [INFO] [stdout] | [INFO] [stdout] 186 | const EXIT_SIGNAL_REVERSAL: f64 = -0.20; // exit if signal flips against us [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAKER_EXIT_TIMEOUT_MS` is never used [INFO] [stdout] --> src/strategy/mod.rs:188:7 [INFO] [stdout] | [INFO] [stdout] 188 | const MAKER_EXIT_TIMEOUT_MS: i64 = 4_000; // 4s GTD timeout, then taker exit [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `quantize_buy` is never used [INFO] [stdout] --> src/strategy/mod.rs:191:4 [INFO] [stdout] | [INFO] [stdout] 191 | fn quantize_buy(price: f64, tick_size: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `evaluate` is never used [INFO] [stdout] --> src/strategy/mod.rs:427:8 [INFO] [stdout] | [INFO] [stdout] 427 | pub fn evaluate( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update` is never used [INFO] [stdout] --> src/execution/mod.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 44 | impl TickSizeRegistry { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn update(&mut self, ts: &TickSize) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `latency_us` is never read [INFO] [stdout] --> src/execution/mod.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct OrderResult { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 67 | pub latency_us: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `OrderResult` 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`, `side`, `price`, `size`, `order_mode`, and `posted_at_us` are never read [INFO] [stdout] --> src/execution/mod.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 73 | pub struct OrderTracking { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 74 | pub token_id: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 75 | pub side: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 76 | pub price: f64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 77 | pub size: f64, [INFO] [stdout] | ^^^^ [INFO] [stdout] 78 | pub order_mode: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 79 | pub posted_at_us: i64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `OrderTracking` 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/execution/mod.rs:199:18 [INFO] [stdout] | [INFO] [stdout] 126 | impl ExecutionEngine { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 199 | pub async fn warm_token(&self, token_id: &str) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | pub async fn update_tick_size(&self, ts: &TickSize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 211 | pub async fn set_neg_risk(&self, token_id: &str) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 345 | pub async fn maker_gtc_buy(&self, token_id: &str, shares: f64, price: f64, post_only: bool) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 432 | pub async fn get_open_orders(&self) -> Vec<(String, OrderTracking)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 435 | pub fn is_paper(&self) -> bool { self.paper_mode } [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 436 | pub fn is_ready(&self) -> bool { self.private_key.is_some() && self.api_key.is_some() } [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `do_gtc_buy` and `do_fok_sell` are never used [INFO] [stdout] --> src/execution/mod.rs:460:14 [INFO] [stdout] | [INFO] [stdout] 441 | impl ExecutionEngine { [INFO] [stdout] | -------------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 460 | async fn do_gtc_buy(client: &AuthedClient, signer: &PrivateKeySigner, token_u256: U256, shares: f64, price: f64, post_only: boo... [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 474 | async fn do_fok_sell(client: &AuthedClient, signer: &PrivateKeySigner, token_u256: U256, shares: f64) -> Result src/telemetry/mod.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl LatencyTracker { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn percentiles(&self, stage: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn reset(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Percentiles` is never constructed [INFO] [stdout] --> src/telemetry/mod.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct Percentiles { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HealthCheck` is never constructed [INFO] [stdout] --> src/telemetry/mod.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 89 | pub struct HealthCheck { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `path` is never read [INFO] [stdout] --> src/leadlag_lab/mod.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct EventRecorder { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 22 | writer: Arc>>, [INFO] [stdout] 23 | path: PathBuf, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `path` is never used [INFO] [stdout] --> src/leadlag_lab/mod.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 27 | impl EventRecorder { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn path(&self) -> &Path { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PricePoint` is never constructed [INFO] [stdout] --> src/leadlag_lab/mod.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct PricePoint { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LagResult` is never constructed [INFO] [stdout] --> src/leadlag_lab/mod.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 89 | pub struct LagResult { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cross_correlate` is never used [INFO] [stdout] --> src/leadlag_lab/mod.rs:97:8 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn cross_correlate( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_returns` is never used [INFO] [stdout] --> src/leadlag_lab/mod.rs:128:4 [INFO] [stdout] | [INFO] [stdout] 128 | fn to_returns(points: &[PricePoint]) -> Vec<(i64, f64)> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `correlation_at_lag` is never used [INFO] [stdout] --> src/leadlag_lab/mod.rs:146:4 [INFO] [stdout] | [INFO] [stdout] 146 | fn correlation_at_lag( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_analysis` is never used [INFO] [stdout] --> src/leadlag_lab/mod.rs:203:8 [INFO] [stdout] | [INFO] [stdout] 203 | pub fn print_analysis(results: &[LagResult], label_a: &str, label_b: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_events` is never used [INFO] [stdout] --> src/sim/mod.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn load_events(path: &Path) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `replay` is never used [INFO] [stdout] --> src/sim/mod.rs:42:14 [INFO] [stdout] | [INFO] [stdout] 42 | pub async fn replay( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `log_tx` [INFO] [stdout] --> src/feeds/market_ws.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | log_tx: mpsc::Sender, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_tx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `log_tx` [INFO] [stdout] --> src/feeds/market_ws.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | log_tx: mpsc::Sender, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_tx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_fast` [INFO] [stdout] --> src/signals/signal_engine.rs:177:13 [INFO] [stdout] | [INFO] [stdout] 177 | let mut max_fast = 0.0f64; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_fast` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `log_tx_hb` [INFO] [stdout] --> src/signals/signal_engine.rs:172:9 [INFO] [stdout] | [INFO] [stdout] 172 | let log_tx_hb = log_tx.clone(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_tx_hb` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_fast` [INFO] [stdout] --> src/signals/signal_engine.rs:177:13 [INFO] [stdout] | [INFO] [stdout] 177 | let mut max_fast = 0.0f64; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_fast` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `log_tx_hb` [INFO] [stdout] --> src/signals/signal_engine.rs:172:9 [INFO] [stdout] | [INFO] [stdout] 172 | let log_tx_hb = log_tx.clone(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_tx_hb` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `latency_ms` [INFO] [stdout] --> src/execution_v2/executor.rs:259:21 [INFO] [stdout] | [INFO] [stdout] 259 | let latency_ms = start.elapsed().as_millis() as i64; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_latency_ms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `latency_ms` [INFO] [stdout] --> src/execution_v2/executor.rs:259:21 [INFO] [stdout] | [INFO] [stdout] 259 | let latency_ms = start.elapsed().as_millis() as i64; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_latency_ms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `exec_tokens` [INFO] [stdout] --> src/main.rs:235:9 [INFO] [stdout] | [INFO] [stdout] 235 | let exec_tokens = exec.clone(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exec_tokens` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `BookSide` is never used [INFO] [stdout] --> src/types.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | pub type BookSide = BTreeMap; // price_cents -> size [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `token_id`, `bids`, `asks`, `timestamp`, and `local_recv_ts` are never read [INFO] [stdout] --> src/types.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct OrderBook { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 22 | pub token_id: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 23 | pub bids: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] 24 | pub asks: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] 25 | pub timestamp: i64, // venue timestamp (ms) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 26 | pub local_recv_ts: i64, // local recv timestamp (us) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `OrderBook` 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: enum `OrderSide` is never used [INFO] [stdout] --> src/types.rs:111:10 [INFO] [stdout] | [INFO] [stdout] 111 | pub enum OrderSide { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `OrderType` is never used [INFO] [stdout] --> src/types.rs:117:10 [INFO] [stdout] | [INFO] [stdout] 117 | pub enum OrderType { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OrderRequest` is never constructed [INFO] [stdout] --> src/types.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 124 | pub struct OrderRequest { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `OrderStatus` is never used [INFO] [stdout] --> src/types.rs:134:10 [INFO] [stdout] | [INFO] [stdout] 134 | pub enum OrderStatus { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OrderState` is never constructed [INFO] [stdout] --> src/types.rs:145:12 [INFO] [stdout] | [INFO] [stdout] 145 | pub struct OrderState { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/types.rs:203:9 [INFO] [stdout] | [INFO] [stdout] 198 | pub struct BotConfig { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 203 | pub market_slug: String, // e.g. "btc-updown-5m" [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 204 | pub window_seconds: u64, // 300 [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 207 | pub max_position: f64, // max shares per side [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 208 | pub max_open_orders: usize, // kill switch [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 209 | pub stop_loss_usd: f64, // session kill switch [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 210 | pub obi_threshold: f64, // signal threshold [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 211 | pub oracle_lag_threshold_bps: f64,// signal threshold [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BotConfig` 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 `0` is never read [INFO] [stdout] --> src/market_ws/mod.rs:132:10 [INFO] [stdout] | [INFO] [stdout] 132 | Book(OrderBook), [INFO] [stdout] | ---- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MarketEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 132 - Book(OrderBook), [INFO] [stdout] 132 + Book(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/market_ws/mod.rs:134:20 [INFO] [stdout] | [INFO] [stdout] 134 | LastTradePrice(Trade), [INFO] [stdout] | -------------- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MarketEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 134 - LastTradePrice(Trade), [INFO] [stdout] 134 + LastTradePrice(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `token_id`, `price`, and `timestamp` are never read [INFO] [stdout] --> src/market_ws/mod.rs:136:19 [INFO] [stdout] | [INFO] [stdout] 136 | PriceChange { token_id: String, price: f64, timestamp: i64 }, [INFO] [stdout] | ----------- ^^^^^^^^ ^^^^^ ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `MarketEvent` 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 `SubscribeMsg` is never constructed [INFO] [stdout] --> src/market_ws/mod.rs:142:8 [INFO] [stdout] | [INFO] [stdout] 142 | struct SubscribeMsg { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `USER_WS_URL` is never used [INFO] [stdout] --> src/user_ws/mod.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | const USER_WS_URL: &str = "wss://ws-subscriptions-clob.polymarket.com/ws/user"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `UserEvent` is never used [INFO] [stdout] --> src/user_ws/mod.rs:20:10 [INFO] [stdout] | [INFO] [stdout] 20 | pub enum UserEvent { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/user_ws/mod.rs:41:14 [INFO] [stdout] | [INFO] [stdout] 41 | pub async fn run( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect_and_stream` is never used [INFO] [stdout] --> src/user_ws/mod.rs:57:10 [INFO] [stdout] | [INFO] [stdout] 57 | async fn connect_and_stream( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_and_dispatch` is never used [INFO] [stdout] --> src/user_ws/mod.rs:106:4 [INFO] [stdout] | [INFO] [stdout] 106 | fn parse_and_dispatch( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/binance_l2/mod.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 26 | Depth(BinanceDepthUpdate), [INFO] [stdout] | ----- ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinanceEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 26 - Depth(BinanceDepthUpdate), [INFO] [stdout] 26 + Depth(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/binance_l2/mod.rs:27:16 [INFO] [stdout] | [INFO] [stdout] 27 | BookTicker(BinanceBookTicker), [INFO] [stdout] | ---------- ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `BinanceEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 27 - BookTicker(BinanceBookTicker), [INFO] [stdout] 27 + BookTicker(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TakerExit` is never constructed [INFO] [stdout] --> src/strategy/mod.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 66 | pub enum StrategyAction { [INFO] [stdout] | -------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 82 | TakerExit { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StrategyAction` 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 `up_filled` and `dn_filled` are never read [INFO] [stdout] --> src/strategy/mod.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 98 | pub struct MarketState { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 105 | pub up_filled: f64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 106 | pub dn_filled: f64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MarketState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `max_position_per_side`, `max_open_orders`, and `max_cancel_rate` are never read [INFO] [stdout] --> src/strategy/mod.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 116 | pub struct RiskLimits { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 117 | pub max_position_per_side: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 118 | pub max_open_orders: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 119 | pub max_cancel_rate: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RiskLimits` 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 `return_500ms` and `timestamp` are never read [INFO] [stdout] --> src/strategy/mod.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 145 | pub struct BinanceReturnSignal { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 146 | pub return_2s: f64, // 2-second return (bps) [INFO] [stdout] 147 | pub return_500ms: f64, // 500ms return (bps) [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 148 | pub timestamp: i64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BinanceReturnSignal` 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 `obi_component`, `oracle_lag_component`, and `binance_return_component` are never read [INFO] [stdout] --> src/strategy/mod.rs:156:9 [INFO] [stdout] | [INFO] [stdout] 154 | pub struct SignalSnapshot { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 155 | pub score: f64, [INFO] [stdout] 156 | pub obi_component: f64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 157 | pub oracle_lag_component: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 158 | pub binance_return_component: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SignalSnapshot` 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: type alias `ExecutionMode` is never used [INFO] [stdout] --> src/strategy/mod.rs:171:10 [INFO] [stdout] | [INFO] [stdout] 171 | pub type ExecutionMode = SignalMode; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EXIT_SIGNAL_REVERSAL` is never used [INFO] [stdout] --> src/strategy/mod.rs:186:7 [INFO] [stdout] | [INFO] [stdout] 186 | const EXIT_SIGNAL_REVERSAL: f64 = -0.20; // exit if signal flips against us [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAKER_EXIT_TIMEOUT_MS` is never used [INFO] [stdout] --> src/strategy/mod.rs:188:7 [INFO] [stdout] | [INFO] [stdout] 188 | const MAKER_EXIT_TIMEOUT_MS: i64 = 4_000; // 4s GTD timeout, then taker exit [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `evaluate` is never used [INFO] [stdout] --> src/strategy/mod.rs:427:8 [INFO] [stdout] | [INFO] [stdout] 427 | pub fn evaluate( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update` is never used [INFO] [stdout] --> src/execution/mod.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 44 | impl TickSizeRegistry { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn update(&mut self, ts: &TickSize) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `latency_us` is never read [INFO] [stdout] --> src/execution/mod.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct OrderResult { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 67 | pub latency_us: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `OrderResult` 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`, `side`, `price`, `size`, `order_mode`, and `posted_at_us` are never read [INFO] [stdout] --> src/execution/mod.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 73 | pub struct OrderTracking { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 74 | pub token_id: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 75 | pub side: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 76 | pub price: f64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 77 | pub size: f64, [INFO] [stdout] | ^^^^ [INFO] [stdout] 78 | pub order_mode: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 79 | pub posted_at_us: i64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `OrderTracking` 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/execution/mod.rs:199:18 [INFO] [stdout] | [INFO] [stdout] 126 | impl ExecutionEngine { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 199 | pub async fn warm_token(&self, token_id: &str) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | pub async fn update_tick_size(&self, ts: &TickSize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 211 | pub async fn set_neg_risk(&self, token_id: &str) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 345 | pub async fn maker_gtc_buy(&self, token_id: &str, shares: f64, price: f64, post_only: bool) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 432 | pub async fn get_open_orders(&self) -> Vec<(String, OrderTracking)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 435 | pub fn is_paper(&self) -> bool { self.paper_mode } [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 436 | pub fn is_ready(&self) -> bool { self.private_key.is_some() && self.api_key.is_some() } [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `do_gtc_buy` and `do_fok_sell` are never used [INFO] [stdout] --> src/execution/mod.rs:460:14 [INFO] [stdout] | [INFO] [stdout] 441 | impl ExecutionEngine { [INFO] [stdout] | -------------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 460 | async fn do_gtc_buy(client: &AuthedClient, signer: &PrivateKeySigner, token_u256: U256, shares: f64, price: f64, post_only: boo... [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 474 | async fn do_fok_sell(client: &AuthedClient, signer: &PrivateKeySigner, token_u256: U256, shares: f64) -> Result src/telemetry/mod.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl LatencyTracker { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn percentiles(&self, stage: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn reset(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Percentiles` is never constructed [INFO] [stdout] --> src/telemetry/mod.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct Percentiles { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HealthCheck` is never constructed [INFO] [stdout] --> src/telemetry/mod.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 89 | pub struct HealthCheck { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `path` is never read [INFO] [stdout] --> src/leadlag_lab/mod.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct EventRecorder { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 22 | writer: Arc>>, [INFO] [stdout] 23 | path: PathBuf, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `path` is never used [INFO] [stdout] --> src/leadlag_lab/mod.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 27 | impl EventRecorder { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn path(&self) -> &Path { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PricePoint` is never constructed [INFO] [stdout] --> src/leadlag_lab/mod.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct PricePoint { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LagResult` is never constructed [INFO] [stdout] --> src/leadlag_lab/mod.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 89 | pub struct LagResult { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cross_correlate` is never used [INFO] [stdout] --> src/leadlag_lab/mod.rs:97:8 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn cross_correlate( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_returns` is never used [INFO] [stdout] --> src/leadlag_lab/mod.rs:128:4 [INFO] [stdout] | [INFO] [stdout] 128 | fn to_returns(points: &[PricePoint]) -> Vec<(i64, f64)> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `correlation_at_lag` is never used [INFO] [stdout] --> src/leadlag_lab/mod.rs:146:4 [INFO] [stdout] | [INFO] [stdout] 146 | fn correlation_at_lag( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_analysis` is never used [INFO] [stdout] --> src/leadlag_lab/mod.rs:203:8 [INFO] [stdout] | [INFO] [stdout] 203 | pub fn print_analysis(results: &[LagResult], label_a: &str, label_b: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_events` is never used [INFO] [stdout] --> src/sim/mod.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn load_events(path: &Path) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `replay` is never used [INFO] [stdout] --> src/sim/mod.rs:42:14 [INFO] [stdout] | [INFO] [stdout] 42 | pub async fn replay( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `signal` [INFO] [stdout] --> src/portfolio/position_manager.rs:82:46 [INFO] [stdout] | [INFO] [stdout] 82 | notional, ack_ts_ms, signal, .. [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `signal: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reason` [INFO] [stdout] --> src/portfolio/position_manager.rs:156:67 [INFO] [stdout] | [INFO] [stdout] 156 | opposite_side, filled_price, filled_size, reason, .. [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `reason: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `signal` [INFO] [stdout] --> src/portfolio/position_manager.rs:82:46 [INFO] [stdout] | [INFO] [stdout] 82 | notional, ack_ts_ms, signal, .. [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `signal: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reason` [INFO] [stdout] --> src/portfolio/position_manager.rs:156:67 [INFO] [stdout] | [INFO] [stdout] 156 | opposite_side, filled_price, filled_size, reason, .. [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `reason: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `config` [INFO] [stdout] --> src/main_vidarx.rs:189:5 [INFO] [stdout] | [INFO] [stdout] 189 | config: Config, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `log_tx` [INFO] [stdout] --> src/feeds/market_ws.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | log_tx: mpsc::Sender, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_tx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/config_v2.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Config { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 11 | pub lookback_ms: i64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub max_signal_age_ms: i64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | pub maker_max_signal_age_ms: i64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub take_profit_cents: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 23 | pub stop_loss_cents: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | pub max_hold_ms: i64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 25 | pub cooldown_ms: i64, [INFO] [stdout] 26 | pub opposite_signal_exit_score: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub base_notional: f64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 32 | pub max_notional: f64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub max_one_position: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 36 | pub session_stop_loss: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 37 | pub max_spread_cents: f64, [INFO] [stdout] 38 | pub min_entry_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub wallet_check_interval_s: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub window_seconds: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub tune: TuneConfig, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Config` 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: multiple fields are never read [INFO] [stdout] --> src/config_v2.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 63 | pub struct TuneConfig { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 64 | // Pair-cost gates [INFO] [stdout] 65 | pub pair_cost_full_size_max: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 66 | pub pair_cost_reduce_max: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 67 | pub pair_cost_strong_only_max: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 68 | // Residual controls [INFO] [stdout] 69 | pub weak_signal_max_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 70 | pub med_signal_max_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 71 | pub strong_signal_max_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 72 | pub extreme_signal_max_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 73 | pub soft_cap_fraction: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 74 | pub soft_freeze_pair_cost: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 75 | // Exp-heavy override [INFO] [stdout] 76 | pub exp_heavy_override_score: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 77 | pub exp_heavy_strong_score: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 78 | pub exp_heavy_pair_cost_max: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 79 | pub base_cheap_target: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 80 | pub neutral_cheap_target: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 81 | pub exp_heavy_cheap_target: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 82 | // Extreme-price filter [INFO] [stdout] 83 | pub extreme_reduce_exp_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 84 | pub extreme_reduce_cheap_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 85 | pub extreme_hard_exp_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 86 | pub extreme_hard_cheap_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 87 | pub extreme_size_multiplier: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 88 | pub extreme_edge_add_cents: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 89 | // Rolling regime filter [INFO] [stdout] 90 | pub rolling_short_windows: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 91 | pub rolling_pause_pnl_per_window: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 92 | pub rolling_pause_pair_cost: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 93 | pub rolling_resume_pnl_per_window: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 94 | pub rolling_resume_pair_cost: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 95 | // Min pairs before pair-cost gating activates [INFO] [stdout] 96 | pub min_pairs_for_cost_gate: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TuneConfig` 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: enum `SignalBand` is never used [INFO] [stdout] --> src/config_v2.rs:135:10 [INFO] [stdout] | [INFO] [stdout] 135 | pub enum SignalBand { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PairCostMode` is never used [INFO] [stdout] --> src/config_v2.rs:144:10 [INFO] [stdout] | [INFO] [stdout] 144 | pub enum PairCostMode { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `signal_band`, `max_ratio_for_band`, `pair_cost_mode`, and `cheap_target` are never used [INFO] [stdout] --> src/config_v2.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 151 | impl TuneConfig { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 152 | pub fn signal_band(&self, score: f64) -> SignalBand { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub fn max_ratio_for_band(&self, band: SignalBand) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | pub fn pair_cost_mode(&self, pair_cost: f64, matched_pairs: f64) -> PairCostMode { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn cheap_target(&self, score: f64, pred_winner_is_exp: bool, pair_cost: Option) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeatureSnapshot` is never constructed [INFO] [stdout] --> src/types_v2.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 92 | pub struct FeatureSnapshot { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `current_position`, `realized_pnl`, and `session_start_balance` are never read [INFO] [stdout] --> src/state.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct SharedState { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 9 | pub strategy_state: Arc>, [INFO] [stdout] 10 | pub current_position: Arc>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | pub cooldown_until_ms: Arc>>, [INFO] [stdout] 12 | pub realized_pnl: Arc>, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 13 | pub session_start_balance: Arc>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SharedState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/state.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl SharedState { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn is_idle(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn set_state(&self, new_state: StrategyState) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn get_state(&self) -> StrategyState { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn set_position(&self, pos: Position) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn clear_position(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn get_position(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn set_cooldown(&self, until_ms: i64) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn is_cooling_down(&self, now_ms: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn add_pnl(&self, pnl: f64) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn get_pnl(&self) -> f64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn should_stop(&self, stop_loss: f64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLOB_BASE` is never used [INFO] [stdout] --> src/feeds/polymarket_ws.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const CLOB_BASE: &str = "https://clob.polymarket.com"; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `POLL_INTERVAL_MS` is never used [INFO] [stdout] --> src/feeds/polymarket_ws.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const POLL_INTERVAL_MS: u64 = 100; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_polymarket_ws_task` is never used [INFO] [stdout] --> src/feeds/polymarket_ws.rs:14:14 [INFO] [stdout] | [INFO] [stdout] 14 | pub async fn run_polymarket_ws_task( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fetch_price` is never used [INFO] [stdout] --> src/feeds/polymarket_ws.rs:64:10 [INFO] [stdout] | [INFO] [stdout] 64 | async fn fetch_price(client: &reqwest::Client, token_id: &str, side: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect_and_stream` is never used [INFO] [stdout] --> src/feeds/rtds.rs:40:10 [INFO] [stdout] | [INFO] [stdout] 40 | async fn connect_and_stream( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `order_id`, `status`, and `ts_ms` are never read [INFO] [stdout] --> src/feeds/user_ws.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 27 | pub struct UserFillEvent { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 28 | pub order_id: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub status: String, // "ORDER_UPDATE" or "TRADE_MATCHED" [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 34 | pub ts_ms: i64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UserFillEvent` 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 `compute_move_bps` is never used [INFO] [stdout] --> src/signals/features.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn compute_move_bps(mid_now: f64, mid_then: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_basis_bps` is never used [INFO] [stdout] --> src/signals/features.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn compute_basis_bps(binance_mid: f64, chainlink_price: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `latency_ms` is never read [INFO] [stdout] --> src/execution_v2/executor.rs:320:9 [INFO] [stdout] | [INFO] [stdout] 316 | pub struct FillResult { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 320 | pub latency_ms: i64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExecutorHandle` is never constructed [INFO] [stdout] --> src/execution_v2/executor.rs:466:12 [INFO] [stdout] | [INFO] [stdout] 466 | pub struct ExecutorHandle { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `sell_fok`, and `buy_fok` are never used [INFO] [stdout] --> src/execution_v2/executor.rs:472:18 [INFO] [stdout] | [INFO] [stdout] 471 | impl ExecutorHandle { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 472 | pub async fn new(config: &Config) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 485 | pub async fn sell_fok(&self, token_id: &str, shares: f64) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 495 | pub async fn buy_fok(&self, token_id: &str, share_base: f64, ask_price: f64) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sign_matches` is never used [INFO] [stdout] --> src/strategy_v2/sniper.rs:16:4 [INFO] [stdout] | [INFO] [stdout] 16 | fn sign_matches(side: Side, x: f64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_notional` is never used [INFO] [stdout] --> src/strategy_v2/sniper.rs:24:4 [INFO] [stdout] | [INFO] [stdout] 24 | fn compute_notional(signal: &Signal, base: f64, max: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_strategy_task` is never used [INFO] [stdout] --> src/strategy_v2/sniper.rs:43:14 [INFO] [stdout] | [INFO] [stdout] 43 | pub async fn run_strategy_task( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PairTrade` is never constructed [INFO] [stdout] --> src/portfolio/position_manager.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | struct PairTrade { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_position_manager_task` is never used [INFO] [stdout] --> src/portfolio/position_manager.rs:34:14 [INFO] [stdout] | [INFO] [stdout] 34 | pub async fn run_position_manager_task( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `config` [INFO] [stdout] --> src/main_lockprofit_xrp.rs:173:5 [INFO] [stdout] | [INFO] [stdout] 173 | config: Config, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `exp_fill_shares` is assigned to, but never used [INFO] [stdout] --> src/main_lockprofit_xrp.rs:189:9 [INFO] [stdout] | [INFO] [stdout] 189 | let mut exp_fill_shares: f64 = 0.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_exp_fill_shares` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `cheap_gtc_posted` is assigned to, but never used [INFO] [stdout] --> src/main_lockprofit_xrp.rs:190:9 [INFO] [stdout] | [INFO] [stdout] 190 | let mut cheap_gtc_posted = false; // have we posted the cheap GTC? [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_cheap_gtc_posted` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `exp_fill_shares` is never read [INFO] [stdout] --> src/main_lockprofit_xrp.rs:273:17 [INFO] [stdout] | [INFO] [stdout] 273 | exp_fill_shares = 0.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `exp_fill_shares` is never read [INFO] [stdout] --> src/main_lockprofit_xrp.rs:402:21 [INFO] [stdout] | [INFO] [stdout] 402 | exp_fill_shares = shares_per_leg; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `cheap_gtc_posted` is never read [INFO] [stdout] --> src/main_lockprofit_xrp.rs:274:17 [INFO] [stdout] | [INFO] [stdout] 274 | cheap_gtc_posted = false; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `cheap_gtc_posted` is never read [INFO] [stdout] --> src/main_lockprofit_xrp.rs:427:25 [INFO] [stdout] | [INFO] [stdout] 427 | cheap_gtc_posted = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_fast` [INFO] [stdout] --> src/signals/signal_engine.rs:177:13 [INFO] [stdout] | [INFO] [stdout] 177 | let mut max_fast = 0.0f64; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_fast` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `log_tx_hb` [INFO] [stdout] --> src/signals/signal_engine.rs:172:9 [INFO] [stdout] | [INFO] [stdout] 172 | let log_tx_hb = log_tx.clone(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_tx_hb` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `latency_ms` [INFO] [stdout] --> src/execution_v2/executor.rs:259:21 [INFO] [stdout] | [INFO] [stdout] 259 | let latency_ms = start.elapsed().as_millis() as i64; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_latency_ms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/config_v2.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Config { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 11 | pub lookback_ms: i64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub max_signal_age_ms: i64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | pub maker_max_signal_age_ms: i64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub take_profit_cents: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 23 | pub stop_loss_cents: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | pub max_hold_ms: i64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 25 | pub cooldown_ms: i64, [INFO] [stdout] 26 | pub opposite_signal_exit_score: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub base_notional: f64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 32 | pub max_notional: f64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub max_one_position: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 36 | pub session_stop_loss: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 37 | pub max_spread_cents: f64, [INFO] [stdout] 38 | pub min_entry_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub wallet_check_interval_s: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub window_seconds: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub tune: TuneConfig, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Config` 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: multiple fields are never read [INFO] [stdout] --> src/config_v2.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 63 | pub struct TuneConfig { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 64 | // Pair-cost gates [INFO] [stdout] 65 | pub pair_cost_full_size_max: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 66 | pub pair_cost_reduce_max: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 67 | pub pair_cost_strong_only_max: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 68 | // Residual controls [INFO] [stdout] 69 | pub weak_signal_max_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 70 | pub med_signal_max_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 71 | pub strong_signal_max_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 72 | pub extreme_signal_max_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 73 | pub soft_cap_fraction: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 74 | pub soft_freeze_pair_cost: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 75 | // Exp-heavy override [INFO] [stdout] 76 | pub exp_heavy_override_score: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 77 | pub exp_heavy_strong_score: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 78 | pub exp_heavy_pair_cost_max: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 79 | pub base_cheap_target: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 80 | pub neutral_cheap_target: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 81 | pub exp_heavy_cheap_target: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 82 | // Extreme-price filter [INFO] [stdout] 83 | pub extreme_reduce_exp_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 84 | pub extreme_reduce_cheap_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 85 | pub extreme_hard_exp_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 86 | pub extreme_hard_cheap_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 87 | pub extreme_size_multiplier: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 88 | pub extreme_edge_add_cents: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 89 | // Rolling regime filter [INFO] [stdout] 90 | pub rolling_short_windows: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 91 | pub rolling_pause_pnl_per_window: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 92 | pub rolling_pause_pair_cost: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 93 | pub rolling_resume_pnl_per_window: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 94 | pub rolling_resume_pair_cost: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 95 | // Min pairs before pair-cost gating activates [INFO] [stdout] 96 | pub min_pairs_for_cost_gate: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TuneConfig` 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: enum `SignalBand` is never used [INFO] [stdout] --> src/config_v2.rs:135:10 [INFO] [stdout] | [INFO] [stdout] 135 | pub enum SignalBand { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PairCostMode` is never used [INFO] [stdout] --> src/config_v2.rs:144:10 [INFO] [stdout] | [INFO] [stdout] 144 | pub enum PairCostMode { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `signal_band`, `max_ratio_for_band`, `pair_cost_mode`, and `cheap_target` are never used [INFO] [stdout] --> src/config_v2.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 151 | impl TuneConfig { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 152 | pub fn signal_band(&self, score: f64) -> SignalBand { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub fn max_ratio_for_band(&self, band: SignalBand) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | pub fn pair_cost_mode(&self, pair_cost: f64, matched_pairs: f64) -> PairCostMode { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn cheap_target(&self, score: f64, pred_winner_is_exp: bool, pair_cost: Option) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeatureSnapshot` is never constructed [INFO] [stdout] --> src/types_v2.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 92 | pub struct FeatureSnapshot { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `current_position`, `realized_pnl`, and `session_start_balance` are never read [INFO] [stdout] --> src/state.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct SharedState { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 9 | pub strategy_state: Arc>, [INFO] [stdout] 10 | pub current_position: Arc>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | pub cooldown_until_ms: Arc>>, [INFO] [stdout] 12 | pub realized_pnl: Arc>, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 13 | pub session_start_balance: Arc>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SharedState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/state.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl SharedState { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn is_idle(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn set_state(&self, new_state: StrategyState) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn get_state(&self) -> StrategyState { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn set_position(&self, pos: Position) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn clear_position(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn get_position(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn set_cooldown(&self, until_ms: i64) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn is_cooling_down(&self, now_ms: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn add_pnl(&self, pnl: f64) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn get_pnl(&self) -> f64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn should_stop(&self, stop_loss: f64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_binance_feed_task` is never used [INFO] [stdout] --> src/feeds/binance.rs:13:14 [INFO] [stdout] | [INFO] [stdout] 13 | pub async fn run_binance_feed_task( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLOB_BASE` is never used [INFO] [stdout] --> src/feeds/polymarket_ws.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const CLOB_BASE: &str = "https://clob.polymarket.com"; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `POLL_INTERVAL_MS` is never used [INFO] [stdout] --> src/feeds/polymarket_ws.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const POLL_INTERVAL_MS: u64 = 100; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_polymarket_ws_task` is never used [INFO] [stdout] --> src/feeds/polymarket_ws.rs:14:14 [INFO] [stdout] | [INFO] [stdout] 14 | pub async fn run_polymarket_ws_task( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fetch_price` is never used [INFO] [stdout] --> src/feeds/polymarket_ws.rs:64:10 [INFO] [stdout] | [INFO] [stdout] 64 | async fn fetch_price(client: &reqwest::Client, token_id: &str, side: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_rtds_task` is never used [INFO] [stdout] --> src/feeds/rtds.rs:15:14 [INFO] [stdout] | [INFO] [stdout] 15 | pub async fn run_rtds_task( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect_and_stream` is never used [INFO] [stdout] --> src/feeds/rtds.rs:40:10 [INFO] [stdout] | [INFO] [stdout] 40 | async fn connect_and_stream( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `order_id`, `status`, and `ts_ms` are never read [INFO] [stdout] --> src/feeds/user_ws.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 27 | pub struct UserFillEvent { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 28 | pub order_id: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub status: String, // "ORDER_UPDATE" or "TRADE_MATCHED" [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 34 | pub ts_ms: i64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UserFillEvent` 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 `compute_move_bps` is never used [INFO] [stdout] --> src/signals/features.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn compute_move_bps(mid_now: f64, mid_then: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_basis_bps` is never used [INFO] [stdout] --> src/signals/features.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn compute_basis_bps(binance_mid: f64, chainlink_price: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `latency_ms` is never read [INFO] [stdout] --> src/execution_v2/executor.rs:320:9 [INFO] [stdout] | [INFO] [stdout] 316 | pub struct FillResult { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 320 | pub latency_ms: i64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExecutorHandle` is never constructed [INFO] [stdout] --> src/execution_v2/executor.rs:466:12 [INFO] [stdout] | [INFO] [stdout] 466 | pub struct ExecutorHandle { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `sell_fok`, and `buy_fok` are never used [INFO] [stdout] --> src/execution_v2/executor.rs:472:18 [INFO] [stdout] | [INFO] [stdout] 471 | impl ExecutorHandle { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 472 | pub async fn new(config: &Config) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 485 | pub async fn sell_fok(&self, token_id: &str, shares: f64) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 495 | pub async fn buy_fok(&self, token_id: &str, share_base: f64, ask_price: f64) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sign_matches` is never used [INFO] [stdout] --> src/strategy_v2/sniper.rs:16:4 [INFO] [stdout] | [INFO] [stdout] 16 | fn sign_matches(side: Side, x: f64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_notional` is never used [INFO] [stdout] --> src/strategy_v2/sniper.rs:24:4 [INFO] [stdout] | [INFO] [stdout] 24 | fn compute_notional(signal: &Signal, base: f64, max: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_strategy_task` is never used [INFO] [stdout] --> src/strategy_v2/sniper.rs:43:14 [INFO] [stdout] | [INFO] [stdout] 43 | pub async fn run_strategy_task( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PairTrade` is never constructed [INFO] [stdout] --> src/portfolio/position_manager.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | struct PairTrade { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_position_manager_task` is never used [INFO] [stdout] --> src/portfolio/position_manager.rs:34:14 [INFO] [stdout] | [INFO] [stdout] 34 | pub async fn run_position_manager_task( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `signal` [INFO] [stdout] --> src/portfolio/position_manager.rs:82:46 [INFO] [stdout] | [INFO] [stdout] 82 | notional, ack_ts_ms, signal, .. [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `signal: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reason` [INFO] [stdout] --> src/portfolio/position_manager.rs:156:67 [INFO] [stdout] | [INFO] [stdout] 156 | opposite_side, filled_price, filled_size, reason, .. [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `reason: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `config` [INFO] [stdout] --> src/main_vidarx_btc15.rs:194:5 [INFO] [stdout] | [INFO] [stdout] 194 | config: Config, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `log_tx` [INFO] [stdout] --> src/feeds/market_ws.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | log_tx: mpsc::Sender, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_tx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/config_v2.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Config { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 11 | pub lookback_ms: i64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub max_signal_age_ms: i64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | pub maker_max_signal_age_ms: i64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub take_profit_cents: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 23 | pub stop_loss_cents: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | pub max_hold_ms: i64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 25 | pub cooldown_ms: i64, [INFO] [stdout] 26 | pub opposite_signal_exit_score: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub base_notional: f64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 32 | pub max_notional: f64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub max_one_position: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 36 | pub session_stop_loss: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 37 | pub max_spread_cents: f64, [INFO] [stdout] 38 | pub min_entry_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub wallet_check_interval_s: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub window_seconds: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub tune: TuneConfig, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Config` 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: multiple fields are never read [INFO] [stdout] --> src/config_v2.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 63 | pub struct TuneConfig { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 64 | // Pair-cost gates [INFO] [stdout] 65 | pub pair_cost_full_size_max: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 66 | pub pair_cost_reduce_max: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 67 | pub pair_cost_strong_only_max: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 68 | // Residual controls [INFO] [stdout] 69 | pub weak_signal_max_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 70 | pub med_signal_max_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 71 | pub strong_signal_max_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 72 | pub extreme_signal_max_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 73 | pub soft_cap_fraction: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 74 | pub soft_freeze_pair_cost: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 75 | // Exp-heavy override [INFO] [stdout] 76 | pub exp_heavy_override_score: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 77 | pub exp_heavy_strong_score: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 78 | pub exp_heavy_pair_cost_max: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 79 | pub base_cheap_target: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 80 | pub neutral_cheap_target: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 81 | pub exp_heavy_cheap_target: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 82 | // Extreme-price filter [INFO] [stdout] 83 | pub extreme_reduce_exp_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 84 | pub extreme_reduce_cheap_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 85 | pub extreme_hard_exp_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 86 | pub extreme_hard_cheap_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 87 | pub extreme_size_multiplier: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 88 | pub extreme_edge_add_cents: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 89 | // Rolling regime filter [INFO] [stdout] 90 | pub rolling_short_windows: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 91 | pub rolling_pause_pnl_per_window: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 92 | pub rolling_pause_pair_cost: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 93 | pub rolling_resume_pnl_per_window: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 94 | pub rolling_resume_pair_cost: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 95 | // Min pairs before pair-cost gating activates [INFO] [stdout] 96 | pub min_pairs_for_cost_gate: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TuneConfig` 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: enum `SignalBand` is never used [INFO] [stdout] --> src/config_v2.rs:135:10 [INFO] [stdout] | [INFO] [stdout] 135 | pub enum SignalBand { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PairCostMode` is never used [INFO] [stdout] --> src/config_v2.rs:144:10 [INFO] [stdout] | [INFO] [stdout] 144 | pub enum PairCostMode { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `signal_band`, `max_ratio_for_band`, `pair_cost_mode`, and `cheap_target` are never used [INFO] [stdout] --> src/config_v2.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 151 | impl TuneConfig { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 152 | pub fn signal_band(&self, score: f64) -> SignalBand { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub fn max_ratio_for_band(&self, band: SignalBand) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | pub fn pair_cost_mode(&self, pair_cost: f64, matched_pairs: f64) -> PairCostMode { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn cheap_target(&self, score: f64, pred_winner_is_exp: bool, pair_cost: Option) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeatureSnapshot` is never constructed [INFO] [stdout] --> src/types_v2.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 92 | pub struct FeatureSnapshot { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `current_position`, `realized_pnl`, and `session_start_balance` are never read [INFO] [stdout] --> src/state.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct SharedState { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 9 | pub strategy_state: Arc>, [INFO] [stdout] 10 | pub current_position: Arc>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | pub cooldown_until_ms: Arc>>, [INFO] [stdout] 12 | pub realized_pnl: Arc>, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 13 | pub session_start_balance: Arc>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SharedState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/state.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl SharedState { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn is_idle(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn set_state(&self, new_state: StrategyState) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn get_state(&self) -> StrategyState { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn set_position(&self, pos: Position) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn clear_position(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn get_position(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn set_cooldown(&self, until_ms: i64) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn is_cooling_down(&self, now_ms: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn add_pnl(&self, pnl: f64) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn get_pnl(&self) -> f64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn should_stop(&self, stop_loss: f64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLOB_BASE` is never used [INFO] [stdout] --> src/feeds/polymarket_ws.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const CLOB_BASE: &str = "https://clob.polymarket.com"; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `POLL_INTERVAL_MS` is never used [INFO] [stdout] --> src/feeds/polymarket_ws.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const POLL_INTERVAL_MS: u64 = 100; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_polymarket_ws_task` is never used [INFO] [stdout] --> src/feeds/polymarket_ws.rs:14:14 [INFO] [stdout] | [INFO] [stdout] 14 | pub async fn run_polymarket_ws_task( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fetch_price` is never used [INFO] [stdout] --> src/feeds/polymarket_ws.rs:64:10 [INFO] [stdout] | [INFO] [stdout] 64 | async fn fetch_price(client: &reqwest::Client, token_id: &str, side: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect_and_stream` is never used [INFO] [stdout] --> src/feeds/rtds.rs:40:10 [INFO] [stdout] | [INFO] [stdout] 40 | async fn connect_and_stream( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `order_id`, `status`, and `ts_ms` are never read [INFO] [stdout] --> src/feeds/user_ws.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 27 | pub struct UserFillEvent { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 28 | pub order_id: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub status: String, // "ORDER_UPDATE" or "TRADE_MATCHED" [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 34 | pub ts_ms: i64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UserFillEvent` 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 `compute_move_bps` is never used [INFO] [stdout] --> src/signals/features.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn compute_move_bps(mid_now: f64, mid_then: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_basis_bps` is never used [INFO] [stdout] --> src/signals/features.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn compute_basis_bps(binance_mid: f64, chainlink_price: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `latency_ms` is never read [INFO] [stdout] --> src/execution_v2/executor.rs:320:9 [INFO] [stdout] | [INFO] [stdout] 316 | pub struct FillResult { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 320 | pub latency_ms: i64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExecutorHandle` is never constructed [INFO] [stdout] --> src/execution_v2/executor.rs:466:12 [INFO] [stdout] | [INFO] [stdout] 466 | pub struct ExecutorHandle { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `sell_fok`, and `buy_fok` are never used [INFO] [stdout] --> src/execution_v2/executor.rs:472:18 [INFO] [stdout] | [INFO] [stdout] 471 | impl ExecutorHandle { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 472 | pub async fn new(config: &Config) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 485 | pub async fn sell_fok(&self, token_id: &str, shares: f64) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 495 | pub async fn buy_fok(&self, token_id: &str, share_base: f64, ask_price: f64) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sign_matches` is never used [INFO] [stdout] --> src/strategy_v2/sniper.rs:16:4 [INFO] [stdout] | [INFO] [stdout] 16 | fn sign_matches(side: Side, x: f64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_notional` is never used [INFO] [stdout] --> src/strategy_v2/sniper.rs:24:4 [INFO] [stdout] | [INFO] [stdout] 24 | fn compute_notional(signal: &Signal, base: f64, max: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_strategy_task` is never used [INFO] [stdout] --> src/strategy_v2/sniper.rs:43:14 [INFO] [stdout] | [INFO] [stdout] 43 | pub async fn run_strategy_task( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PairTrade` is never constructed [INFO] [stdout] --> src/portfolio/position_manager.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | struct PairTrade { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_position_manager_task` is never used [INFO] [stdout] --> src/portfolio/position_manager.rs:34:14 [INFO] [stdout] | [INFO] [stdout] 34 | pub async fn run_position_manager_task( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_fast` [INFO] [stdout] --> src/signals/signal_engine.rs:177:13 [INFO] [stdout] | [INFO] [stdout] 177 | let mut max_fast = 0.0f64; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_fast` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `log_tx_hb` [INFO] [stdout] --> src/signals/signal_engine.rs:172:9 [INFO] [stdout] | [INFO] [stdout] 172 | let log_tx_hb = log_tx.clone(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_tx_hb` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `latency_ms` [INFO] [stdout] --> src/execution_v2/executor.rs:259:21 [INFO] [stdout] | [INFO] [stdout] 259 | let latency_ms = start.elapsed().as_millis() as i64; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_latency_ms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `log_tx` [INFO] [stdout] --> src/feeds/market_ws.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | log_tx: mpsc::Sender, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_tx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_fast` [INFO] [stdout] --> src/signals/signal_engine.rs:177:13 [INFO] [stdout] | [INFO] [stdout] 177 | let mut max_fast = 0.0f64; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_fast` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `log_tx_hb` [INFO] [stdout] --> src/signals/signal_engine.rs:172:9 [INFO] [stdout] | [INFO] [stdout] 172 | let log_tx_hb = log_tx.clone(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_tx_hb` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `latency_ms` [INFO] [stdout] --> src/execution_v2/executor.rs:259:21 [INFO] [stdout] | [INFO] [stdout] 259 | let latency_ms = start.elapsed().as_millis() as i64; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_latency_ms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `signal` [INFO] [stdout] --> src/portfolio/position_manager.rs:82:46 [INFO] [stdout] | [INFO] [stdout] 82 | notional, ack_ts_ms, signal, .. [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `signal: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reason` [INFO] [stdout] --> src/portfolio/position_manager.rs:156:67 [INFO] [stdout] | [INFO] [stdout] 156 | opposite_side, filled_price, filled_size, reason, .. [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `reason: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `signal` [INFO] [stdout] --> src/portfolio/position_manager.rs:82:46 [INFO] [stdout] | [INFO] [stdout] 82 | notional, ack_ts_ms, signal, .. [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `signal: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reason` [INFO] [stdout] --> src/portfolio/position_manager.rs:156:67 [INFO] [stdout] | [INFO] [stdout] 156 | opposite_side, filled_price, filled_size, reason, .. [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `reason: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `exp_shares` is assigned to, but never used [INFO] [stdout] --> src/main_vidarx_eth.rs:196:9 [INFO] [stdout] | [INFO] [stdout] 196 | let mut exp_shares: f64 = 0.0; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_exp_shares` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `cheap_cost` is assigned to, but never used [INFO] [stdout] --> src/main_vidarx_eth.rs:197:9 [INFO] [stdout] | [INFO] [stdout] 197 | let mut cheap_cost: f64 = 0.0; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_cheap_cost` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `exp_cost` is assigned to, but never used [INFO] [stdout] --> src/main_vidarx_eth.rs:198:9 [INFO] [stdout] | [INFO] [stdout] 198 | let mut exp_cost: f64 = 0.0; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_exp_cost` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `up_shares_posted` is assigned to, but never used [INFO] [stdout] --> src/main_vidarx_eth.rs:207:9 [INFO] [stdout] | [INFO] [stdout] 207 | let mut up_shares_posted: f64 = 0.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_up_shares_posted` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `dn_shares_posted` is assigned to, but never used [INFO] [stdout] --> src/main_vidarx_eth.rs:208:9 [INFO] [stdout] | [INFO] [stdout] 208 | let mut dn_shares_posted: f64 = 0.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_dn_shares_posted` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `side` [INFO] [stdout] --> src/main_vidarx_eth.rs:322:76 [INFO] [stdout] | [INFO] [stdout] 322 | ExecutionEvent::MakerOrderPosted { order_id, token_id, side, price, size, ladder_key, was_cheap } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `side: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `market` [INFO] [stdout] --> src/main_vidarx_eth.rs:419:21 [INFO] [stdout] | [INFO] [stdout] 419 | let market = market_rx.borrow().clone(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_market` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_cheap` [INFO] [stdout] --> src/main_vidarx_eth.rs:632:25 [INFO] [stdout] | [INFO] [stdout] 632 | let is_cheap = true; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_cheap` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `exp_shares` is never read [INFO] [stdout] --> src/main_vidarx_eth.rs:286:17 [INFO] [stdout] | [INFO] [stdout] 286 | exp_shares = 0.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `exp_shares` is never read [INFO] [stdout] --> src/main_vidarx_eth.rs:394:21 [INFO] [stdout] | [INFO] [stdout] 394 | exp_shares += fill.size; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `cheap_cost` is never read [INFO] [stdout] --> src/main_vidarx_eth.rs:287:17 [INFO] [stdout] | [INFO] [stdout] 287 | cheap_cost = 0.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `cheap_cost` is never read [INFO] [stdout] --> src/main_vidarx_eth.rs:392:21 [INFO] [stdout] | [INFO] [stdout] 392 | cheap_cost += fill.size * fill.price; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `exp_cost` is never read [INFO] [stdout] --> src/main_vidarx_eth.rs:288:17 [INFO] [stdout] | [INFO] [stdout] 288 | exp_cost = 0.0; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `exp_cost` is never read [INFO] [stdout] --> src/main_vidarx_eth.rs:395:21 [INFO] [stdout] | [INFO] [stdout] 395 | exp_cost += fill.size * fill.price; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `up_shares_posted` is never read [INFO] [stdout] --> src/main_vidarx_eth.rs:289:17 [INFO] [stdout] | [INFO] [stdout] 289 | up_shares_posted = 0.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `up_shares_posted` is never read [INFO] [stdout] --> src/main_vidarx_eth.rs:732:25 [INFO] [stdout] | [INFO] [stdout] 732 | up_shares_posted += *size; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `dn_shares_posted` is never read [INFO] [stdout] --> src/main_vidarx_eth.rs:290:17 [INFO] [stdout] | [INFO] [stdout] 290 | dn_shares_posted = 0.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `dn_shares_posted` is never read [INFO] [stdout] --> src/main_vidarx_eth.rs:734:25 [INFO] [stdout] | [INFO] [stdout] 734 | dn_shares_posted += *size; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `posted_price` is never read [INFO] [stdout] --> src/main_vidarx_eth.rs:228:9 [INFO] [stdout] | [INFO] [stdout] 224 | struct PostedOrderMeta { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 228 | posted_price: 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: multiple fields are never read [INFO] [stdout] --> src/config_v2.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Config { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 11 | pub lookback_ms: i64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub max_signal_age_ms: i64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | pub maker_max_signal_age_ms: i64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub take_profit_cents: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 23 | pub stop_loss_cents: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | pub max_hold_ms: i64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 25 | pub cooldown_ms: i64, [INFO] [stdout] 26 | pub opposite_signal_exit_score: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub base_notional: f64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 32 | pub max_notional: f64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub max_one_position: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 36 | pub session_stop_loss: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 37 | pub max_spread_cents: f64, [INFO] [stdout] 38 | pub min_entry_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub wallet_check_interval_s: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub window_seconds: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub tune: TuneConfig, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Config` 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 fields are never read [INFO] [stdout] --> src/config_v2.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 63 | pub struct TuneConfig { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 64 | // Pair-cost gates [INFO] [stdout] 65 | pub pair_cost_full_size_max: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 66 | pub pair_cost_reduce_max: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 67 | pub pair_cost_strong_only_max: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 68 | // Residual controls [INFO] [stdout] 69 | pub weak_signal_max_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 70 | pub med_signal_max_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 71 | pub strong_signal_max_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 72 | pub extreme_signal_max_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 73 | pub soft_cap_fraction: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 74 | pub soft_freeze_pair_cost: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 75 | // Exp-heavy override [INFO] [stdout] 76 | pub exp_heavy_override_score: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 77 | pub exp_heavy_strong_score: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 78 | pub exp_heavy_pair_cost_max: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 79 | pub base_cheap_target: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 80 | pub neutral_cheap_target: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 81 | pub exp_heavy_cheap_target: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 82 | // Extreme-price filter [INFO] [stdout] 83 | pub extreme_reduce_exp_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 84 | pub extreme_reduce_cheap_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 85 | pub extreme_hard_exp_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 86 | pub extreme_hard_cheap_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 87 | pub extreme_size_multiplier: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 88 | pub extreme_edge_add_cents: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 89 | // Rolling regime filter [INFO] [stdout] 90 | pub rolling_short_windows: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 91 | pub rolling_pause_pnl_per_window: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 92 | pub rolling_pause_pair_cost: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 93 | pub rolling_resume_pnl_per_window: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 94 | pub rolling_resume_pair_cost: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 95 | // Min pairs before pair-cost gating activates [INFO] [stdout] 96 | pub min_pairs_for_cost_gate: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TuneConfig` 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: enum `SignalBand` is never used [INFO] [stdout] --> src/config_v2.rs:135:10 [INFO] [stdout] | [INFO] [stdout] 135 | pub enum SignalBand { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PairCostMode` is never used [INFO] [stdout] --> src/config_v2.rs:144:10 [INFO] [stdout] | [INFO] [stdout] 144 | pub enum PairCostMode { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `signal_band`, `max_ratio_for_band`, `pair_cost_mode`, and `cheap_target` are never used [INFO] [stdout] --> src/config_v2.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 151 | impl TuneConfig { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 152 | pub fn signal_band(&self, score: f64) -> SignalBand { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub fn max_ratio_for_band(&self, band: SignalBand) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | pub fn pair_cost_mode(&self, pair_cost: f64, matched_pairs: f64) -> PairCostMode { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn cheap_target(&self, score: f64, pred_winner_is_exp: bool, pair_cost: Option) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeatureSnapshot` is never constructed [INFO] [stdout] --> src/types_v2.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 92 | pub struct FeatureSnapshot { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `current_position`, `realized_pnl`, and `session_start_balance` are never read [INFO] [stdout] --> src/state.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct SharedState { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 9 | pub strategy_state: Arc>, [INFO] [stdout] 10 | pub current_position: Arc>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | pub cooldown_until_ms: Arc>>, [INFO] [stdout] 12 | pub realized_pnl: Arc>, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 13 | pub session_start_balance: Arc>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SharedState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/state.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl SharedState { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn is_idle(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn set_state(&self, new_state: StrategyState) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn get_state(&self) -> StrategyState { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn set_position(&self, pos: Position) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn clear_position(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn get_position(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn set_cooldown(&self, until_ms: i64) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn is_cooling_down(&self, now_ms: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn add_pnl(&self, pnl: f64) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn get_pnl(&self) -> f64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn should_stop(&self, stop_loss: f64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_binance_feed_task` is never used [INFO] [stdout] --> src/feeds/binance.rs:13:14 [INFO] [stdout] | [INFO] [stdout] 13 | pub async fn run_binance_feed_task( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLOB_BASE` is never used [INFO] [stdout] --> src/feeds/polymarket_ws.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const CLOB_BASE: &str = "https://clob.polymarket.com"; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `POLL_INTERVAL_MS` is never used [INFO] [stdout] --> src/feeds/polymarket_ws.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const POLL_INTERVAL_MS: u64 = 100; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_polymarket_ws_task` is never used [INFO] [stdout] --> src/feeds/polymarket_ws.rs:14:14 [INFO] [stdout] | [INFO] [stdout] 14 | pub async fn run_polymarket_ws_task( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fetch_price` is never used [INFO] [stdout] --> src/feeds/polymarket_ws.rs:64:10 [INFO] [stdout] | [INFO] [stdout] 64 | async fn fetch_price(client: &reqwest::Client, token_id: &str, side: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_rtds_task` is never used [INFO] [stdout] --> src/feeds/rtds.rs:15:14 [INFO] [stdout] | [INFO] [stdout] 15 | pub async fn run_rtds_task( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect_and_stream` is never used [INFO] [stdout] --> src/feeds/rtds.rs:40:10 [INFO] [stdout] | [INFO] [stdout] 40 | async fn connect_and_stream( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `ts_ms` is never read [INFO] [stdout] --> src/feeds/user_ws.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 27 | pub struct UserFillEvent { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 34 | pub ts_ms: i64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UserFillEvent` 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 `compute_move_bps` is never used [INFO] [stdout] --> src/signals/features.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn compute_move_bps(mid_now: f64, mid_then: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_basis_bps` is never used [INFO] [stdout] --> src/signals/features.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn compute_basis_bps(binance_mid: f64, chainlink_price: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `latency_ms` is never read [INFO] [stdout] --> src/execution_v2/executor.rs:320:9 [INFO] [stdout] | [INFO] [stdout] 316 | pub struct FillResult { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 320 | pub latency_ms: i64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExecutorHandle` is never constructed [INFO] [stdout] --> src/execution_v2/executor.rs:466:12 [INFO] [stdout] | [INFO] [stdout] 466 | pub struct ExecutorHandle { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `sell_fok`, and `buy_fok` are never used [INFO] [stdout] --> src/execution_v2/executor.rs:472:18 [INFO] [stdout] | [INFO] [stdout] 471 | impl ExecutorHandle { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 472 | pub async fn new(config: &Config) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 485 | pub async fn sell_fok(&self, token_id: &str, shares: f64) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 495 | pub async fn buy_fok(&self, token_id: &str, share_base: f64, ask_price: f64) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sign_matches` is never used [INFO] [stdout] --> src/strategy_v2/sniper.rs:16:4 [INFO] [stdout] | [INFO] [stdout] 16 | fn sign_matches(side: Side, x: f64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_notional` is never used [INFO] [stdout] --> src/strategy_v2/sniper.rs:24:4 [INFO] [stdout] | [INFO] [stdout] 24 | fn compute_notional(signal: &Signal, base: f64, max: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_strategy_task` is never used [INFO] [stdout] --> src/strategy_v2/sniper.rs:43:14 [INFO] [stdout] | [INFO] [stdout] 43 | pub async fn run_strategy_task( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PairTrade` is never constructed [INFO] [stdout] --> src/portfolio/position_manager.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | struct PairTrade { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_position_manager_task` is never used [INFO] [stdout] --> src/portfolio/position_manager.rs:34:14 [INFO] [stdout] | [INFO] [stdout] 34 | pub async fn run_position_manager_task( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `config` [INFO] [stdout] --> src/main_lockprofit_eth.rs:173:5 [INFO] [stdout] | [INFO] [stdout] 173 | config: Config, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `exp_fill_shares` is assigned to, but never used [INFO] [stdout] --> src/main_lockprofit_eth.rs:189:9 [INFO] [stdout] | [INFO] [stdout] 189 | let mut exp_fill_shares: f64 = 0.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_exp_fill_shares` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `cheap_gtc_posted` is assigned to, but never used [INFO] [stdout] --> src/main_lockprofit_eth.rs:190:9 [INFO] [stdout] | [INFO] [stdout] 190 | let mut cheap_gtc_posted = false; // have we posted the cheap GTC? [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_cheap_gtc_posted` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `exp_fill_shares` is never read [INFO] [stdout] --> src/main_lockprofit_eth.rs:273:17 [INFO] [stdout] | [INFO] [stdout] 273 | exp_fill_shares = 0.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `exp_fill_shares` is never read [INFO] [stdout] --> src/main_lockprofit_eth.rs:402:21 [INFO] [stdout] | [INFO] [stdout] 402 | exp_fill_shares = shares_per_leg; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `cheap_gtc_posted` is never read [INFO] [stdout] --> src/main_lockprofit_eth.rs:274:17 [INFO] [stdout] | [INFO] [stdout] 274 | cheap_gtc_posted = false; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `cheap_gtc_posted` is never read [INFO] [stdout] --> src/main_lockprofit_eth.rs:427:25 [INFO] [stdout] | [INFO] [stdout] 427 | cheap_gtc_posted = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/config_v2.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Config { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 11 | pub lookback_ms: i64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub max_signal_age_ms: i64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | pub maker_max_signal_age_ms: i64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub take_profit_cents: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 23 | pub stop_loss_cents: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | pub max_hold_ms: i64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 25 | pub cooldown_ms: i64, [INFO] [stdout] 26 | pub opposite_signal_exit_score: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub base_notional: f64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 32 | pub max_notional: f64, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub max_one_position: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 36 | pub session_stop_loss: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 37 | pub max_spread_cents: f64, [INFO] [stdout] 38 | pub min_entry_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub wallet_check_interval_s: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub window_seconds: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub tune: TuneConfig, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Config` 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: multiple fields are never read [INFO] [stdout] --> src/config_v2.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 63 | pub struct TuneConfig { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 64 | // Pair-cost gates [INFO] [stdout] 65 | pub pair_cost_full_size_max: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 66 | pub pair_cost_reduce_max: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 67 | pub pair_cost_strong_only_max: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 68 | // Residual controls [INFO] [stdout] 69 | pub weak_signal_max_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 70 | pub med_signal_max_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 71 | pub strong_signal_max_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 72 | pub extreme_signal_max_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 73 | pub soft_cap_fraction: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 74 | pub soft_freeze_pair_cost: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 75 | // Exp-heavy override [INFO] [stdout] 76 | pub exp_heavy_override_score: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 77 | pub exp_heavy_strong_score: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 78 | pub exp_heavy_pair_cost_max: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 79 | pub base_cheap_target: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 80 | pub neutral_cheap_target: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 81 | pub exp_heavy_cheap_target: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 82 | // Extreme-price filter [INFO] [stdout] 83 | pub extreme_reduce_exp_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 84 | pub extreme_reduce_cheap_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 85 | pub extreme_hard_exp_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 86 | pub extreme_hard_cheap_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 87 | pub extreme_size_multiplier: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 88 | pub extreme_edge_add_cents: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 89 | // Rolling regime filter [INFO] [stdout] 90 | pub rolling_short_windows: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 91 | pub rolling_pause_pnl_per_window: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 92 | pub rolling_pause_pair_cost: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 93 | pub rolling_resume_pnl_per_window: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 94 | pub rolling_resume_pair_cost: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 95 | // Min pairs before pair-cost gating activates [INFO] [stdout] 96 | pub min_pairs_for_cost_gate: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TuneConfig` 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: enum `SignalBand` is never used [INFO] [stdout] --> src/config_v2.rs:135:10 [INFO] [stdout] | [INFO] [stdout] 135 | pub enum SignalBand { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PairCostMode` is never used [INFO] [stdout] --> src/config_v2.rs:144:10 [INFO] [stdout] | [INFO] [stdout] 144 | pub enum PairCostMode { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `signal_band`, `max_ratio_for_band`, `pair_cost_mode`, and `cheap_target` are never used [INFO] [stdout] --> src/config_v2.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 151 | impl TuneConfig { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 152 | pub fn signal_band(&self, score: f64) -> SignalBand { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub fn max_ratio_for_band(&self, band: SignalBand) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | pub fn pair_cost_mode(&self, pair_cost: f64, matched_pairs: f64) -> PairCostMode { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn cheap_target(&self, score: f64, pred_winner_is_exp: bool, pair_cost: Option) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeatureSnapshot` is never constructed [INFO] [stdout] --> src/types_v2.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 92 | pub struct FeatureSnapshot { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `current_position`, `realized_pnl`, and `session_start_balance` are never read [INFO] [stdout] --> src/state.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct SharedState { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 9 | pub strategy_state: Arc>, [INFO] [stdout] 10 | pub current_position: Arc>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 11 | pub cooldown_until_ms: Arc>>, [INFO] [stdout] 12 | pub realized_pnl: Arc>, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 13 | pub session_start_balance: Arc>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SharedState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/state.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl SharedState { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn is_idle(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn set_state(&self, new_state: StrategyState) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn get_state(&self) -> StrategyState { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn set_position(&self, pos: Position) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn clear_position(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn get_position(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn set_cooldown(&self, until_ms: i64) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn is_cooling_down(&self, now_ms: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn add_pnl(&self, pnl: f64) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn get_pnl(&self) -> f64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn should_stop(&self, stop_loss: f64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_binance_feed_task` is never used [INFO] [stdout] --> src/feeds/binance.rs:13:14 [INFO] [stdout] | [INFO] [stdout] 13 | pub async fn run_binance_feed_task( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLOB_BASE` is never used [INFO] [stdout] --> src/feeds/polymarket_ws.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const CLOB_BASE: &str = "https://clob.polymarket.com"; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `POLL_INTERVAL_MS` is never used [INFO] [stdout] --> src/feeds/polymarket_ws.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const POLL_INTERVAL_MS: u64 = 100; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_polymarket_ws_task` is never used [INFO] [stdout] --> src/feeds/polymarket_ws.rs:14:14 [INFO] [stdout] | [INFO] [stdout] 14 | pub async fn run_polymarket_ws_task( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fetch_price` is never used [INFO] [stdout] --> src/feeds/polymarket_ws.rs:64:10 [INFO] [stdout] | [INFO] [stdout] 64 | async fn fetch_price(client: &reqwest::Client, token_id: &str, side: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_rtds_task` is never used [INFO] [stdout] --> src/feeds/rtds.rs:15:14 [INFO] [stdout] | [INFO] [stdout] 15 | pub async fn run_rtds_task( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect_and_stream` is never used [INFO] [stdout] --> src/feeds/rtds.rs:40:10 [INFO] [stdout] | [INFO] [stdout] 40 | async fn connect_and_stream( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `order_id`, `status`, and `ts_ms` are never read [INFO] [stdout] --> src/feeds/user_ws.rs:28:9 [INFO] [stdout] | [INFO] [stdout] 27 | pub struct UserFillEvent { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 28 | pub order_id: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub status: String, // "ORDER_UPDATE" or "TRADE_MATCHED" [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 34 | pub ts_ms: i64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UserFillEvent` 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 `compute_move_bps` is never used [INFO] [stdout] --> src/signals/features.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn compute_move_bps(mid_now: f64, mid_then: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_basis_bps` is never used [INFO] [stdout] --> src/signals/features.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn compute_basis_bps(binance_mid: f64, chainlink_price: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `latency_ms` is never read [INFO] [stdout] --> src/execution_v2/executor.rs:320:9 [INFO] [stdout] | [INFO] [stdout] 316 | pub struct FillResult { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 320 | pub latency_ms: i64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExecutorHandle` is never constructed [INFO] [stdout] --> src/execution_v2/executor.rs:466:12 [INFO] [stdout] | [INFO] [stdout] 466 | pub struct ExecutorHandle { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `sell_fok`, and `buy_fok` are never used [INFO] [stdout] --> src/execution_v2/executor.rs:472:18 [INFO] [stdout] | [INFO] [stdout] 471 | impl ExecutorHandle { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 472 | pub async fn new(config: &Config) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 485 | pub async fn sell_fok(&self, token_id: &str, shares: f64) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 495 | pub async fn buy_fok(&self, token_id: &str, share_base: f64, ask_price: f64) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sign_matches` is never used [INFO] [stdout] --> src/strategy_v2/sniper.rs:16:4 [INFO] [stdout] | [INFO] [stdout] 16 | fn sign_matches(side: Side, x: f64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_notional` is never used [INFO] [stdout] --> src/strategy_v2/sniper.rs:24:4 [INFO] [stdout] | [INFO] [stdout] 24 | fn compute_notional(signal: &Signal, base: f64, max: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_strategy_task` is never used [INFO] [stdout] --> src/strategy_v2/sniper.rs:43:14 [INFO] [stdout] | [INFO] [stdout] 43 | pub async fn run_strategy_task( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PairTrade` is never constructed [INFO] [stdout] --> src/portfolio/position_manager.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | struct PairTrade { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_position_manager_task` is never used [INFO] [stdout] --> src/portfolio/position_manager.rs:34:14 [INFO] [stdout] | [INFO] [stdout] 34 | pub async fn run_position_manager_task( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `token_infos` [INFO] [stdout] --> src/market_ws/mod.rs:158:25 [INFO] [stdout] | [INFO] [stdout] 158 | let (token_ids, token_infos) = match fetch_btc_tokens().await { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_infos` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `token_infos` [INFO] [stdout] --> src/market_ws/mod.rs:158:25 [INFO] [stdout] | [INFO] [stdout] 158 | let (token_ids, token_infos) = match fetch_btc_tokens().await { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_infos` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `token_infos` [INFO] [stdout] --> src/market_ws/mod.rs:158:25 [INFO] [stdout] | [INFO] [stdout] 158 | let (token_ids, token_infos) = match fetch_btc_tokens().await { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_infos` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `log_tx` [INFO] [stdout] --> src/feeds/market_ws.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | log_tx: mpsc::Sender, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_tx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_fast` [INFO] [stdout] --> src/signals/signal_engine.rs:177:13 [INFO] [stdout] | [INFO] [stdout] 177 | let mut max_fast = 0.0f64; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_fast` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `log_tx_hb` [INFO] [stdout] --> src/signals/signal_engine.rs:172:9 [INFO] [stdout] | [INFO] [stdout] 172 | let log_tx_hb = log_tx.clone(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_tx_hb` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `latency_ms` [INFO] [stdout] --> src/execution_v2/executor.rs:259:21 [INFO] [stdout] | [INFO] [stdout] 259 | let latency_ms = start.elapsed().as_millis() as i64; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_latency_ms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `signal` [INFO] [stdout] --> src/portfolio/position_manager.rs:82:46 [INFO] [stdout] | [INFO] [stdout] 82 | notional, ack_ts_ms, signal, .. [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `signal: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reason` [INFO] [stdout] --> src/portfolio/position_manager.rs:156:67 [INFO] [stdout] | [INFO] [stdout] 156 | opposite_side, filled_price, filled_size, reason, .. [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `reason: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEPTH_URL` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | const DEPTH_URL: &str = "wss://fstream.binance.com/ws/btcusdt@depth10@100ms"; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BOOKTICKER_URL` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:21:7 [INFO] [stdout] | [INFO] [stdout] 21 | const BOOKTICKER_URL: &str = "wss://fstream.binance.com/ws/btcusdt@bookTicker"; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BinanceEvent` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:25:10 [INFO] [stdout] | [INFO] [stdout] 25 | pub enum BinanceEvent { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_obi` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn compute_obi(bids: &[PriceLevel], asks: &[PriceLevel], max_levels: usize) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:55:14 [INFO] [stdout] | [INFO] [stdout] 55 | pub async fn run(tx: mpsc::UnboundedSender) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_depth` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:63:10 [INFO] [stdout] | [INFO] [stdout] 63 | async fn run_depth(tx: mpsc::UnboundedSender) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect_depth` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:74:10 [INFO] [stdout] | [INFO] [stdout] 74 | async fn connect_depth( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_bookticker` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:136:10 [INFO] [stdout] | [INFO] [stdout] 136 | async fn run_bookticker(tx: mpsc::UnboundedSender) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect_bookticker` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:147:10 [INFO] [stdout] | [INFO] [stdout] 147 | async fn connect_bookticker( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_depth` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:195:4 [INFO] [stdout] | [INFO] [stdout] 195 | fn parse_depth(text: &str, local_recv_us: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_bookticker` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:223:4 [INFO] [stdout] | [INFO] [stdout] 223 | fn parse_bookticker(text: &str, local_recv_us: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `AuthedClient` is never used [INFO] [stdout] --> src/execution/mod.rs:28:6 [INFO] [stdout] | [INFO] [stdout] 28 | type AuthedClient = Client>; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `U256` is never used [INFO] [stdout] --> src/execution/mod.rs:29:6 [INFO] [stdout] | [INFO] [stdout] 29 | type U256 = polymarket_client_sdk::types::U256; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Decimal` is never used [INFO] [stdout] --> src/execution/mod.rs:30:6 [INFO] [stdout] | [INFO] [stdout] 30 | type Decimal = polymarket_client_sdk::types::Decimal; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLOB_BASE` is never used [INFO] [stdout] --> src/execution/mod.rs:32:7 [INFO] [stdout] | [INFO] [stdout] 32 | const CLOB_BASE: &str = "https://clob.polymarket.com"; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `POLYGON_RPC` is never used [INFO] [stdout] --> src/execution/mod.rs:35:7 [INFO] [stdout] | [INFO] [stdout] 35 | const POLYGON_RPC: &str = "https://polygon-bor-rpc.publicnode.com"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CTF_CONTRACT` is never used [INFO] [stdout] --> src/execution/mod.rs:36:7 [INFO] [stdout] | [INFO] [stdout] 36 | const CTF_CONTRACT: &str = "0x4D97DCd97eC945f40cF65F87097ACe5EA0476045"; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TickSizeRegistry` is never constructed [INFO] [stdout] --> src/execution/mod.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct TickSizeRegistry { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `update`, and `quantize` are never used [INFO] [stdout] --> src/execution/mod.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 44 | impl TickSizeRegistry { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 45 | pub fn new() -> Self { Self { tick_sizes: HashMap::new() } } [INFO] [stdout] | ^^^ [INFO] [stdout] 46 | [INFO] [stdout] 47 | pub fn update(&mut self, ts: &TickSize) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn quantize(&self, token_id: &str, price: f64) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OrderResult` is never constructed [INFO] [stdout] --> src/execution/mod.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct OrderResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OrderTracking` is never constructed [INFO] [stdout] --> src/execution/mod.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 73 | pub struct OrderTracking { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TokenCache` is never constructed [INFO] [stdout] --> src/execution/mod.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | struct TokenCache { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `get_or_parse` are never used [INFO] [stdout] --> src/execution/mod.rs:90:8 [INFO] [stdout] | [INFO] [stdout] 89 | impl TokenCache { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 90 | fn new() -> Self { Self { cache: HashMap::with_capacity(8) } } [INFO] [stdout] | ^^^ [INFO] [stdout] 91 | [INFO] [stdout] 92 | fn get_or_parse(&mut self, token_id: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExecutionEngine` is never constructed [INFO] [stdout] --> src/execution/mod.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 108 | pub struct ExecutionEngine { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/execution/mod.rs:127:12 [INFO] [stdout] | [INFO] [stdout] 126 | impl ExecutionEngine { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 127 | pub fn new(telemetry: Arc, paper_mode: bool) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn set_credentials(&mut self, private_key: String, api_key: String, api_secret: String, api_passphrase: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub async fn ensure_auth(&self) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 199 | pub async fn warm_token(&self, token_id: &str) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | pub async fn update_tick_size(&self, ts: &TickSize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 211 | pub async fn set_neg_risk(&self, token_id: &str) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 224 | pub async fn check_token_balance(&self, wallet_address: &str, token_id: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 279 | pub fn wallet_address(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 287 | pub async fn check_usdc_balance(&self, wallet_address: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 307 | pub async fn check_clob_balance(&self, token_id: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 319 | pub async fn taker_fok_buy(&self, token_id: &str, spend_usdc: f64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 345 | pub async fn maker_gtc_buy(&self, token_id: &str, shares: f64, price: f64, post_only: bool) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 367 | pub async fn taker_fok_sell(&self, token_id: &str, shares: f64, min_price: f64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 386 | pub async fn maker_gtc_sell(&self, token_id: &str, shares: f64, price: f64, post_only: bool) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 406 | pub async fn cancel_order(&self, order_id: &str) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 418 | pub async fn cancel_all(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 431 | pub async fn open_order_count(&self) -> usize { self.open_orders.read().await.len() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 432 | pub async fn get_open_orders(&self) -> Vec<(String, OrderTracking)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 435 | pub fn is_paper(&self) -> bool { self.paper_mode } [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 436 | pub fn is_ready(&self) -> bool { self.private_key.is_some() && self.api_key.is_some() } [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `do_fok_buy`, `do_gtc_buy`, `do_fok_sell`, `do_fok_sell_at_price`, and `do_gtc_sell` are never used [INFO] [stdout] --> src/execution/mod.rs:444:14 [INFO] [stdout] | [INFO] [stdout] 441 | impl ExecutionEngine { [INFO] [stdout] | -------------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 444 | async fn do_fok_buy(client: &AuthedClient, signer: &PrivateKeySigner, token_u256: U256, spend_usdc: f64) -> Result Result src/leadlag_lab/mod.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct EventRecorder { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `record`, `count`, and `path` are never used [INFO] [stdout] --> src/leadlag_lab/mod.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 27 | impl EventRecorder { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 28 | /// Create a new recorder. Creates output directory if needed. [INFO] [stdout] 29 | pub fn new(output_dir: &Path) -> Result> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn record(&self, event: &RecordedEvent) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn count(&self) -> u64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn path(&self) -> &Path { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PricePoint` is never constructed [INFO] [stdout] --> src/leadlag_lab/mod.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct PricePoint { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LagResult` is never constructed [INFO] [stdout] --> src/leadlag_lab/mod.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 89 | pub struct LagResult { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cross_correlate` is never used [INFO] [stdout] --> src/leadlag_lab/mod.rs:97:8 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn cross_correlate( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_returns` is never used [INFO] [stdout] --> src/leadlag_lab/mod.rs:128:4 [INFO] [stdout] | [INFO] [stdout] 128 | fn to_returns(points: &[PricePoint]) -> Vec<(i64, f64)> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `correlation_at_lag` is never used [INFO] [stdout] --> src/leadlag_lab/mod.rs:146:4 [INFO] [stdout] | [INFO] [stdout] 146 | fn correlation_at_lag( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_analysis` is never used [INFO] [stdout] --> src/leadlag_lab/mod.rs:203:8 [INFO] [stdout] | [INFO] [stdout] 203 | pub fn print_analysis(results: &[LagResult], label_a: &str, label_b: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MARKET_WS_URL` is never used [INFO] [stdout] --> src/market_ws/mod.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const MARKET_WS_URL: &str = "wss://ws-subscriptions-clob.polymarket.com/ws/market"; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAMMA_API` is never used [INFO] [stdout] --> src/market_ws/mod.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const GAMMA_API: &str = "https://gamma-api.polymarket.com"; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLOB_API` is never used [INFO] [stdout] --> src/market_ws/mod.rs:19:7 [INFO] [stdout] | [INFO] [stdout] 19 | const CLOB_API: &str = "https://clob.polymarket.com"; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `poll_book_rest` is never used [INFO] [stdout] --> src/market_ws/mod.rs:23:14 [INFO] [stdout] | [INFO] [stdout] 23 | pub async fn poll_book_rest(token_id: &str) -> Option<(f64, f64)> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TokenInfo` is never constructed [INFO] [stdout] --> src/market_ws/mod.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 56 | pub struct TokenInfo { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fetch_btc_tokens` is never used [INFO] [stdout] --> src/market_ws/mod.rs:64:14 [INFO] [stdout] | [INFO] [stdout] 64 | pub async fn fetch_btc_tokens() -> Result<(Vec, Vec), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MarketEvent` is never used [INFO] [stdout] --> src/market_ws/mod.rs:131:10 [INFO] [stdout] | [INFO] [stdout] 131 | pub enum MarketEvent { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SubscribeMsg` is never constructed [INFO] [stdout] --> src/market_ws/mod.rs:142:8 [INFO] [stdout] | [INFO] [stdout] 142 | struct SubscribeMsg { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/market_ws/mod.rs:151:14 [INFO] [stdout] | [INFO] [stdout] 151 | pub async fn run( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect_and_stream` is never used [INFO] [stdout] --> src/market_ws/mod.rs:187:10 [INFO] [stdout] | [INFO] [stdout] 187 | async fn connect_and_stream( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_and_dispatch` is never used [INFO] [stdout] --> src/market_ws/mod.rs:295:4 [INFO] [stdout] | [INFO] [stdout] 295 | fn parse_and_dispatch( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_book` is never used [INFO] [stdout] --> src/market_ws/mod.rs:358:4 [INFO] [stdout] | [INFO] [stdout] 358 | fn parse_book(v: &serde_json::Value, local_recv_us: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_bbo` is never used [INFO] [stdout] --> src/market_ws/mod.rs:384:4 [INFO] [stdout] | [INFO] [stdout] 384 | fn parse_bbo(v: &serde_json::Value, local_recv_us: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_trade` is never used [INFO] [stdout] --> src/market_ws/mod.rs:399:4 [INFO] [stdout] | [INFO] [stdout] 399 | fn parse_trade(v: &serde_json::Value, local_recv_us: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_tick_size` is never used [INFO] [stdout] --> src/market_ws/mod.rs:409:4 [INFO] [stdout] | [INFO] [stdout] 409 | fn parse_tick_size(v: &serde_json::Value) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RTDS_WS_URL` is never used [INFO] [stdout] --> src/rtds/mod.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const RTDS_WS_URL: &str = "wss://ws-live-data.polymarket.com"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PING_INTERVAL_S` is never used [INFO] [stdout] --> src/rtds/mod.rs:19:7 [INFO] [stdout] | [INFO] [stdout] 19 | const PING_INTERVAL_S: u64 = 5; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `RtdsEvent` is never used [INFO] [stdout] --> src/rtds/mod.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum RtdsEvent { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RtdsSubscription` is never constructed [INFO] [stdout] --> src/rtds/mod.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | struct RtdsSubscription { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RtdsSubTopic` is never constructed [INFO] [stdout] --> src/rtds/mod.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | struct RtdsSubTopic { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/rtds/mod.rs:42:14 [INFO] [stdout] | [INFO] [stdout] 42 | pub async fn run( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect_and_stream` is never used [INFO] [stdout] --> src/rtds/mod.rs:56:10 [INFO] [stdout] | [INFO] [stdout] 56 | async fn connect_and_stream( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_rtds_price` is never used [INFO] [stdout] --> src/rtds/mod.rs:146:4 [INFO] [stdout] | [INFO] [stdout] 146 | fn parse_rtds_price(text: &str, local_recv_us: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_events` is never used [INFO] [stdout] --> src/sim/mod.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn load_events(path: &Path) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `replay` is never used [INFO] [stdout] --> src/sim/mod.rs:42:14 [INFO] [stdout] | [INFO] [stdout] 42 | pub async fn replay( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PositionState` is never used [INFO] [stdout] --> src/strategy/mod.rs:22:10 [INFO] [stdout] | [INFO] [stdout] 22 | pub enum PositionState { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Position` is never constructed [INFO] [stdout] --> src/strategy/mod.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct Position { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_flat` and `hold_time_ms` are never used [INFO] [stdout] --> src/strategy/mod.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 42 | impl Position { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 43 | pub fn new_flat() -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn hold_time_ms(&self) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `StrategyAction` is never used [INFO] [stdout] --> src/strategy/mod.rs:66:10 [INFO] [stdout] | [INFO] [stdout] 66 | pub enum StrategyAction { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MarketState` is never constructed [INFO] [stdout] --> src/strategy/mod.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 98 | pub struct MarketState { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RiskLimits` is never constructed [INFO] [stdout] --> src/strategy/mod.rs:116:12 [INFO] [stdout] | [INFO] [stdout] 116 | pub struct RiskLimits { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BinanceReturnSignal` is never constructed [INFO] [stdout] --> src/strategy/mod.rs:145:12 [INFO] [stdout] | [INFO] [stdout] 145 | pub struct BinanceReturnSignal { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SignalSnapshot` is never constructed [INFO] [stdout] --> src/strategy/mod.rs:154:12 [INFO] [stdout] | [INFO] [stdout] 154 | pub struct SignalSnapshot { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SignalMode` is never used [INFO] [stdout] --> src/strategy/mod.rs:165:10 [INFO] [stdout] | [INFO] [stdout] 165 | pub enum SignalMode { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ExecutionMode` is never used [INFO] [stdout] --> src/strategy/mod.rs:171:10 [INFO] [stdout] | [INFO] [stdout] 171 | pub type ExecutionMode = SignalMode; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W_OBI` is never used [INFO] [stdout] --> src/strategy/mod.rs:175:7 [INFO] [stdout] | [INFO] [stdout] 175 | const W_OBI: f64 = 0.25; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W_ORACLE_LAG` is never used [INFO] [stdout] --> src/strategy/mod.rs:176:7 [INFO] [stdout] | [INFO] [stdout] 176 | const W_ORACLE_LAG: f64 = 0.40; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W_BINANCE_RETURN` is never used [INFO] [stdout] --> src/strategy/mod.rs:177:7 [INFO] [stdout] | [INFO] [stdout] 177 | const W_BINANCE_RETURN: f64 = 0.35; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ENTRY_THRESHOLD` is never used [INFO] [stdout] --> src/strategy/mod.rs:181:7 [INFO] [stdout] | [INFO] [stdout] 181 | const ENTRY_THRESHOLD: f64 = 0.40; // score > this → enter [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_ORACLE_LAG_BPS` is never used [INFO] [stdout] --> src/strategy/mod.rs:182:7 [INFO] [stdout] | [INFO] [stdout] 182 | const MIN_ORACLE_LAG_BPS: f64 = 1.5; // oracle must be lagging [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ENTRY_SPEND_USDC` is never used [INFO] [stdout] --> src/strategy/mod.rs:183:7 [INFO] [stdout] | [INFO] [stdout] 183 | const ENTRY_SPEND_USDC: f64 = 20.0; // dollars per entry [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EXIT_TARGET_PCT` is never used [INFO] [stdout] --> src/strategy/mod.rs:184:7 [INFO] [stdout] | [INFO] [stdout] 184 | const EXIT_TARGET_PCT: f64 = 0.10; // 10% profit target [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EXIT_TIME_STOP_MS` is never used [INFO] [stdout] --> src/strategy/mod.rs:185:7 [INFO] [stdout] | [INFO] [stdout] 185 | const EXIT_TIME_STOP_MS: i64 = 8_000; // 8s max hold [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EXIT_SIGNAL_REVERSAL` is never used [INFO] [stdout] --> src/strategy/mod.rs:186:7 [INFO] [stdout] | [INFO] [stdout] 186 | const EXIT_SIGNAL_REVERSAL: f64 = -0.20; // exit if signal flips against us [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `COOLDOWN_MS` is never used [INFO] [stdout] --> src/strategy/mod.rs:187:7 [INFO] [stdout] | [INFO] [stdout] 187 | const COOLDOWN_MS: i64 = 3_000; // 3s between scalps [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAKER_EXIT_TIMEOUT_MS` is never used [INFO] [stdout] --> src/strategy/mod.rs:188:7 [INFO] [stdout] | [INFO] [stdout] 188 | const MAKER_EXIT_TIMEOUT_MS: i64 = 4_000; // 4s GTD timeout, then taker exit [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `quantize_buy` is never used [INFO] [stdout] --> src/strategy/mod.rs:191:4 [INFO] [stdout] | [INFO] [stdout] 191 | fn quantize_buy(price: f64, tick_size: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `quantize_sell` is never used [INFO] [stdout] --> src/strategy/mod.rs:200:4 [INFO] [stdout] | [INFO] [stdout] 200 | fn quantize_sell(price: f64, tick_size: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_signal` is never used [INFO] [stdout] --> src/strategy/mod.rs:211:8 [INFO] [stdout] | [INFO] [stdout] 211 | pub fn compute_signal( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `evaluate_scalp` is never used [INFO] [stdout] --> src/strategy/mod.rs:269:8 [INFO] [stdout] | [INFO] [stdout] 269 | pub fn evaluate_scalp( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `evaluate` is never used [INFO] [stdout] --> src/strategy/mod.rs:427:8 [INFO] [stdout] | [INFO] [stdout] 427 | pub fn evaluate( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LatencyTracker` is never constructed [INFO] [stdout] --> src/telemetry/mod.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct LatencyTracker { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `record`, `percentiles`, `log_summary`, and `reset` are never used [INFO] [stdout] --> src/telemetry/mod.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl LatencyTracker { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn record(&self, stage: &str, latency_us: u64) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn percentiles(&self, stage: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn log_summary(&self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn reset(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Percentiles` is never constructed [INFO] [stdout] --> src/telemetry/mod.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct Percentiles { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HealthCheck` is never constructed [INFO] [stdout] --> src/telemetry/mod.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 89 | pub struct HealthCheck { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PriceLevel` is never constructed [INFO] [stdout] --> src/types.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct PriceLevel { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `BookSide` is never used [INFO] [stdout] --> src/types.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | pub type BookSide = BTreeMap; // price_cents -> size [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OrderBook` is never constructed [INFO] [stdout] --> src/types.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct OrderBook { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BBO` is never constructed [INFO] [stdout] --> src/types.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub struct BBO { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TickSize` is never constructed [INFO] [stdout] --> src/types.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct TickSize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Trade` is never constructed [INFO] [stdout] --> src/types.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct Trade { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RefPrice` is never constructed [INFO] [stdout] --> src/types.rs:65:12 [INFO] [stdout] | [INFO] [stdout] 65 | pub struct RefPrice { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `RefSource` is never used [INFO] [stdout] --> src/types.rs:74:10 [INFO] [stdout] | [INFO] [stdout] 74 | pub enum RefSource { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BinanceDepthUpdate` is never constructed [INFO] [stdout] --> src/types.rs:85:12 [INFO] [stdout] | [INFO] [stdout] 85 | pub struct BinanceDepthUpdate { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BinanceBookTicker` is never constructed [INFO] [stdout] --> src/types.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 97 | pub struct BinanceBookTicker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `OrderSide` is never used [INFO] [stdout] --> src/types.rs:111:10 [INFO] [stdout] | [INFO] [stdout] 111 | pub enum OrderSide { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `OrderType` is never used [INFO] [stdout] --> src/types.rs:117:10 [INFO] [stdout] | [INFO] [stdout] 117 | pub enum OrderType { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OrderRequest` is never constructed [INFO] [stdout] --> src/types.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 124 | pub struct OrderRequest { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `OrderStatus` is never used [INFO] [stdout] --> src/types.rs:134:10 [INFO] [stdout] | [INFO] [stdout] 134 | pub enum OrderStatus { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OrderState` is never constructed [INFO] [stdout] --> src/types.rs:145:12 [INFO] [stdout] | [INFO] [stdout] 145 | pub struct OrderState { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ObiSignal` is never constructed [INFO] [stdout] --> src/types.rs:159:12 [INFO] [stdout] | [INFO] [stdout] 159 | pub struct ObiSignal { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OracleLagSignal` is never constructed [INFO] [stdout] --> src/types.rs:168:12 [INFO] [stdout] | [INFO] [stdout] 168 | pub struct OracleLagSignal { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `OracleLagDirection` is never used [INFO] [stdout] --> src/types.rs:178:10 [INFO] [stdout] | [INFO] [stdout] 178 | pub enum OracleLagDirection { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RecordedEvent` is never constructed [INFO] [stdout] --> src/types.rs:188:12 [INFO] [stdout] | [INFO] [stdout] 188 | pub struct RecordedEvent { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BotConfig` is never constructed [INFO] [stdout] --> src/types.rs:198:12 [INFO] [stdout] | [INFO] [stdout] 198 | pub struct BotConfig { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `USER_WS_URL` is never used [INFO] [stdout] --> src/user_ws/mod.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | const USER_WS_URL: &str = "wss://ws-subscriptions-clob.polymarket.com/ws/user"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `UserEvent` is never used [INFO] [stdout] --> src/user_ws/mod.rs:20:10 [INFO] [stdout] | [INFO] [stdout] 20 | pub enum UserEvent { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/user_ws/mod.rs:41:14 [INFO] [stdout] | [INFO] [stdout] 41 | pub async fn run( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect_and_stream` is never used [INFO] [stdout] --> src/user_ws/mod.rs:57:10 [INFO] [stdout] | [INFO] [stdout] 57 | async fn connect_and_stream( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_and_dispatch` is never used [INFO] [stdout] --> src/user_ws/mod.rs:106:4 [INFO] [stdout] | [INFO] [stdout] 106 | fn parse_and_dispatch( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/config_v2.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Config { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 11 | pub lookback_ms: i64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub opposite_signal_exit_score: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub max_one_position: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub wallet_check_interval_s: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub window_seconds: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 45 | pub start_delay_s: u64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 46 | pub cancel_at_s: u64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub tune: TuneConfig, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Config` 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 fields are never read [INFO] [stdout] --> src/config_v2.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 63 | pub struct TuneConfig { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 64 | // Pair-cost gates [INFO] [stdout] 65 | pub pair_cost_full_size_max: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 66 | pub pair_cost_reduce_max: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 67 | pub pair_cost_strong_only_max: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 68 | // Residual controls [INFO] [stdout] 69 | pub weak_signal_max_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 70 | pub med_signal_max_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 71 | pub strong_signal_max_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 72 | pub extreme_signal_max_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 73 | pub soft_cap_fraction: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 74 | pub soft_freeze_pair_cost: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 75 | // Exp-heavy override [INFO] [stdout] 76 | pub exp_heavy_override_score: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 77 | pub exp_heavy_strong_score: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 78 | pub exp_heavy_pair_cost_max: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 79 | pub base_cheap_target: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 80 | pub neutral_cheap_target: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 81 | pub exp_heavy_cheap_target: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 82 | // Extreme-price filter [INFO] [stdout] 83 | pub extreme_reduce_exp_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 84 | pub extreme_reduce_cheap_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 85 | pub extreme_hard_exp_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 86 | pub extreme_hard_cheap_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 87 | pub extreme_size_multiplier: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 88 | pub extreme_edge_add_cents: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 89 | // Rolling regime filter [INFO] [stdout] 90 | pub rolling_short_windows: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 91 | pub rolling_pause_pnl_per_window: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 92 | pub rolling_pause_pair_cost: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 93 | pub rolling_resume_pnl_per_window: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 94 | pub rolling_resume_pair_cost: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 95 | // Min pairs before pair-cost gating activates [INFO] [stdout] 96 | pub min_pairs_for_cost_gate: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TuneConfig` 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: enum `SignalBand` is never used [INFO] [stdout] --> src/config_v2.rs:135:10 [INFO] [stdout] | [INFO] [stdout] 135 | pub enum SignalBand { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PairCostMode` is never used [INFO] [stdout] --> src/config_v2.rs:144:10 [INFO] [stdout] | [INFO] [stdout] 144 | pub enum PairCostMode { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `signal_band`, `max_ratio_for_band`, `pair_cost_mode`, and `cheap_target` are never used [INFO] [stdout] --> src/config_v2.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 151 | impl TuneConfig { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 152 | pub fn signal_band(&self, score: f64) -> SignalBand { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub fn max_ratio_for_band(&self, band: SignalBand) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | pub fn pair_cost_mode(&self, pair_cost: f64, matched_pairs: f64) -> PairCostMode { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn cheap_target(&self, score: f64, pred_winner_is_exp: bool, pair_cost: Option) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `session_start_balance` is never read [INFO] [stdout] --> src/state.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct SharedState { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 13 | pub session_start_balance: Arc>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SharedState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_position`, `get_position`, `is_cooling_down`, and `add_pnl` are never used [INFO] [stdout] --> src/state.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl SharedState { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn set_position(&self, pos: Position) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn get_position(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn is_cooling_down(&self, now_ms: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn add_pnl(&self, pnl: f64) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeatureSnapshot` is never constructed [INFO] [stdout] --> src/types_v2.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 92 | pub struct FeatureSnapshot { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_binance_feed_task` is never used [INFO] [stdout] --> src/feeds/binance.rs:13:14 [INFO] [stdout] | [INFO] [stdout] 13 | pub async fn run_binance_feed_task( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_rtds_task` is never used [INFO] [stdout] --> src/feeds/rtds.rs:15:14 [INFO] [stdout] | [INFO] [stdout] 15 | pub async fn run_rtds_task( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect_and_stream` is never used [INFO] [stdout] --> src/feeds/rtds.rs:40:10 [INFO] [stdout] | [INFO] [stdout] 40 | async fn connect_and_stream( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `USER_WS_URL` is never used [INFO] [stdout] --> src/feeds/user_ws.rs:21:7 [INFO] [stdout] | [INFO] [stdout] 21 | const USER_WS_URL: &str = "wss://ws-subscriptions-clob.polymarket.com/ws/user"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEARTBEAT_SECS` is never used [INFO] [stdout] --> src/feeds/user_ws.rs:22:7 [INFO] [stdout] | [INFO] [stdout] 22 | const HEARTBEAT_SECS: u64 = 8; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RECONNECT_DELAY_MS` is never used [INFO] [stdout] --> src/feeds/user_ws.rs:23:7 [INFO] [stdout] | [INFO] [stdout] 23 | const RECONNECT_DELAY_MS: u64 = 2000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserFillEvent` is never constructed [INFO] [stdout] --> src/feeds/user_ws.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub struct UserFillEvent { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_user_ws_task` is never used [INFO] [stdout] --> src/feeds/user_ws.rs:40:14 [INFO] [stdout] | [INFO] [stdout] 40 | pub async fn run_user_ws_task( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_move_bps` is never used [INFO] [stdout] --> src/signals/features.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn compute_move_bps(mid_now: f64, mid_then: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_basis_bps` is never used [INFO] [stdout] --> src/signals/features.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn compute_basis_bps(binance_mid: f64, chainlink_price: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `latency_ms` is never read [INFO] [stdout] --> src/execution_v2/executor.rs:320:9 [INFO] [stdout] | [INFO] [stdout] 316 | pub struct FillResult { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 320 | pub latency_ms: i64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExecutorHandle` is never constructed [INFO] [stdout] --> src/execution_v2/executor.rs:466:12 [INFO] [stdout] | [INFO] [stdout] 466 | pub struct ExecutorHandle { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `sell_fok`, and `buy_fok` are never used [INFO] [stdout] --> src/execution_v2/executor.rs:472:18 [INFO] [stdout] | [INFO] [stdout] 471 | impl ExecutorHandle { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 472 | pub async fn new(config: &Config) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 485 | pub async fn sell_fok(&self, token_id: &str, shares: f64) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 495 | pub async fn buy_fok(&self, token_id: &str, share_base: f64, ask_price: f64) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `leg1_token_id` is never read [INFO] [stdout] --> src/portfolio/position_manager.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 18 | struct PairTrade { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 22 | leg1_token_id: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PairTrade` 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: unused variable: `log_tx` [INFO] [stdout] --> src/feeds/market_ws.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | log_tx: mpsc::Sender, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_tx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_fast` [INFO] [stdout] --> src/signals/signal_engine.rs:177:13 [INFO] [stdout] | [INFO] [stdout] 177 | let mut max_fast = 0.0f64; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_fast` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `log_tx_hb` [INFO] [stdout] --> src/signals/signal_engine.rs:172:9 [INFO] [stdout] | [INFO] [stdout] 172 | let log_tx_hb = log_tx.clone(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_tx_hb` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `latency_ms` [INFO] [stdout] --> src/execution_v2/executor.rs:259:21 [INFO] [stdout] | [INFO] [stdout] 259 | let latency_ms = start.elapsed().as_millis() as i64; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_latency_ms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `signal` [INFO] [stdout] --> src/portfolio/position_manager.rs:82:46 [INFO] [stdout] | [INFO] [stdout] 82 | notional, ack_ts_ms, signal, .. [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `signal: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reason` [INFO] [stdout] --> src/portfolio/position_manager.rs:156:67 [INFO] [stdout] | [INFO] [stdout] 156 | opposite_side, filled_price, filled_size, reason, .. [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `reason: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEPTH_URL` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | const DEPTH_URL: &str = "wss://fstream.binance.com/ws/btcusdt@depth10@100ms"; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BOOKTICKER_URL` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:21:7 [INFO] [stdout] | [INFO] [stdout] 21 | const BOOKTICKER_URL: &str = "wss://fstream.binance.com/ws/btcusdt@bookTicker"; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BinanceEvent` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:25:10 [INFO] [stdout] | [INFO] [stdout] 25 | pub enum BinanceEvent { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_obi` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn compute_obi(bids: &[PriceLevel], asks: &[PriceLevel], max_levels: usize) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:55:14 [INFO] [stdout] | [INFO] [stdout] 55 | pub async fn run(tx: mpsc::UnboundedSender) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_depth` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:63:10 [INFO] [stdout] | [INFO] [stdout] 63 | async fn run_depth(tx: mpsc::UnboundedSender) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect_depth` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:74:10 [INFO] [stdout] | [INFO] [stdout] 74 | async fn connect_depth( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_bookticker` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:136:10 [INFO] [stdout] | [INFO] [stdout] 136 | async fn run_bookticker(tx: mpsc::UnboundedSender) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect_bookticker` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:147:10 [INFO] [stdout] | [INFO] [stdout] 147 | async fn connect_bookticker( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_depth` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:195:4 [INFO] [stdout] | [INFO] [stdout] 195 | fn parse_depth(text: &str, local_recv_us: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_bookticker` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:223:4 [INFO] [stdout] | [INFO] [stdout] 223 | fn parse_bookticker(text: &str, local_recv_us: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `AuthedClient` is never used [INFO] [stdout] --> src/execution/mod.rs:28:6 [INFO] [stdout] | [INFO] [stdout] 28 | type AuthedClient = Client>; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `U256` is never used [INFO] [stdout] --> src/execution/mod.rs:29:6 [INFO] [stdout] | [INFO] [stdout] 29 | type U256 = polymarket_client_sdk::types::U256; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Decimal` is never used [INFO] [stdout] --> src/execution/mod.rs:30:6 [INFO] [stdout] | [INFO] [stdout] 30 | type Decimal = polymarket_client_sdk::types::Decimal; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLOB_BASE` is never used [INFO] [stdout] --> src/execution/mod.rs:32:7 [INFO] [stdout] | [INFO] [stdout] 32 | const CLOB_BASE: &str = "https://clob.polymarket.com"; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `POLYGON_RPC` is never used [INFO] [stdout] --> src/execution/mod.rs:35:7 [INFO] [stdout] | [INFO] [stdout] 35 | const POLYGON_RPC: &str = "https://polygon-bor-rpc.publicnode.com"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CTF_CONTRACT` is never used [INFO] [stdout] --> src/execution/mod.rs:36:7 [INFO] [stdout] | [INFO] [stdout] 36 | const CTF_CONTRACT: &str = "0x4D97DCd97eC945f40cF65F87097ACe5EA0476045"; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TickSizeRegistry` is never constructed [INFO] [stdout] --> src/execution/mod.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct TickSizeRegistry { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `update`, and `quantize` are never used [INFO] [stdout] --> src/execution/mod.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 44 | impl TickSizeRegistry { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 45 | pub fn new() -> Self { Self { tick_sizes: HashMap::new() } } [INFO] [stdout] | ^^^ [INFO] [stdout] 46 | [INFO] [stdout] 47 | pub fn update(&mut self, ts: &TickSize) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn quantize(&self, token_id: &str, price: f64) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OrderResult` is never constructed [INFO] [stdout] --> src/execution/mod.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct OrderResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OrderTracking` is never constructed [INFO] [stdout] --> src/execution/mod.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 73 | pub struct OrderTracking { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TokenCache` is never constructed [INFO] [stdout] --> src/execution/mod.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | struct TokenCache { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `get_or_parse` are never used [INFO] [stdout] --> src/execution/mod.rs:90:8 [INFO] [stdout] | [INFO] [stdout] 89 | impl TokenCache { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 90 | fn new() -> Self { Self { cache: HashMap::with_capacity(8) } } [INFO] [stdout] | ^^^ [INFO] [stdout] 91 | [INFO] [stdout] 92 | fn get_or_parse(&mut self, token_id: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExecutionEngine` is never constructed [INFO] [stdout] --> src/execution/mod.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 108 | pub struct ExecutionEngine { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/execution/mod.rs:127:12 [INFO] [stdout] | [INFO] [stdout] 126 | impl ExecutionEngine { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 127 | pub fn new(telemetry: Arc, paper_mode: bool) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn set_credentials(&mut self, private_key: String, api_key: String, api_secret: String, api_passphrase: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub async fn ensure_auth(&self) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 199 | pub async fn warm_token(&self, token_id: &str) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | pub async fn update_tick_size(&self, ts: &TickSize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 211 | pub async fn set_neg_risk(&self, token_id: &str) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 224 | pub async fn check_token_balance(&self, wallet_address: &str, token_id: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 279 | pub fn wallet_address(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 287 | pub async fn check_usdc_balance(&self, wallet_address: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 307 | pub async fn check_clob_balance(&self, token_id: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 319 | pub async fn taker_fok_buy(&self, token_id: &str, spend_usdc: f64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 345 | pub async fn maker_gtc_buy(&self, token_id: &str, shares: f64, price: f64, post_only: bool) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 367 | pub async fn taker_fok_sell(&self, token_id: &str, shares: f64, min_price: f64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 386 | pub async fn maker_gtc_sell(&self, token_id: &str, shares: f64, price: f64, post_only: bool) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 406 | pub async fn cancel_order(&self, order_id: &str) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 418 | pub async fn cancel_all(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 431 | pub async fn open_order_count(&self) -> usize { self.open_orders.read().await.len() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 432 | pub async fn get_open_orders(&self) -> Vec<(String, OrderTracking)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 435 | pub fn is_paper(&self) -> bool { self.paper_mode } [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 436 | pub fn is_ready(&self) -> bool { self.private_key.is_some() && self.api_key.is_some() } [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `do_fok_buy`, `do_gtc_buy`, `do_fok_sell`, `do_fok_sell_at_price`, and `do_gtc_sell` are never used [INFO] [stdout] --> src/execution/mod.rs:444:14 [INFO] [stdout] | [INFO] [stdout] 441 | impl ExecutionEngine { [INFO] [stdout] | -------------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 444 | async fn do_fok_buy(client: &AuthedClient, signer: &PrivateKeySigner, token_u256: U256, spend_usdc: f64) -> Result Result src/leadlag_lab/mod.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct EventRecorder { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `record`, `count`, and `path` are never used [INFO] [stdout] --> src/leadlag_lab/mod.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 27 | impl EventRecorder { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 28 | /// Create a new recorder. Creates output directory if needed. [INFO] [stdout] 29 | pub fn new(output_dir: &Path) -> Result> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn record(&self, event: &RecordedEvent) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn count(&self) -> u64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn path(&self) -> &Path { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PricePoint` is never constructed [INFO] [stdout] --> src/leadlag_lab/mod.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct PricePoint { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LagResult` is never constructed [INFO] [stdout] --> src/leadlag_lab/mod.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 89 | pub struct LagResult { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cross_correlate` is never used [INFO] [stdout] --> src/leadlag_lab/mod.rs:97:8 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn cross_correlate( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_returns` is never used [INFO] [stdout] --> src/leadlag_lab/mod.rs:128:4 [INFO] [stdout] | [INFO] [stdout] 128 | fn to_returns(points: &[PricePoint]) -> Vec<(i64, f64)> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `correlation_at_lag` is never used [INFO] [stdout] --> src/leadlag_lab/mod.rs:146:4 [INFO] [stdout] | [INFO] [stdout] 146 | fn correlation_at_lag( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_analysis` is never used [INFO] [stdout] --> src/leadlag_lab/mod.rs:203:8 [INFO] [stdout] | [INFO] [stdout] 203 | pub fn print_analysis(results: &[LagResult], label_a: &str, label_b: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MARKET_WS_URL` is never used [INFO] [stdout] --> src/market_ws/mod.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const MARKET_WS_URL: &str = "wss://ws-subscriptions-clob.polymarket.com/ws/market"; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAMMA_API` is never used [INFO] [stdout] --> src/market_ws/mod.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const GAMMA_API: &str = "https://gamma-api.polymarket.com"; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLOB_API` is never used [INFO] [stdout] --> src/market_ws/mod.rs:19:7 [INFO] [stdout] | [INFO] [stdout] 19 | const CLOB_API: &str = "https://clob.polymarket.com"; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `poll_book_rest` is never used [INFO] [stdout] --> src/market_ws/mod.rs:23:14 [INFO] [stdout] | [INFO] [stdout] 23 | pub async fn poll_book_rest(token_id: &str) -> Option<(f64, f64)> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TokenInfo` is never constructed [INFO] [stdout] --> src/market_ws/mod.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 56 | pub struct TokenInfo { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fetch_btc_tokens` is never used [INFO] [stdout] --> src/market_ws/mod.rs:64:14 [INFO] [stdout] | [INFO] [stdout] 64 | pub async fn fetch_btc_tokens() -> Result<(Vec, Vec), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MarketEvent` is never used [INFO] [stdout] --> src/market_ws/mod.rs:131:10 [INFO] [stdout] | [INFO] [stdout] 131 | pub enum MarketEvent { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SubscribeMsg` is never constructed [INFO] [stdout] --> src/market_ws/mod.rs:142:8 [INFO] [stdout] | [INFO] [stdout] 142 | struct SubscribeMsg { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/market_ws/mod.rs:151:14 [INFO] [stdout] | [INFO] [stdout] 151 | pub async fn run( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect_and_stream` is never used [INFO] [stdout] --> src/market_ws/mod.rs:187:10 [INFO] [stdout] | [INFO] [stdout] 187 | async fn connect_and_stream( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_and_dispatch` is never used [INFO] [stdout] --> src/market_ws/mod.rs:295:4 [INFO] [stdout] | [INFO] [stdout] 295 | fn parse_and_dispatch( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_book` is never used [INFO] [stdout] --> src/market_ws/mod.rs:358:4 [INFO] [stdout] | [INFO] [stdout] 358 | fn parse_book(v: &serde_json::Value, local_recv_us: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_bbo` is never used [INFO] [stdout] --> src/market_ws/mod.rs:384:4 [INFO] [stdout] | [INFO] [stdout] 384 | fn parse_bbo(v: &serde_json::Value, local_recv_us: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_trade` is never used [INFO] [stdout] --> src/market_ws/mod.rs:399:4 [INFO] [stdout] | [INFO] [stdout] 399 | fn parse_trade(v: &serde_json::Value, local_recv_us: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_tick_size` is never used [INFO] [stdout] --> src/market_ws/mod.rs:409:4 [INFO] [stdout] | [INFO] [stdout] 409 | fn parse_tick_size(v: &serde_json::Value) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RTDS_WS_URL` is never used [INFO] [stdout] --> src/rtds/mod.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const RTDS_WS_URL: &str = "wss://ws-live-data.polymarket.com"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PING_INTERVAL_S` is never used [INFO] [stdout] --> src/rtds/mod.rs:19:7 [INFO] [stdout] | [INFO] [stdout] 19 | const PING_INTERVAL_S: u64 = 5; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `RtdsEvent` is never used [INFO] [stdout] --> src/rtds/mod.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum RtdsEvent { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RtdsSubscription` is never constructed [INFO] [stdout] --> src/rtds/mod.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | struct RtdsSubscription { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RtdsSubTopic` is never constructed [INFO] [stdout] --> src/rtds/mod.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | struct RtdsSubTopic { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/rtds/mod.rs:42:14 [INFO] [stdout] | [INFO] [stdout] 42 | pub async fn run( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect_and_stream` is never used [INFO] [stdout] --> src/rtds/mod.rs:56:10 [INFO] [stdout] | [INFO] [stdout] 56 | async fn connect_and_stream( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_rtds_price` is never used [INFO] [stdout] --> src/rtds/mod.rs:146:4 [INFO] [stdout] | [INFO] [stdout] 146 | fn parse_rtds_price(text: &str, local_recv_us: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_events` is never used [INFO] [stdout] --> src/sim/mod.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn load_events(path: &Path) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `replay` is never used [INFO] [stdout] --> src/sim/mod.rs:42:14 [INFO] [stdout] | [INFO] [stdout] 42 | pub async fn replay( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PositionState` is never used [INFO] [stdout] --> src/strategy/mod.rs:22:10 [INFO] [stdout] | [INFO] [stdout] 22 | pub enum PositionState { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Position` is never constructed [INFO] [stdout] --> src/strategy/mod.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct Position { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_flat` and `hold_time_ms` are never used [INFO] [stdout] --> src/strategy/mod.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 42 | impl Position { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 43 | pub fn new_flat() -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn hold_time_ms(&self) -> i64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `StrategyAction` is never used [INFO] [stdout] --> src/strategy/mod.rs:66:10 [INFO] [stdout] | [INFO] [stdout] 66 | pub enum StrategyAction { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MarketState` is never constructed [INFO] [stdout] --> src/strategy/mod.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 98 | pub struct MarketState { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RiskLimits` is never constructed [INFO] [stdout] --> src/strategy/mod.rs:116:12 [INFO] [stdout] | [INFO] [stdout] 116 | pub struct RiskLimits { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BinanceReturnSignal` is never constructed [INFO] [stdout] --> src/strategy/mod.rs:145:12 [INFO] [stdout] | [INFO] [stdout] 145 | pub struct BinanceReturnSignal { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SignalSnapshot` is never constructed [INFO] [stdout] --> src/strategy/mod.rs:154:12 [INFO] [stdout] | [INFO] [stdout] 154 | pub struct SignalSnapshot { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SignalMode` is never used [INFO] [stdout] --> src/strategy/mod.rs:165:10 [INFO] [stdout] | [INFO] [stdout] 165 | pub enum SignalMode { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ExecutionMode` is never used [INFO] [stdout] --> src/strategy/mod.rs:171:10 [INFO] [stdout] | [INFO] [stdout] 171 | pub type ExecutionMode = SignalMode; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W_OBI` is never used [INFO] [stdout] --> src/strategy/mod.rs:175:7 [INFO] [stdout] | [INFO] [stdout] 175 | const W_OBI: f64 = 0.25; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W_ORACLE_LAG` is never used [INFO] [stdout] --> src/strategy/mod.rs:176:7 [INFO] [stdout] | [INFO] [stdout] 176 | const W_ORACLE_LAG: f64 = 0.40; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `W_BINANCE_RETURN` is never used [INFO] [stdout] --> src/strategy/mod.rs:177:7 [INFO] [stdout] | [INFO] [stdout] 177 | const W_BINANCE_RETURN: f64 = 0.35; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ENTRY_THRESHOLD` is never used [INFO] [stdout] --> src/strategy/mod.rs:181:7 [INFO] [stdout] | [INFO] [stdout] 181 | const ENTRY_THRESHOLD: f64 = 0.40; // score > this → enter [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MIN_ORACLE_LAG_BPS` is never used [INFO] [stdout] --> src/strategy/mod.rs:182:7 [INFO] [stdout] | [INFO] [stdout] 182 | const MIN_ORACLE_LAG_BPS: f64 = 1.5; // oracle must be lagging [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ENTRY_SPEND_USDC` is never used [INFO] [stdout] --> src/strategy/mod.rs:183:7 [INFO] [stdout] | [INFO] [stdout] 183 | const ENTRY_SPEND_USDC: f64 = 20.0; // dollars per entry [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EXIT_TARGET_PCT` is never used [INFO] [stdout] --> src/strategy/mod.rs:184:7 [INFO] [stdout] | [INFO] [stdout] 184 | const EXIT_TARGET_PCT: f64 = 0.10; // 10% profit target [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EXIT_TIME_STOP_MS` is never used [INFO] [stdout] --> src/strategy/mod.rs:185:7 [INFO] [stdout] | [INFO] [stdout] 185 | const EXIT_TIME_STOP_MS: i64 = 8_000; // 8s max hold [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EXIT_SIGNAL_REVERSAL` is never used [INFO] [stdout] --> src/strategy/mod.rs:186:7 [INFO] [stdout] | [INFO] [stdout] 186 | const EXIT_SIGNAL_REVERSAL: f64 = -0.20; // exit if signal flips against us [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `COOLDOWN_MS` is never used [INFO] [stdout] --> src/strategy/mod.rs:187:7 [INFO] [stdout] | [INFO] [stdout] 187 | const COOLDOWN_MS: i64 = 3_000; // 3s between scalps [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAKER_EXIT_TIMEOUT_MS` is never used [INFO] [stdout] --> src/strategy/mod.rs:188:7 [INFO] [stdout] | [INFO] [stdout] 188 | const MAKER_EXIT_TIMEOUT_MS: i64 = 4_000; // 4s GTD timeout, then taker exit [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `quantize_buy` is never used [INFO] [stdout] --> src/strategy/mod.rs:191:4 [INFO] [stdout] | [INFO] [stdout] 191 | fn quantize_buy(price: f64, tick_size: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `quantize_sell` is never used [INFO] [stdout] --> src/strategy/mod.rs:200:4 [INFO] [stdout] | [INFO] [stdout] 200 | fn quantize_sell(price: f64, tick_size: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_signal` is never used [INFO] [stdout] --> src/strategy/mod.rs:211:8 [INFO] [stdout] | [INFO] [stdout] 211 | pub fn compute_signal( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `evaluate_scalp` is never used [INFO] [stdout] --> src/strategy/mod.rs:269:8 [INFO] [stdout] | [INFO] [stdout] 269 | pub fn evaluate_scalp( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `evaluate` is never used [INFO] [stdout] --> src/strategy/mod.rs:427:8 [INFO] [stdout] | [INFO] [stdout] 427 | pub fn evaluate( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LatencyTracker` is never constructed [INFO] [stdout] --> src/telemetry/mod.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct LatencyTracker { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `record`, `percentiles`, `log_summary`, and `reset` are never used [INFO] [stdout] --> src/telemetry/mod.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl LatencyTracker { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn record(&self, stage: &str, latency_us: u64) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn percentiles(&self, stage: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn log_summary(&self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn reset(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Percentiles` is never constructed [INFO] [stdout] --> src/telemetry/mod.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct Percentiles { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HealthCheck` is never constructed [INFO] [stdout] --> src/telemetry/mod.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 89 | pub struct HealthCheck { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PriceLevel` is never constructed [INFO] [stdout] --> src/types.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct PriceLevel { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `BookSide` is never used [INFO] [stdout] --> src/types.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | pub type BookSide = BTreeMap; // price_cents -> size [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OrderBook` is never constructed [INFO] [stdout] --> src/types.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct OrderBook { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BBO` is never constructed [INFO] [stdout] --> src/types.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub struct BBO { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TickSize` is never constructed [INFO] [stdout] --> src/types.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct TickSize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Trade` is never constructed [INFO] [stdout] --> src/types.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct Trade { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RefPrice` is never constructed [INFO] [stdout] --> src/types.rs:65:12 [INFO] [stdout] | [INFO] [stdout] 65 | pub struct RefPrice { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `RefSource` is never used [INFO] [stdout] --> src/types.rs:74:10 [INFO] [stdout] | [INFO] [stdout] 74 | pub enum RefSource { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BinanceDepthUpdate` is never constructed [INFO] [stdout] --> src/types.rs:85:12 [INFO] [stdout] | [INFO] [stdout] 85 | pub struct BinanceDepthUpdate { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BinanceBookTicker` is never constructed [INFO] [stdout] --> src/types.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 97 | pub struct BinanceBookTicker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `OrderSide` is never used [INFO] [stdout] --> src/types.rs:111:10 [INFO] [stdout] | [INFO] [stdout] 111 | pub enum OrderSide { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `OrderType` is never used [INFO] [stdout] --> src/types.rs:117:10 [INFO] [stdout] | [INFO] [stdout] 117 | pub enum OrderType { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OrderRequest` is never constructed [INFO] [stdout] --> src/types.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 124 | pub struct OrderRequest { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `OrderStatus` is never used [INFO] [stdout] --> src/types.rs:134:10 [INFO] [stdout] | [INFO] [stdout] 134 | pub enum OrderStatus { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OrderState` is never constructed [INFO] [stdout] --> src/types.rs:145:12 [INFO] [stdout] | [INFO] [stdout] 145 | pub struct OrderState { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ObiSignal` is never constructed [INFO] [stdout] --> src/types.rs:159:12 [INFO] [stdout] | [INFO] [stdout] 159 | pub struct ObiSignal { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OracleLagSignal` is never constructed [INFO] [stdout] --> src/types.rs:168:12 [INFO] [stdout] | [INFO] [stdout] 168 | pub struct OracleLagSignal { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `OracleLagDirection` is never used [INFO] [stdout] --> src/types.rs:178:10 [INFO] [stdout] | [INFO] [stdout] 178 | pub enum OracleLagDirection { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RecordedEvent` is never constructed [INFO] [stdout] --> src/types.rs:188:12 [INFO] [stdout] | [INFO] [stdout] 188 | pub struct RecordedEvent { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BotConfig` is never constructed [INFO] [stdout] --> src/types.rs:198:12 [INFO] [stdout] | [INFO] [stdout] 198 | pub struct BotConfig { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `USER_WS_URL` is never used [INFO] [stdout] --> src/user_ws/mod.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | const USER_WS_URL: &str = "wss://ws-subscriptions-clob.polymarket.com/ws/user"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `UserEvent` is never used [INFO] [stdout] --> src/user_ws/mod.rs:20:10 [INFO] [stdout] | [INFO] [stdout] 20 | pub enum UserEvent { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/user_ws/mod.rs:41:14 [INFO] [stdout] | [INFO] [stdout] 41 | pub async fn run( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect_and_stream` is never used [INFO] [stdout] --> src/user_ws/mod.rs:57:10 [INFO] [stdout] | [INFO] [stdout] 57 | async fn connect_and_stream( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `log_tx` [INFO] [stdout] --> src/feeds/market_ws.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | log_tx: mpsc::Sender, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_tx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_and_dispatch` is never used [INFO] [stdout] --> src/user_ws/mod.rs:106:4 [INFO] [stdout] | [INFO] [stdout] 106 | fn parse_and_dispatch( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/config_v2.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Config { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 11 | pub lookback_ms: i64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub opposite_signal_exit_score: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub max_one_position: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub wallet_check_interval_s: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub window_seconds: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 45 | pub start_delay_s: u64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 46 | pub cancel_at_s: u64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub tune: TuneConfig, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Config` 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 fields are never read [INFO] [stdout] --> src/config_v2.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 63 | pub struct TuneConfig { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 64 | // Pair-cost gates [INFO] [stdout] 65 | pub pair_cost_full_size_max: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 66 | pub pair_cost_reduce_max: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 67 | pub pair_cost_strong_only_max: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 68 | // Residual controls [INFO] [stdout] 69 | pub weak_signal_max_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 70 | pub med_signal_max_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 71 | pub strong_signal_max_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 72 | pub extreme_signal_max_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 73 | pub soft_cap_fraction: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 74 | pub soft_freeze_pair_cost: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 75 | // Exp-heavy override [INFO] [stdout] 76 | pub exp_heavy_override_score: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 77 | pub exp_heavy_strong_score: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 78 | pub exp_heavy_pair_cost_max: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 79 | pub base_cheap_target: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 80 | pub neutral_cheap_target: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 81 | pub exp_heavy_cheap_target: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 82 | // Extreme-price filter [INFO] [stdout] 83 | pub extreme_reduce_exp_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 84 | pub extreme_reduce_cheap_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 85 | pub extreme_hard_exp_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 86 | pub extreme_hard_cheap_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 87 | pub extreme_size_multiplier: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 88 | pub extreme_edge_add_cents: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 89 | // Rolling regime filter [INFO] [stdout] 90 | pub rolling_short_windows: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 91 | pub rolling_pause_pnl_per_window: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 92 | pub rolling_pause_pair_cost: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 93 | pub rolling_resume_pnl_per_window: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 94 | pub rolling_resume_pair_cost: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 95 | // Min pairs before pair-cost gating activates [INFO] [stdout] 96 | pub min_pairs_for_cost_gate: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TuneConfig` 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: enum `SignalBand` is never used [INFO] [stdout] --> src/config_v2.rs:135:10 [INFO] [stdout] | [INFO] [stdout] 135 | pub enum SignalBand { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PairCostMode` is never used [INFO] [stdout] --> src/config_v2.rs:144:10 [INFO] [stdout] | [INFO] [stdout] 144 | pub enum PairCostMode { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `signal_band`, `max_ratio_for_band`, `pair_cost_mode`, and `cheap_target` are never used [INFO] [stdout] --> src/config_v2.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 151 | impl TuneConfig { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 152 | pub fn signal_band(&self, score: f64) -> SignalBand { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub fn max_ratio_for_band(&self, band: SignalBand) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | pub fn pair_cost_mode(&self, pair_cost: f64, matched_pairs: f64) -> PairCostMode { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn cheap_target(&self, score: f64, pred_winner_is_exp: bool, pair_cost: Option) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `session_start_balance` is never read [INFO] [stdout] --> src/state.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct SharedState { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 13 | pub session_start_balance: Arc>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SharedState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_position`, `get_position`, `is_cooling_down`, and `add_pnl` are never used [INFO] [stdout] --> src/state.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl SharedState { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn set_position(&self, pos: Position) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn get_position(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn is_cooling_down(&self, now_ms: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn add_pnl(&self, pnl: f64) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeatureSnapshot` is never constructed [INFO] [stdout] --> src/types_v2.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 92 | pub struct FeatureSnapshot { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLOB_BASE` is never used [INFO] [stdout] --> src/feeds/polymarket_ws.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const CLOB_BASE: &str = "https://clob.polymarket.com"; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `POLL_INTERVAL_MS` is never used [INFO] [stdout] --> src/feeds/polymarket_ws.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const POLL_INTERVAL_MS: u64 = 100; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_polymarket_ws_task` is never used [INFO] [stdout] --> src/feeds/polymarket_ws.rs:14:14 [INFO] [stdout] | [INFO] [stdout] 14 | pub async fn run_polymarket_ws_task( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fetch_price` is never used [INFO] [stdout] --> src/feeds/polymarket_ws.rs:64:10 [INFO] [stdout] | [INFO] [stdout] 64 | async fn fetch_price(client: &reqwest::Client, token_id: &str, side: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect_and_stream` is never used [INFO] [stdout] --> src/feeds/rtds.rs:40:10 [INFO] [stdout] | [INFO] [stdout] 40 | async fn connect_and_stream( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `USER_WS_URL` is never used [INFO] [stdout] --> src/feeds/user_ws.rs:21:7 [INFO] [stdout] | [INFO] [stdout] 21 | const USER_WS_URL: &str = "wss://ws-subscriptions-clob.polymarket.com/ws/user"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEARTBEAT_SECS` is never used [INFO] [stdout] --> src/feeds/user_ws.rs:22:7 [INFO] [stdout] | [INFO] [stdout] 22 | const HEARTBEAT_SECS: u64 = 8; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RECONNECT_DELAY_MS` is never used [INFO] [stdout] --> src/feeds/user_ws.rs:23:7 [INFO] [stdout] | [INFO] [stdout] 23 | const RECONNECT_DELAY_MS: u64 = 2000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserFillEvent` is never constructed [INFO] [stdout] --> src/feeds/user_ws.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub struct UserFillEvent { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_user_ws_task` is never used [INFO] [stdout] --> src/feeds/user_ws.rs:40:14 [INFO] [stdout] | [INFO] [stdout] 40 | pub async fn run_user_ws_task( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_move_bps` is never used [INFO] [stdout] --> src/signals/features.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn compute_move_bps(mid_now: f64, mid_then: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_basis_bps` is never used [INFO] [stdout] --> src/signals/features.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn compute_basis_bps(binance_mid: f64, chainlink_price: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `latency_ms` is never read [INFO] [stdout] --> src/execution_v2/executor.rs:320:9 [INFO] [stdout] | [INFO] [stdout] 316 | pub struct FillResult { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 320 | pub latency_ms: i64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExecutorHandle` is never constructed [INFO] [stdout] --> src/execution_v2/executor.rs:466:12 [INFO] [stdout] | [INFO] [stdout] 466 | pub struct ExecutorHandle { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `sell_fok`, and `buy_fok` are never used [INFO] [stdout] --> src/execution_v2/executor.rs:472:18 [INFO] [stdout] | [INFO] [stdout] 471 | impl ExecutorHandle { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 472 | pub async fn new(config: &Config) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 485 | pub async fn sell_fok(&self, token_id: &str, shares: f64) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 495 | pub async fn buy_fok(&self, token_id: &str, share_base: f64, ask_price: f64) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `leg1_token_id` is never read [INFO] [stdout] --> src/portfolio/position_manager.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 18 | struct PairTrade { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 22 | leg1_token_id: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PairTrade` 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: unused variable: `max_fast` [INFO] [stdout] --> src/signals/signal_engine.rs:177:13 [INFO] [stdout] | [INFO] [stdout] 177 | let mut max_fast = 0.0f64; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_fast` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `log_tx_hb` [INFO] [stdout] --> src/signals/signal_engine.rs:172:9 [INFO] [stdout] | [INFO] [stdout] 172 | let log_tx_hb = log_tx.clone(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_log_tx_hb` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `latency_ms` [INFO] [stdout] --> src/execution_v2/executor.rs:259:21 [INFO] [stdout] | [INFO] [stdout] 259 | let latency_ms = start.elapsed().as_millis() as i64; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_latency_ms` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `signal` [INFO] [stdout] --> src/portfolio/position_manager.rs:82:46 [INFO] [stdout] | [INFO] [stdout] 82 | notional, ack_ts_ms, signal, .. [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `signal: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reason` [INFO] [stdout] --> src/portfolio/position_manager.rs:156:67 [INFO] [stdout] | [INFO] [stdout] 156 | opposite_side, filled_price, filled_size, reason, .. [INFO] [stdout] | ^^^^^^ help: try ignoring the field: `reason: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEPTH_URL` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | const DEPTH_URL: &str = "wss://fstream.binance.com/ws/btcusdt@depth10@100ms"; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BOOKTICKER_URL` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:21:7 [INFO] [stdout] | [INFO] [stdout] 21 | const BOOKTICKER_URL: &str = "wss://fstream.binance.com/ws/btcusdt@bookTicker"; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BinanceEvent` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:25:10 [INFO] [stdout] | [INFO] [stdout] 25 | pub enum BinanceEvent { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_obi` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn compute_obi(bids: &[PriceLevel], asks: &[PriceLevel], max_levels: usize) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:55:14 [INFO] [stdout] | [INFO] [stdout] 55 | pub async fn run(tx: mpsc::UnboundedSender) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_depth` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:63:10 [INFO] [stdout] | [INFO] [stdout] 63 | async fn run_depth(tx: mpsc::UnboundedSender) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect_depth` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:74:10 [INFO] [stdout] | [INFO] [stdout] 74 | async fn connect_depth( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_bookticker` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:136:10 [INFO] [stdout] | [INFO] [stdout] 136 | async fn run_bookticker(tx: mpsc::UnboundedSender) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect_bookticker` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:147:10 [INFO] [stdout] | [INFO] [stdout] 147 | async fn connect_bookticker( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_depth` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:195:4 [INFO] [stdout] | [INFO] [stdout] 195 | fn parse_depth(text: &str, local_recv_us: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_bookticker` is never used [INFO] [stdout] --> src/binance_l2/mod.rs:223:4 [INFO] [stdout] | [INFO] [stdout] 223 | fn parse_bookticker(text: &str, local_recv_us: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `AuthedClient` is never used [INFO] [stdout] --> src/execution/mod.rs:28:6 [INFO] [stdout] | [INFO] [stdout] 28 | type AuthedClient = Client>; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `U256` is never used [INFO] [stdout] --> src/execution/mod.rs:29:6 [INFO] [stdout] | [INFO] [stdout] 29 | type U256 = polymarket_client_sdk::types::U256; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Decimal` is never used [INFO] [stdout] --> src/execution/mod.rs:30:6 [INFO] [stdout] | [INFO] [stdout] 30 | type Decimal = polymarket_client_sdk::types::Decimal; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLOB_BASE` is never used [INFO] [stdout] --> src/execution/mod.rs:32:7 [INFO] [stdout] | [INFO] [stdout] 32 | const CLOB_BASE: &str = "https://clob.polymarket.com"; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `POLYGON_RPC` is never used [INFO] [stdout] --> src/execution/mod.rs:35:7 [INFO] [stdout] | [INFO] [stdout] 35 | const POLYGON_RPC: &str = "https://polygon-bor-rpc.publicnode.com"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CTF_CONTRACT` is never used [INFO] [stdout] --> src/execution/mod.rs:36:7 [INFO] [stdout] | [INFO] [stdout] 36 | const CTF_CONTRACT: &str = "0x4D97DCd97eC945f40cF65F87097ACe5EA0476045"; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TickSizeRegistry` is never constructed [INFO] [stdout] --> src/execution/mod.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct TickSizeRegistry { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `update`, and `quantize` are never used [INFO] [stdout] --> src/execution/mod.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 44 | impl TickSizeRegistry { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 45 | pub fn new() -> Self { Self { tick_sizes: HashMap::new() } } [INFO] [stdout] | ^^^ [INFO] [stdout] 46 | [INFO] [stdout] 47 | pub fn update(&mut self, ts: &TickSize) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn quantize(&self, token_id: &str, price: f64) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OrderResult` is never constructed [INFO] [stdout] --> src/execution/mod.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct OrderResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OrderTracking` is never constructed [INFO] [stdout] --> src/execution/mod.rs:73:12 [INFO] [stdout] | [INFO] [stdout] 73 | pub struct OrderTracking { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TokenCache` is never constructed [INFO] [stdout] --> src/execution/mod.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | struct TokenCache { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `get_or_parse` are never used [INFO] [stdout] --> src/execution/mod.rs:90:8 [INFO] [stdout] | [INFO] [stdout] 89 | impl TokenCache { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 90 | fn new() -> Self { Self { cache: HashMap::with_capacity(8) } } [INFO] [stdout] | ^^^ [INFO] [stdout] 91 | [INFO] [stdout] 92 | fn get_or_parse(&mut self, token_id: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExecutionEngine` is never constructed [INFO] [stdout] --> src/execution/mod.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 108 | pub struct ExecutionEngine { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/execution/mod.rs:127:12 [INFO] [stdout] | [INFO] [stdout] 126 | impl ExecutionEngine { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 127 | pub fn new(telemetry: Arc, paper_mode: bool) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 143 | pub fn set_credentials(&mut self, private_key: String, api_key: String, api_secret: String, api_passphrase: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub async fn ensure_auth(&self) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 199 | pub async fn warm_token(&self, token_id: &str) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | pub async fn update_tick_size(&self, ts: &TickSize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 211 | pub async fn set_neg_risk(&self, token_id: &str) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 224 | pub async fn check_token_balance(&self, wallet_address: &str, token_id: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 279 | pub fn wallet_address(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 287 | pub async fn check_usdc_balance(&self, wallet_address: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 307 | pub async fn check_clob_balance(&self, token_id: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 319 | pub async fn taker_fok_buy(&self, token_id: &str, spend_usdc: f64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 345 | pub async fn maker_gtc_buy(&self, token_id: &str, shares: f64, price: f64, post_only: bool) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 367 | pub async fn taker_fok_sell(&self, token_id: &str, shares: f64, min_price: f64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 386 | pub async fn maker_gtc_sell(&self, token_id: &str, shares: f64, price: f64, post_only: bool) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 406 | pub async fn cancel_order(&self, order_id: &str) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 418 | pub async fn cancel_all(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 431 | pub async fn open_order_count(&self) -> usize { self.open_orders.read().await.len() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 432 | pub async fn get_open_orders(&self) -> Vec<(String, OrderTracking)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 435 | pub fn is_paper(&self) -> bool { self.paper_mode } [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 436 | pub fn is_ready(&self) -> bool { self.private_key.is_some() && self.api_key.is_some() } [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `do_fok_buy`, `do_gtc_buy`, `do_fok_sell`, `do_fok_sell_at_price`, and `do_gtc_sell` are never used [INFO] [stdout] --> src/execution/mod.rs:444:14 [INFO] [stdout] | [INFO] [stdout] 441 | impl ExecutionEngine { [INFO] [stdout] | -------------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 444 | async fn do_fok_buy(client: &AuthedClient, signer: &PrivateKeySigner, token_u256: U256, spend_usdc: f64) -> Result Result src/leadlag_lab/mod.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct EventRecorder { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `record`, `count`, and `path` are never used [INFO] [stdout] --> src/leadlag_lab/mod.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 27 | impl EventRecorder { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 28 | /// Create a new recorder. Creates output directory if needed. [INFO] [stdout] 29 | pub fn new(output_dir: &Path) -> Result> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn record(&self, event: &RecordedEvent) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn count(&self) -> u64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn path(&self) -> &Path { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PricePoint` is never constructed [INFO] [stdout] --> src/leadlag_lab/mod.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct PricePoint { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LagResult` is never constructed [INFO] [stdout] --> src/leadlag_lab/mod.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 89 | pub struct LagResult { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cross_correlate` is never used [INFO] [stdout] --> src/leadlag_lab/mod.rs:97:8 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn cross_correlate( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `to_returns` is never used [INFO] [stdout] --> src/leadlag_lab/mod.rs:128:4 [INFO] [stdout] | [INFO] [stdout] 128 | fn to_returns(points: &[PricePoint]) -> Vec<(i64, f64)> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `correlation_at_lag` is never used [INFO] [stdout] --> src/leadlag_lab/mod.rs:146:4 [INFO] [stdout] | [INFO] [stdout] 146 | fn correlation_at_lag( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_analysis` is never used [INFO] [stdout] --> src/leadlag_lab/mod.rs:203:8 [INFO] [stdout] | [INFO] [stdout] 203 | pub fn print_analysis(results: &[LagResult], label_a: &str, label_b: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MARKET_WS_URL` is never used [INFO] [stdout] --> src/market_ws/mod.rs:17:7 [INFO] [stdout] | [INFO] [stdout] 17 | const MARKET_WS_URL: &str = "wss://ws-subscriptions-clob.polymarket.com/ws/market"; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GAMMA_API` is never used [INFO] [stdout] --> src/market_ws/mod.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const GAMMA_API: &str = "https://gamma-api.polymarket.com"; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CLOB_API` is never used [INFO] [stdout] --> src/market_ws/mod.rs:19:7 [INFO] [stdout] | [INFO] [stdout] 19 | const CLOB_API: &str = "https://clob.polymarket.com"; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `poll_book_rest` is never used [INFO] [stdout] --> src/market_ws/mod.rs:23:14 [INFO] [stdout] | [INFO] [stdout] 23 | pub async fn poll_book_rest(token_id: &str) -> Option<(f64, f64)> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TokenInfo` is never constructed [INFO] [stdout] --> src/market_ws/mod.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 56 | pub struct TokenInfo { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fetch_btc_tokens` is never used [INFO] [stdout] --> src/market_ws/mod.rs:64:14 [INFO] [stdout] | [INFO] [stdout] 64 | pub async fn fetch_btc_tokens() -> Result<(Vec, Vec), Box> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MarketEvent` is never used [INFO] [stdout] --> src/market_ws/mod.rs:131:10 [INFO] [stdout] | [INFO] [stdout] 131 | pub enum MarketEvent { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SubscribeMsg` is never constructed [INFO] [stdout] --> src/market_ws/mod.rs:142:8 [INFO] [stdout] | [INFO] [stdout] 142 | struct SubscribeMsg { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/market_ws/mod.rs:151:14 [INFO] [stdout] | [INFO] [stdout] 151 | pub async fn run( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect_and_stream` is never used [INFO] [stdout] --> src/market_ws/mod.rs:187:10 [INFO] [stdout] | [INFO] [stdout] 187 | async fn connect_and_stream( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_and_dispatch` is never used [INFO] [stdout] --> src/market_ws/mod.rs:295:4 [INFO] [stdout] | [INFO] [stdout] 295 | fn parse_and_dispatch( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_book` is never used [INFO] [stdout] --> src/market_ws/mod.rs:358:4 [INFO] [stdout] | [INFO] [stdout] 358 | fn parse_book(v: &serde_json::Value, local_recv_us: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_bbo` is never used [INFO] [stdout] --> src/market_ws/mod.rs:384:4 [INFO] [stdout] | [INFO] [stdout] 384 | fn parse_bbo(v: &serde_json::Value, local_recv_us: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_trade` is never used [INFO] [stdout] --> src/market_ws/mod.rs:399:4 [INFO] [stdout] | [INFO] [stdout] 399 | fn parse_trade(v: &serde_json::Value, local_recv_us: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_tick_size` is never used [INFO] [stdout] --> src/market_ws/mod.rs:409:4 [INFO] [stdout] | [INFO] [stdout] 409 | fn parse_tick_size(v: &serde_json::Value) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RTDS_WS_URL` is never used [INFO] [stdout] --> src/rtds/mod.rs:18:7 [INFO] [stdout] | [INFO] [stdout] 18 | const RTDS_WS_URL: &str = "wss://ws-live-data.polymarket.com"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PING_INTERVAL_S` is never used [INFO] [stdout] --> src/rtds/mod.rs:19:7 [INFO] [stdout] | [INFO] [stdout] 19 | const PING_INTERVAL_S: u64 = 5; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `RtdsEvent` is never used [INFO] [stdout] --> src/rtds/mod.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | pub enum RtdsEvent { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RtdsSubscription` is never constructed [INFO] [stdout] --> src/rtds/mod.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | struct RtdsSubscription { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RtdsSubTopic` is never constructed [INFO] [stdout] --> src/rtds/mod.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | struct RtdsSubTopic { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/rtds/mod.rs:42:14 [INFO] [stdout] | [INFO] [stdout] 42 | pub async fn run( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect_and_stream` is never used [INFO] [stdout] --> src/rtds/mod.rs:56:10 [INFO] [stdout] | [INFO] [stdout] 56 | async fn connect_and_stream( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_rtds_price` is never used [INFO] [stdout] --> src/rtds/mod.rs:146:4 [INFO] [stdout] | [INFO] [stdout] 146 | fn parse_rtds_price(text: &str, local_recv_us: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_events` is never used [INFO] [stdout] --> src/sim/mod.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn load_events(path: &Path) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `replay` is never used [INFO] [stdout] --> src/sim/mod.rs:42:14 [INFO] [stdout] | [INFO] [stdout] 42 | pub async fn replay( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Entering` and `Exiting` are never constructed [INFO] [stdout] --> src/strategy/mod.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 22 | pub enum PositionState { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 23 | Flat, // No position [INFO] [stdout] 24 | Entering, // Entry order submitted, waiting for fill [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 25 | Long, // Holding shares, waiting for exit signal [INFO] [stdout] 26 | Exiting, // Exit order submitted, waiting for fill [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PositionState` 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 `exit_posted_at_us` is never read [INFO] [stdout] --> src/strategy/mod.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct Position { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 39 | pub exit_posted_at_us: i64, // when exit order was posted [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Position` 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`, `spend_usdc`, `side_label`, and `reason` are never read [INFO] [stdout] --> src/strategy/mod.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 68 | TakerEntry { [INFO] [stdout] | ---------- fields in this variant [INFO] [stdout] 69 | token_id: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 70 | spend_usdc: f64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 71 | side_label: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 72 | reason: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StrategyAction` 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`, `shares`, `price`, and `reason` are never read [INFO] [stdout] --> src/strategy/mod.rs:76:9 [INFO] [stdout] | [INFO] [stdout] 75 | MakerExit { [INFO] [stdout] | --------- fields in this variant [INFO] [stdout] 76 | token_id: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 77 | shares: f64, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 78 | price: f64, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 79 | reason: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StrategyAction` 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 `0` is never read [INFO] [stdout] --> src/strategy/mod.rs:88:17 [INFO] [stdout] | [INFO] [stdout] 88 | CancelOrder(String), [INFO] [stdout] | ----------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `StrategyAction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 88 - CancelOrder(String), [INFO] [stdout] 88 + CancelOrder(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TakerExit` is never constructed [INFO] [stdout] --> src/strategy/mod.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 66 | pub enum StrategyAction { [INFO] [stdout] | -------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 82 | TakerExit { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StrategyAction` 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 `up_filled`, `dn_filled`, and `window_start_ts` are never read [INFO] [stdout] --> src/strategy/mod.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 98 | pub struct MarketState { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 105 | pub up_filled: f64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 106 | pub dn_filled: f64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 107 | pub window_start_ts: i64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MarketState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `max_position_per_side`, `max_open_orders`, `max_cancel_rate`, `cancel_count_this_window`, and `order_count_this_window` are never read [INFO] [stdout] --> src/strategy/mod.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 116 | pub struct RiskLimits { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 117 | pub max_position_per_side: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 118 | pub max_open_orders: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 119 | pub max_cancel_rate: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 120 | pub cancel_count_this_window: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 121 | pub order_count_this_window: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RiskLimits` 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 `return_500ms` and `timestamp` are never read [INFO] [stdout] --> src/strategy/mod.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 145 | pub struct BinanceReturnSignal { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 146 | pub return_2s: f64, // 2-second return (bps) [INFO] [stdout] 147 | pub return_500ms: f64, // 500ms return (bps) [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 148 | pub timestamp: i64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BinanceReturnSignal` 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 `obi_component`, `oracle_lag_component`, `binance_return_component`, and `basis_bps` are never read [INFO] [stdout] --> src/strategy/mod.rs:156:9 [INFO] [stdout] | [INFO] [stdout] 154 | pub struct SignalSnapshot { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 155 | pub score: f64, [INFO] [stdout] 156 | pub obi_component: f64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 157 | pub oracle_lag_component: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 158 | pub binance_return_component: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 159 | pub basis_bps: f64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SignalSnapshot` 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: type alias `ExecutionMode` is never used [INFO] [stdout] --> src/strategy/mod.rs:171:10 [INFO] [stdout] | [INFO] [stdout] 171 | pub type ExecutionMode = SignalMode; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EXIT_SIGNAL_REVERSAL` is never used [INFO] [stdout] --> src/strategy/mod.rs:186:7 [INFO] [stdout] | [INFO] [stdout] 186 | const EXIT_SIGNAL_REVERSAL: f64 = -0.20; // exit if signal flips against us [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAKER_EXIT_TIMEOUT_MS` is never used [INFO] [stdout] --> src/strategy/mod.rs:188:7 [INFO] [stdout] | [INFO] [stdout] 188 | const MAKER_EXIT_TIMEOUT_MS: i64 = 4_000; // 4s GTD timeout, then taker exit [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `evaluate` is never used [INFO] [stdout] --> src/strategy/mod.rs:427:8 [INFO] [stdout] | [INFO] [stdout] 427 | pub fn evaluate( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LatencyTracker` is never constructed [INFO] [stdout] --> src/telemetry/mod.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct LatencyTracker { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `record`, `percentiles`, `log_summary`, and `reset` are never used [INFO] [stdout] --> src/telemetry/mod.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl LatencyTracker { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn record(&self, stage: &str, latency_us: u64) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn percentiles(&self, stage: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn log_summary(&self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub fn reset(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Percentiles` is never constructed [INFO] [stdout] --> src/telemetry/mod.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct Percentiles { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HealthCheck` is never constructed [INFO] [stdout] --> src/telemetry/mod.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 89 | pub struct HealthCheck { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PriceLevel` is never constructed [INFO] [stdout] --> src/types.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct PriceLevel { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `BookSide` is never used [INFO] [stdout] --> src/types.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | pub type BookSide = BTreeMap; // price_cents -> size [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OrderBook` is never constructed [INFO] [stdout] --> src/types.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct OrderBook { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BBO` is never constructed [INFO] [stdout] --> src/types.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub struct BBO { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TickSize` is never constructed [INFO] [stdout] --> src/types.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct TickSize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Trade` is never constructed [INFO] [stdout] --> src/types.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 52 | pub struct Trade { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RefPrice` is never constructed [INFO] [stdout] --> src/types.rs:65:12 [INFO] [stdout] | [INFO] [stdout] 65 | pub struct RefPrice { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `RefSource` is never used [INFO] [stdout] --> src/types.rs:74:10 [INFO] [stdout] | [INFO] [stdout] 74 | pub enum RefSource { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BinanceDepthUpdate` is never constructed [INFO] [stdout] --> src/types.rs:85:12 [INFO] [stdout] | [INFO] [stdout] 85 | pub struct BinanceDepthUpdate { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BinanceBookTicker` is never constructed [INFO] [stdout] --> src/types.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 97 | pub struct BinanceBookTicker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `OrderSide` is never used [INFO] [stdout] --> src/types.rs:111:10 [INFO] [stdout] | [INFO] [stdout] 111 | pub enum OrderSide { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `OrderType` is never used [INFO] [stdout] --> src/types.rs:117:10 [INFO] [stdout] | [INFO] [stdout] 117 | pub enum OrderType { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OrderRequest` is never constructed [INFO] [stdout] --> src/types.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 124 | pub struct OrderRequest { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `OrderStatus` is never used [INFO] [stdout] --> src/types.rs:134:10 [INFO] [stdout] | [INFO] [stdout] 134 | pub enum OrderStatus { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OrderState` is never constructed [INFO] [stdout] --> src/types.rs:145:12 [INFO] [stdout] | [INFO] [stdout] 145 | pub struct OrderState { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RecordedEvent` is never constructed [INFO] [stdout] --> src/types.rs:188:12 [INFO] [stdout] | [INFO] [stdout] 188 | pub struct RecordedEvent { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/types.rs:199:9 [INFO] [stdout] | [INFO] [stdout] 198 | pub struct BotConfig { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 199 | pub poly_private_key: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 200 | pub poly_api_key: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 201 | pub poly_api_secret: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 202 | pub poly_api_passphrase: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 203 | pub market_slug: String, // e.g. "btc-updown-5m" [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 204 | pub window_seconds: u64, // 300 [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 207 | pub max_position: f64, // max shares per side [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 208 | pub max_open_orders: usize, // kill switch [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 209 | pub stop_loss_usd: f64, // session kill switch [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 210 | pub obi_threshold: f64, // signal threshold [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 211 | pub oracle_lag_threshold_bps: f64,// signal threshold [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BotConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `USER_WS_URL` is never used [INFO] [stdout] --> src/user_ws/mod.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | const USER_WS_URL: &str = "wss://ws-subscriptions-clob.polymarket.com/ws/user"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `UserEvent` is never used [INFO] [stdout] --> src/user_ws/mod.rs:20:10 [INFO] [stdout] | [INFO] [stdout] 20 | pub enum UserEvent { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run` is never used [INFO] [stdout] --> src/user_ws/mod.rs:41:14 [INFO] [stdout] | [INFO] [stdout] 41 | pub async fn run( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect_and_stream` is never used [INFO] [stdout] --> src/user_ws/mod.rs:57:10 [INFO] [stdout] | [INFO] [stdout] 57 | async fn connect_and_stream( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_and_dispatch` is never used [INFO] [stdout] --> src/user_ws/mod.rs:106:4 [INFO] [stdout] | [INFO] [stdout] 106 | fn parse_and_dispatch( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/config_v2.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Config { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 11 | pub lookback_ms: i64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub opposite_signal_exit_score: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub max_one_position: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub wallet_check_interval_s: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub window_seconds: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 45 | pub start_delay_s: u64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 46 | pub cancel_at_s: u64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub tune: TuneConfig, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Config` 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 fields are never read [INFO] [stdout] --> src/config_v2.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 63 | pub struct TuneConfig { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 64 | // Pair-cost gates [INFO] [stdout] 65 | pub pair_cost_full_size_max: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 66 | pub pair_cost_reduce_max: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 67 | pub pair_cost_strong_only_max: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 68 | // Residual controls [INFO] [stdout] 69 | pub weak_signal_max_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 70 | pub med_signal_max_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 71 | pub strong_signal_max_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 72 | pub extreme_signal_max_ratio: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 73 | pub soft_cap_fraction: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 74 | pub soft_freeze_pair_cost: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 75 | // Exp-heavy override [INFO] [stdout] 76 | pub exp_heavy_override_score: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 77 | pub exp_heavy_strong_score: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 78 | pub exp_heavy_pair_cost_max: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 79 | pub base_cheap_target: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 80 | pub neutral_cheap_target: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 81 | pub exp_heavy_cheap_target: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 82 | // Extreme-price filter [INFO] [stdout] 83 | pub extreme_reduce_exp_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 84 | pub extreme_reduce_cheap_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 85 | pub extreme_hard_exp_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 86 | pub extreme_hard_cheap_price: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 87 | pub extreme_size_multiplier: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 88 | pub extreme_edge_add_cents: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 89 | // Rolling regime filter [INFO] [stdout] 90 | pub rolling_short_windows: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 91 | pub rolling_pause_pnl_per_window: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 92 | pub rolling_pause_pair_cost: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 93 | pub rolling_resume_pnl_per_window: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 94 | pub rolling_resume_pair_cost: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 95 | // Min pairs before pair-cost gating activates [INFO] [stdout] 96 | pub min_pairs_for_cost_gate: f64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TuneConfig` 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: enum `SignalBand` is never used [INFO] [stdout] --> src/config_v2.rs:135:10 [INFO] [stdout] | [INFO] [stdout] 135 | pub enum SignalBand { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PairCostMode` is never used [INFO] [stdout] --> src/config_v2.rs:144:10 [INFO] [stdout] | [INFO] [stdout] 144 | pub enum PairCostMode { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `signal_band`, `max_ratio_for_band`, `pair_cost_mode`, and `cheap_target` are never used [INFO] [stdout] --> src/config_v2.rs:152:12 [INFO] [stdout] | [INFO] [stdout] 151 | impl TuneConfig { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 152 | pub fn signal_band(&self, score: f64) -> SignalBand { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub fn max_ratio_for_band(&self, band: SignalBand) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | pub fn pair_cost_mode(&self, pair_cost: f64, matched_pairs: f64) -> PairCostMode { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn cheap_target(&self, score: f64, pred_winner_is_exp: bool, pair_cost: Option) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `session_start_balance` is never read [INFO] [stdout] --> src/state.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct SharedState { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 13 | pub session_start_balance: Arc>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SharedState` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_position`, `get_position`, `is_cooling_down`, and `add_pnl` are never used [INFO] [stdout] --> src/state.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl SharedState { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn set_position(&self, pos: Position) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn get_position(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub fn is_cooling_down(&self, now_ms: i64) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn add_pnl(&self, pnl: f64) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FeatureSnapshot` is never constructed [INFO] [stdout] --> src/types_v2.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 92 | pub struct FeatureSnapshot { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_binance_feed_task` is never used [INFO] [stdout] --> src/feeds/binance.rs:13:14 [INFO] [stdout] | [INFO] [stdout] 13 | pub async fn run_binance_feed_task( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_rtds_task` is never used [INFO] [stdout] --> src/feeds/rtds.rs:15:14 [INFO] [stdout] | [INFO] [stdout] 15 | pub async fn run_rtds_task( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect_and_stream` is never used [INFO] [stdout] --> src/feeds/rtds.rs:40:10 [INFO] [stdout] | [INFO] [stdout] 40 | async fn connect_and_stream( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `USER_WS_URL` is never used [INFO] [stdout] --> src/feeds/user_ws.rs:21:7 [INFO] [stdout] | [INFO] [stdout] 21 | const USER_WS_URL: &str = "wss://ws-subscriptions-clob.polymarket.com/ws/user"; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HEARTBEAT_SECS` is never used [INFO] [stdout] --> src/feeds/user_ws.rs:22:7 [INFO] [stdout] | [INFO] [stdout] 22 | const HEARTBEAT_SECS: u64 = 8; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RECONNECT_DELAY_MS` is never used [INFO] [stdout] --> src/feeds/user_ws.rs:23:7 [INFO] [stdout] | [INFO] [stdout] 23 | const RECONNECT_DELAY_MS: u64 = 2000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserFillEvent` is never constructed [INFO] [stdout] --> src/feeds/user_ws.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub struct UserFillEvent { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_user_ws_task` is never used [INFO] [stdout] --> src/feeds/user_ws.rs:40:14 [INFO] [stdout] | [INFO] [stdout] 40 | pub async fn run_user_ws_task( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_move_bps` is never used [INFO] [stdout] --> src/signals/features.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn compute_move_bps(mid_now: f64, mid_then: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_basis_bps` is never used [INFO] [stdout] --> src/signals/features.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn compute_basis_bps(binance_mid: f64, chainlink_price: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `latency_ms` is never read [INFO] [stdout] --> src/execution_v2/executor.rs:320:9 [INFO] [stdout] | [INFO] [stdout] 316 | pub struct FillResult { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 320 | pub latency_ms: i64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExecutorHandle` is never constructed [INFO] [stdout] --> src/execution_v2/executor.rs:466:12 [INFO] [stdout] | [INFO] [stdout] 466 | pub struct ExecutorHandle { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `sell_fok`, and `buy_fok` are never used [INFO] [stdout] --> src/execution_v2/executor.rs:472:18 [INFO] [stdout] | [INFO] [stdout] 471 | impl ExecutorHandle { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 472 | pub async fn new(config: &Config) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 485 | pub async fn sell_fok(&self, token_id: &str, shares: f64) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 495 | pub async fn buy_fok(&self, token_id: &str, share_base: f64, ask_price: f64) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `leg1_token_id` is never read [INFO] [stdout] --> src/portfolio/position_manager.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 18 | struct PairTrade { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 22 | leg1_token_id: String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PairTrade` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "b0eda17573799b1d11347972c8a1e63582e702eafc5744c94a3d31c386710c36", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b0eda17573799b1d11347972c8a1e63582e702eafc5744c94a3d31c386710c36", kill_on_drop: false }` [INFO] [stdout] b0eda17573799b1d11347972c8a1e63582e702eafc5744c94a3d31c386710c36