[INFO] cloning repository https://github.com/kaina404/PolymarketRustBot
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kaina404/PolymarketRustBot" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkaina404%2FPolymarketRustBot", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkaina404%2FPolymarketRustBot'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4c1570f7e2b42c3acd252557fc35fbcbc8942b8d
[INFO] checking kaina404/PolymarketRustBot against 24e1a22664233bce1f9b5dc6eee7c1f74327e28c for pr-159343-retry
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkaina404%2FPolymarketRustBot" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/kaina404/PolymarketRustBot
[INFO] finished tweaking git repo https://github.com/kaina404/PolymarketRustBot
[INFO] tweaked toml for git repo https://github.com/kaina404/PolymarketRustBot written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kaina404/PolymarketRustBot on toolchain 24e1a22664233bce1f9b5dc6eee7c1f74327e28c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+24e1a22664233bce1f9b5dc6eee7c1f74327e28c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kaina404/PolymarketRustBot 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" "+24e1a22664233bce1f9b5dc6eee7c1f74327e28c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] bc4af4a6f30fd5fd8c4ee1812e58a37cab7ab0ee3d4a558fd770b31906b2c127
[INFO] running `Command { std: "docker" "start" "bc4af4a6f30fd5fd8c4ee1812e58a37cab7ab0ee3d4a558fd770b31906b2c127", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bc4af4a6f30fd5fd8c4ee1812e58a37cab7ab0ee3d4a558fd770b31906b2c127", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "bc4af4a6f30fd5fd8c4ee1812e58a37cab7ab0ee3d4a558fd770b31906b2c127" "/opt/rustwide/cargo-home/bin/cargo" "+24e1a22664233bce1f9b5dc6eee7c1f74327e28c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bc4af4a6f30fd5fd8c4ee1812e58a37cab7ab0ee3d4a558fd770b31906b2c127", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "bc4af4a6f30fd5fd8c4ee1812e58a37cab7ab0ee3d4a558fd770b31906b2c127" "/opt/rustwide/cargo-home/bin/cargo" "+24e1a22664233bce1f9b5dc6eee7c1f74327e28c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.46
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking zeroize v1.9.0
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]     Checking const-oid v0.9.6
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking log v0.4.33
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling ruint-macro v1.2.1
[INFO] [stderr]     Checking ff v0.13.1
[INFO] [stderr]     Checking arrayvec v0.7.8
[INFO] [stderr]     Checking der v0.7.10
[INFO] [stderr]     Checking base16ct v0.2.0
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]     Checking group v0.13.0
[INFO] [stderr]     Checking digest v0.11.3
[INFO] [stderr]     Checking keccak v0.2.0
[INFO] [stderr]     Checking memchr v2.8.2
[INFO] [stderr]     Checking rustc-hash v2.1.3
[INFO] [stderr]     Checking sha3 v0.11.0
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-bigint v0.5.5
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking rfc6979 v0.4.0
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking sec1 v0.7.3
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]    Compiling cc v1.2.65
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]     Checking mio v1.2.1
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]     Checking socket2 v0.6.4
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling hybrid-array v0.4.13
[INFO] [stderr]     Checking elliptic-curve v0.13.8
[INFO] [stderr]    Compiling winnow v1.0.3
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]     Checking hashbrown v0.17.1
[INFO] [stderr]     Checking const-hex v1.19.1
[INFO] [stderr]     Checking ecdsa v0.16.9
[INFO] [stderr]    Compiling crypto-common v0.2.2
[INFO] [stderr]    Compiling block-buffer v0.12.1
[INFO] [stderr]     Checking k256 v0.13.4
[INFO] [stderr]    Compiling ruint v1.19.0
[INFO] [stderr]    Compiling aws-lc-sys v0.42.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]    Compiling aws-lc-rs v1.17.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling macro-string v0.2.0
[INFO] [stderr]    Compiling syn-solidity v1.6.0
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]     Checking rustls-pki-types v1.15.0
[INFO] [stderr]    Compiling rustls v0.23.41
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]     Checking crc-catalog v2.5.0
[INFO] [stderr]     Checking crc v3.4.0
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]    Compiling zerocopy v0.8.52
[INFO] [stderr]     Checking bitflags v2.13.0
[INFO] [stderr]     Checking rustls-native-certs v0.8.4
[INFO] [stderr]     Checking webpki-roots v1.0.8
[INFO] [stderr]     Checking futures-utils-wasm v0.1.0
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]    Compiling siphasher v1.0.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling alloy-rlp-derive v0.3.16
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]     Checking yoke v0.8.3
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling auto_impl v1.3.0
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]    Compiling pin-project-internal v1.1.13
[INFO] [stderr]     Checking bytes v1.12.0
[INFO] [stderr]     Checking smallvec v1.15.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]     Checking alloy-rlp v0.3.16
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking http v1.4.2
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]    Compiling alloy-sol-type-parser v1.6.0
[INFO] [stderr]     Checking alloy-primitives v1.6.0
[INFO] [stderr]     Checking either v1.16.0
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]     Checking nybbles v0.4.8
[INFO] [stderr]     Checking alloy-json-abi v1.6.0
[INFO] [stderr]     Checking alloy-eip2124 v0.2.0
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking alloy-eip2930 v0.2.3
[INFO] [stderr]     Checking alloy-serde v1.8.3
[INFO] [stderr]     Checking alloy-eip7702 v0.6.3
[INFO] [stderr]     Checking alloy-eip7928 v0.3.7
[INFO] [stderr]     Checking alloy-trie v0.9.5
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]    Compiling alloy-sol-macro-input v1.6.0
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]    Compiling alloy-sol-macro-expander v1.6.0
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking alloy-signer v1.8.3
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling serde_with_macros v3.21.0
[INFO] [stderr]    Compiling alloy-tx-macros v1.8.3
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]    Compiling num_enum_derive v0.7.6
[INFO] [stderr]     Checking pin-project v1.1.13
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking h2 v0.4.15
[INFO] [stderr]     Checking serde_with v3.21.0
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking num_enum v0.7.6
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking strum v0.27.2
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]     Checking alloy-chains v0.2.34
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking rand v0.8.6
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]    Compiling phf_shared v0.13.1
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking dashmap v6.2.1
[INFO] [stderr]    Compiling phf_generator v0.13.1
[INFO] [stderr]     Checking getrandom v0.4.3
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]    Compiling rust_decimal v1.42.1
[INFO] [stderr]     Checking alloy-eips v1.8.3
[INFO] [stderr]    Compiling alloy-sol-macro v1.6.0
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking rand v0.9.4
[INFO] [stderr]     Checking alloy-sol-types v1.6.0
[INFO] [stderr]    Compiling phf_macros v0.13.1
[INFO] [stderr]     Checking signal-hook v0.3.18
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]     Checking utf-8 v0.7.6
[INFO] [stderr]    Compiling bon-macros v3.9.3
[INFO] [stderr]     Checking regex-syntax v0.8.11
[INFO] [stderr]     Checking alloy-consensus v1.8.3
[INFO] [stderr]     Checking phf v0.13.1
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking hyper v1.10.1
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking rand v0.10.2
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking alloy-json-rpc v1.8.3
[INFO] [stderr]     Checking alloy-dyn-abi v1.6.0
[INFO] [stderr]     Checking uuid v1.23.4
[INFO] [stderr]     Checking alloy-transport v1.8.3
[INFO] [stderr]     Checking alloy-core v1.6.0
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking alloy-network-primitives v1.8.3
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking alloy-consensus-any v1.8.3
[INFO] [stderr]     Checking secrecy v0.10.3
[INFO] [stderr]     Checking serde_html_form v0.4.1
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling rust_decimal_macros v1.40.0
[INFO] [stderr]     Checking alloy-rpc-types-eth v1.8.3
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking instant v0.1.13
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]    Compiling width-table v0.1.0
[INFO] [stderr]    Compiling anyhow v1.0.103
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]     Checking compact_str v0.8.2
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]     Checking backoff v0.4.0
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]     Checking serde_ignored v0.1.14
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]     Checking unicode-width v0.2.0
[INFO] [stderr]     Checking matchit v0.8.4
[INFO] [stderr]     Checking bon v3.9.3
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking alloy-rpc-types-any v1.8.3
[INFO] [stderr]     Checking ratatui v0.29.0
[INFO] [stderr]     Checking alloy-network v1.8.3
[INFO] [stderr]     Checking alloy-signer-local v1.8.3
[INFO] [stderr]     Checking axum v0.8.9
[INFO] [stderr]     Checking rustls-webpki v0.103.13
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking rustls-platform-verifier v0.7.0
[INFO] [stderr]     Checking tungstenite v0.28.0
[INFO] [stderr]     Checking hyper-rustls v0.27.9
[INFO] [stderr]     Checking reqwest v0.13.4
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking tokio-tungstenite v0.28.0
[INFO] [stderr]     Checking alloy-transport-http v1.8.3
[INFO] [stderr]     Checking alloy-rpc-client v1.8.3
[INFO] [stderr]     Checking alloy-provider v1.8.3
[INFO] [stderr]     Checking alloy-contract v1.8.3
[INFO] [stderr]     Checking alloy v1.8.3
[INFO] [stderr]     Checking polymarket-client-sdk v0.4.4
[INFO] [stderr]     Checking polymarket_client_sdk_v2 v0.6.0
[INFO] [stderr]     Checking polypulse v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: function `encode_proxy_call` is never used
[INFO] [stdout]    --> src/proxy_relay.rs:251:15
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub(crate) fn encode_proxy_call(target: Address, data: &[u8]) -> Vec<u8> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_proxy_call` is never used
[INFO] [stdout]    --> src/proxy_relay.rs:251:15
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub(crate) fn encode_proxy_call(target: Address, data: &[u8]) -> Vec<u8> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `trace`
[INFO] [stdout]   --> src/risk/hedge_monitor.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tracing::{debug, error, info, trace, 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 imports: `debug` and `trace`
[INFO] [stdout]   --> src/risk/hedge_monitor.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tracing::{debug, error, info, trace, 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: `debug`
[INFO] [stdout]  --> src/risk/positions.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, info, trace};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/risk/positions.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, info, trace};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `yes_final_size`
[INFO] [stdout]   --> src/monitor/arbitrage.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         yes_final_size: Decimal,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_yes_final_size`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `no_final_size`
[INFO] [stdout]   --> src/monitor/arbitrage.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         no_final_size: Decimal,
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_no_final_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `yes_final_size`
[INFO] [stdout]   --> src/monitor/arbitrage.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         yes_final_size: Decimal,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_yes_final_size`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `no_final_size`
[INFO] [stdout]   --> src/monitor/arbitrage.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 81 |         no_final_size: Decimal,
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_no_final_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `yes_price`
[INFO] [stdout]   --> src/risk/manager.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |         yes_price: Decimal,
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_yes_price`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `no_price`
[INFO] [stdout]   --> src/risk/manager.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         no_price: Decimal,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_no_price`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `yes_price`
[INFO] [stdout]   --> src/risk/manager.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |         yes_price: Decimal,
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_yes_price`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `no_price`
[INFO] [stdout]   --> src/risk/manager.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         no_price: Decimal,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_no_price`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `slug` is never read
[INFO] [stdout]   --> src/market/discoverer.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct MarketInfo {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 12 |     pub market_id: B256,
[INFO] [stdout] 13 |     pub slug: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MarketInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `total_cost` is never read
[INFO] [stdout]   --> src/monitor/arbitrage.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct ArbitrageOpportunity {
[INFO] [stdout]    |            -------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub total_cost: Decimal,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ArbitrageOpportunity` 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 `min_profit_threshold` and `max_depth` are never read
[INFO] [stdout]   --> src/monitor/arbitrage.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct ArbitrageDetector {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 20 |     min_profit_threshold: Decimal,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     max_depth: usize, // Max depth to probe
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_book` is never used
[INFO] [stdout]    --> src/monitor/orderbook.rs:193:12
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl OrderBookMonitor {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 193 |     pub fn get_book(&self, token_id: U256) -> Option<BookUpdate> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/risk/hedge_monitor.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct HedgePosition {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 21 |     pub token_id: U256,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 22 |     pub opposite_token_id: U256, // Opposite side token_id (for diff calc)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub amount: Decimal,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 24 |     pub entry_price: Decimal, // Buy price (best ask)
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 25 |     pub take_profit_price: Decimal, // Take-profit price
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     pub stop_loss_price: Decimal,   // Stop-loss price
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     pub pair_id: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 28 |     pub market_display: String, // Market display name (e.g. "btc prediction")
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     pub order_id: Option<String>, // GTC order ID if placed
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 30 |     pub pending_sell_amount: Decimal, // Pending sell amount
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HedgePosition` 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 `client`, `private_key`, `proxy_address`, `positions`, and `position_tracker` are never read
[INFO] [stdout]   --> src/risk/hedge_monitor.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct HedgeMonitor {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 34 |     client: AuthenticatedClobClient,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 35 |     private_key: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 36 |     proxy_address: Option<Address>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 37 |     positions: DashMap<String, HedgePosition>, // pair_id -> position
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 38 |     position_tracker: Arc<PositionTracker>, // For exposure updates
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/risk/hedge_monitor.rs:58:12
[INFO] [stdout]     |
[INFO] [stdout]  41 | impl HedgeMonitor {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  58 |     pub fn add_position(&self, action: &RecoveryAction) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn update_entry_price(&self, pair_id: &str, entry_price: Decimal) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub async fn check_and_execute(&self, book: &BookUpdate) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 326 |     fn calculate_sell_amount(&self, position: &HedgePosition) -> Decimal {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     fn calculate_sell_amount_with_size(&self, position: &HedgePosition, base_amount: Decimal) -> Decimal {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 361 |     fn calculate_sell_amount_static(position: &HedgePosition, base_amount: Decimal) -> Decimal {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 391 |     async fn execute_sell_order(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 482 |     async fn sell_with_gtc(
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 584 |     pub fn remove_position(&self, pair_id: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 590 |     pub fn get_positions(&self) -> Vec<HedgePosition> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Submitted` and `Recovering` are never constructed
[INFO] [stdout]   --> src/risk/manager.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum PairStatus {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 16 |     Submitted,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     Recovering,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PairStatus` 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/risk/manager.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct OrderPair {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 26 |     pub pair_id: String,
[INFO] [stdout] 27 |     pub market_id: B256,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 28 |     pub yes_order_id: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 29 |     pub no_order_id: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 30 |     pub yes_token_id: U256,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 31 |     pub no_token_id: U256,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 32 |     pub yes_size: Decimal,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 33 |     pub no_size: Decimal,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub created_at: DateTime<Utc>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OrderPair` 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 `clob_client` is never read
[INFO] [stdout]   --> src/risk/manager.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct RiskManager {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 41 |     clob_client: AuthenticatedClobClient,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_order_size` is never read
[INFO] [stdout]   --> src/risk/position_balancer.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct PositionBalancer {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     max_order_size: Decimal,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `condition_id` is never read
[INFO] [stdout]    --> src/risk/position_balancer.rs:358:5
[INFO] [stdout]     |
[INFO] [stdout] 357 | struct MarketBalanceData {
[INFO] [stdout]     |        ----------------- field in this struct
[INFO] [stdout] 358 |     condition_id: B256,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `calculate_imbalance` and `is_within_limits` are never used
[INFO] [stdout]    --> src/risk/positions.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout]  15 | impl PositionTracker {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn calculate_imbalance(&self, yes_token: U256, no_token: U256) -> Decimal {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn is_within_limits(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `SellExcess` and `MonitorForExit` are never constructed
[INFO] [stdout]   --> src/risk/recovery.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum RecoveryAction {
[INFO] [stdout]    |          -------------- variants in this enum
[INFO] [stdout] 11 |     None,
[INFO] [stdout] 12 |     SellExcess { token_id: String, amount: Decimal },
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 13 |     MonitorForExit {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecoveryAction` 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 `take_profit_pct` and `stop_loss_pct` are never read
[INFO] [stdout]   --> src/risk/recovery.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct RecoveryStrategy {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 27 |     imbalance_threshold: Decimal,
[INFO] [stdout] 28 |     take_profit_pct: Decimal, // Take-profit %
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     stop_loss_pct: Decimal,   // Stop-loss %
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_order_size` is never read
[INFO] [stdout]   --> src/trading/executor.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct TradingExecutor {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 35 |     max_order_size: Decimal,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `client`, `prices_with_slippage_within_threshold`, and `execute_arbitrage_pair` are never used
[INFO] [stdout]    --> src/trading/executor.rs:70:12
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl TradingExecutor {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  70 |     pub fn client(&self) -> &AuthenticatedClobClient {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub(crate) fn prices_with_slippage_within_threshold(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     pub async fn execute_arbitrage_pair(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArbitrageRecord` is never constructed
[INFO] [stdout]   --> src/utils/arbitrage_logger.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct ArbitrageRecord {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `log_arbitrage_opportunity` is never used
[INFO] [stdout]   --> src/utils/arbitrage_logger.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn log_arbitrage_opportunity(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `log_arbitrage_opportunity_async` is never used
[INFO] [stdout]   --> src/utils/arbitrage_logger.rs:62:14
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub async fn log_arbitrage_opportunity_async(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `slug` is never read
[INFO] [stdout]   --> src/market/discoverer.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct MarketInfo {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 12 |     pub market_id: B256,
[INFO] [stdout] 13 |     pub slug: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MarketInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `total_cost` is never read
[INFO] [stdout]   --> src/monitor/arbitrage.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct ArbitrageOpportunity {
[INFO] [stdout]    |            -------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub total_cost: Decimal,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ArbitrageOpportunity` 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 `min_profit_threshold` and `max_depth` are never read
[INFO] [stdout]   --> src/monitor/arbitrage.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct ArbitrageDetector {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 20 |     min_profit_threshold: Decimal,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     max_depth: usize, // Max depth to probe
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_book` is never used
[INFO] [stdout]    --> src/monitor/orderbook.rs:193:12
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl OrderBookMonitor {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 193 |     pub fn get_book(&self, token_id: U256) -> Option<BookUpdate> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/risk/hedge_monitor.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct HedgePosition {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 21 |     pub token_id: U256,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 22 |     pub opposite_token_id: U256, // Opposite side token_id (for diff calc)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub amount: Decimal,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 24 |     pub entry_price: Decimal, // Buy price (best ask)
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 25 |     pub take_profit_price: Decimal, // Take-profit price
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     pub stop_loss_price: Decimal,   // Stop-loss price
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |     pub pair_id: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 28 |     pub market_display: String, // Market display name (e.g. "btc prediction")
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     pub order_id: Option<String>, // GTC order ID if placed
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 30 |     pub pending_sell_amount: Decimal, // Pending sell amount
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HedgePosition` 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 `client`, `private_key`, `proxy_address`, `positions`, and `position_tracker` are never read
[INFO] [stdout]   --> src/risk/hedge_monitor.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct HedgeMonitor {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 34 |     client: AuthenticatedClobClient,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 35 |     private_key: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 36 |     proxy_address: Option<Address>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 37 |     positions: DashMap<String, HedgePosition>, // pair_id -> position
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 38 |     position_tracker: Arc<PositionTracker>, // For exposure updates
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/risk/hedge_monitor.rs:58:12
[INFO] [stdout]     |
[INFO] [stdout]  41 | impl HedgeMonitor {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  58 |     pub fn add_position(&self, action: &RecoveryAction) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn update_entry_price(&self, pair_id: &str, entry_price: Decimal) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub async fn check_and_execute(&self, book: &BookUpdate) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 326 |     fn calculate_sell_amount(&self, position: &HedgePosition) -> Decimal {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     fn calculate_sell_amount_with_size(&self, position: &HedgePosition, base_amount: Decimal) -> Decimal {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 361 |     fn calculate_sell_amount_static(position: &HedgePosition, base_amount: Decimal) -> Decimal {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 391 |     async fn execute_sell_order(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 482 |     async fn sell_with_gtc(
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 584 |     pub fn remove_position(&self, pair_id: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 590 |     pub fn get_positions(&self) -> Vec<HedgePosition> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Submitted` and `Recovering` are never constructed
[INFO] [stdout]   --> src/risk/manager.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum PairStatus {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 16 |     Submitted,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     Recovering,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PairStatus` 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/risk/manager.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct OrderPair {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 26 |     pub pair_id: String,
[INFO] [stdout] 27 |     pub market_id: B256,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 28 |     pub yes_order_id: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 29 |     pub no_order_id: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 30 |     pub yes_token_id: U256,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 31 |     pub no_token_id: U256,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 32 |     pub yes_size: Decimal,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 33 |     pub no_size: Decimal,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub created_at: DateTime<Utc>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OrderPair` 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 `clob_client` is never read
[INFO] [stdout]   --> src/risk/manager.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct RiskManager {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 41 |     clob_client: AuthenticatedClobClient,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_order_size` is never read
[INFO] [stdout]   --> src/risk/position_balancer.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct PositionBalancer {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     max_order_size: Decimal,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `condition_id` is never read
[INFO] [stdout]    --> src/risk/position_balancer.rs:358:5
[INFO] [stdout]     |
[INFO] [stdout] 357 | struct MarketBalanceData {
[INFO] [stdout]     |        ----------------- field in this struct
[INFO] [stdout] 358 |     condition_id: B256,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `calculate_imbalance` and `is_within_limits` are never used
[INFO] [stdout]    --> src/risk/positions.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout]  15 | impl PositionTracker {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn calculate_imbalance(&self, yes_token: U256, no_token: U256) -> Decimal {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn is_within_limits(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `SellExcess` and `MonitorForExit` are never constructed
[INFO] [stdout]   --> src/risk/recovery.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum RecoveryAction {
[INFO] [stdout]    |          -------------- variants in this enum
[INFO] [stdout] 11 |     None,
[INFO] [stdout] 12 |     SellExcess { token_id: String, amount: Decimal },
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 13 |     MonitorForExit {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RecoveryAction` 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 `take_profit_pct` and `stop_loss_pct` are never read
[INFO] [stdout]   --> src/risk/recovery.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct RecoveryStrategy {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 27 |     imbalance_threshold: Decimal,
[INFO] [stdout] 28 |     take_profit_pct: Decimal, // Take-profit %
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     stop_loss_pct: Decimal,   // Stop-loss %
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_order_size` is never read
[INFO] [stdout]   --> src/trading/executor.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct TradingExecutor {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 35 |     max_order_size: Decimal,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `client` and `execute_arbitrage_pair` are never used
[INFO] [stdout]    --> src/trading/executor.rs:70:12
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl TradingExecutor {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  70 |     pub fn client(&self) -> &AuthenticatedClobClient {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     pub async fn execute_arbitrage_pair(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArbitrageRecord` is never constructed
[INFO] [stdout]   --> src/utils/arbitrage_logger.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct ArbitrageRecord {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `log_arbitrage_opportunity` is never used
[INFO] [stdout]   --> src/utils/arbitrage_logger.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn log_arbitrage_opportunity(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `log_arbitrage_opportunity_async` is never used
[INFO] [stdout]   --> src/utils/arbitrage_logger.rs:62:14
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub async fn log_arbitrage_opportunity_async(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 52s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: proc-macro-error2 v2.0.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "bc4af4a6f30fd5fd8c4ee1812e58a37cab7ab0ee3d4a558fd770b31906b2c127", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bc4af4a6f30fd5fd8c4ee1812e58a37cab7ab0ee3d4a558fd770b31906b2c127", kill_on_drop: false }`
[INFO] [stdout] bc4af4a6f30fd5fd8c4ee1812e58a37cab7ab0ee3d4a558fd770b31906b2c127
