[INFO] cloning repository https://github.com/neonflux-io/polymarket-copy-trading-bot
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/neonflux-io/polymarket-copy-trading-bot" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fneonflux-io%2Fpolymarket-copy-trading-bot", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fneonflux-io%2Fpolymarket-copy-trading-bot'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e35a98ff650dcdd0a054c8ddb4ccb4d09efa4c17
[INFO] checking neonflux-io/polymarket-copy-trading-bot against try#6284d7b4bd27983dba388146648ab844ca7d032f for pr-152971
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fneonflux-io%2Fpolymarket-copy-trading-bot" "/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/neonflux-io/polymarket-copy-trading-bot
[INFO] finished tweaking git repo https://github.com/neonflux-io/polymarket-copy-trading-bot
[INFO] tweaked toml for git repo https://github.com/neonflux-io/polymarket-copy-trading-bot written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/neonflux-io/polymarket-copy-trading-bot on toolchain 6284d7b4bd27983dba388146648ab844ca7d032f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+6284d7b4bd27983dba388146648ab844ca7d032f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/neonflux-io/polymarket-copy-trading-bot 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" "+6284d7b4bd27983dba388146648ab844ca7d032f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+6284d7b4bd27983dba388146648ab844ca7d032f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d2d3d3a6e0478af786f01dd305e7958c3948759e85cf8aacc9a86b8f42cea7e6
[INFO] running `Command { std: "docker" "start" "-a" "d2d3d3a6e0478af786f01dd305e7958c3948759e85cf8aacc9a86b8f42cea7e6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d2d3d3a6e0478af786f01dd305e7958c3948759e85cf8aacc9a86b8f42cea7e6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d2d3d3a6e0478af786f01dd305e7958c3948759e85cf8aacc9a86b8f42cea7e6", kill_on_drop: false }`
[INFO] [stdout] d2d3d3a6e0478af786f01dd305e7958c3948759e85cf8aacc9a86b8f42cea7e6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+6284d7b4bd27983dba388146648ab844ca7d032f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ca9cb2b292f1e44aa553e5bd02c87ecc276e8c17b5eff0de6419a27cb4042984
[INFO] running `Command { std: "docker" "start" "-a" "ca9cb2b292f1e44aa553e5bd02c87ecc276e8c17b5eff0de6419a27cb4042984", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]     Checking itoa v1.0.15
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]     Checking const-oid v0.9.6
[INFO] [stderr]     Checking equivalent v1.0.2
[INFO] [stderr]     Checking foldhash v0.2.0
[INFO] [stderr]     Checking allocator-api2 v0.2.21
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling find-msvc-tools v0.1.5
[INFO] [stderr]     Checking pin-project-lite v0.2.16
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]    Compiling cc v1.2.48
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]    Compiling ruint-macro v1.2.1
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling zmij v1.0.14
[INFO] [stderr]     Checking memchr v2.7.6
[INFO] [stderr]     Checking cpufeatures v0.2.17
[INFO] [stderr]     Checking der v0.7.10
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]     Checking ff v0.13.1
[INFO] [stderr]     Checking base16ct v0.2.0
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]     Checking group v0.13.0
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking crypto-bigint v0.5.5
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking rfc6979 v0.4.0
[INFO] [stderr]     Checking const-hex v1.17.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]     Checking tracing-core v0.1.35
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]     Checking socket2 v0.6.1
[INFO] [stderr]     Checking mio v1.1.0
[INFO] [stderr]     Checking sec1 v0.7.3
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]    Compiling ruint v1.17.0
[INFO] [stderr]     Checking elliptic-curve v0.13.8
[INFO] [stderr]     Checking ecdsa v0.16.9
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]     Checking rustls-pki-types v1.13.1
[INFO] [stderr]     Checking k256 v0.13.4
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling macro-string v0.1.4
[INFO] [stderr]    Compiling syn-solidity v1.5.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking slab v0.4.11
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]    Compiling cmake v0.1.57
[INFO] [stderr]    Compiling indexmap v2.12.1
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]     Checking untrusted v0.9.0
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]     Checking writeable v0.6.2
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]     Checking percent-encoding v2.3.2
[INFO] [stderr]     Checking litemap v0.8.1
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]    Compiling icu_properties_data v2.1.1
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]    Compiling aws-lc-rs v1.15.3
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]     Checking iana-time-zone v0.1.64
[INFO] [stderr]     Checking crc-catalog v2.4.0
[INFO] [stderr]     Checking crc v3.4.0
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]     Checking tower-service v0.3.3
[INFO] [stderr]     Checking utf8_iter v1.0.4
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling aws-lc-sys v0.36.0
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]     Checking openssl-probe v0.1.6
[INFO] [stderr]    Compiling rustls v0.23.35
[INFO] [stderr]     Checking try-lock v0.2.5
[INFO] [stderr]     Checking atomic-waker v1.1.2
[INFO] [stderr]     Checking want v0.3.1
[INFO] [stderr]     Checking foreign-types-shared v0.1.1
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]     Checking foreign-types v0.3.2
[INFO] [stderr]     Checking webpki-roots v1.0.4
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]     Checking tower-layer v0.3.3
[INFO] [stderr]     Checking ipnet v2.11.0
[INFO] [stderr]     Checking ryu v1.0.20
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking futures-utils-wasm v0.1.0
[INFO] [stderr]     Checking iri-string v0.7.9
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling siphasher v1.0.1
[INFO] [stderr]    Compiling rustls v0.22.4
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling phf_shared v0.13.1
[INFO] [stderr]     Checking lru v0.16.3
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling phf_generator v0.13.1
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking rustls-native-certs v0.8.2
[INFO] [stderr]    Compiling rust_decimal v1.40.0
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking data-encoding v2.9.0
[INFO] [stderr]     Checking utf-8 v0.7.6
[INFO] [stderr]     Checking uuid v1.19.0
[INFO] [stderr]     Checking serde_html_form v0.4.0
[INFO] [stderr]     Checking webpki-roots v0.26.11
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]     Checking dotenvy v0.15.7
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking anstyle v1.0.13
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking clap_lex v0.7.6
[INFO] [stderr]     Checking regex-syntax v0.8.8
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking clap_builder v4.5.53
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking rustls-webpki v0.102.8
[INFO] [stderr]     Checking clap v4.5.53
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]     Checking oorandom v11.1.5
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling derive_more-impl v2.1.0
[INFO] [stderr]    Compiling alloy-rlp-derive v0.3.12
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]     Checking tracing v0.1.43
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling auto_impl v1.3.0
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]    Compiling zerocopy-derive v0.8.31
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking bytes v1.11.0
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking alloy-rlp v0.3.12
[INFO] [stderr]     Checking tokio v1.48.0
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]    Compiling alloy-sol-type-parser v1.5.1
[INFO] [stderr]    Compiling darling_core v0.21.3
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking tokio-util v0.7.17
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking chrono v0.4.42
[INFO] [stderr]     Checking icu_properties v2.1.1
[INFO] [stderr]     Checking nybbles v0.4.6
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking h2 v0.4.12
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]     Checking hyper-util v0.1.18
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking derive_more v2.1.0
[INFO] [stderr]    Compiling alloy-primitives v1.5.1
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]    Compiling num_enum_derive v0.7.5
[INFO] [stderr]    Compiling alloy-json-abi v1.5.1
[INFO] [stderr]    Compiling alloy-sol-macro-input v1.5.1
[INFO] [stderr]    Compiling alloy-sol-macro-expander v1.5.1
[INFO] [stderr]     Checking alloy-eip7702 v0.6.3
[INFO] [stderr]     Checking alloy-eip2124 v0.2.0
[INFO] [stderr]     Checking alloy-eip2930 v0.2.3
[INFO] [stderr]     Checking alloy-serde v1.4.3
[INFO] [stderr]     Checking alloy-trie v0.9.3
[INFO] [stderr]     Checking num_enum v0.7.5
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking pin-project v1.1.10
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]     Checking dashmap v6.1.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]    Compiling phf_macros v0.13.1
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking tokio-rustls v0.25.0
[INFO] [stderr]     Checking secrecy v0.10.3
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling darling_macro v0.21.3
[INFO] [stderr]     Checking strum v0.27.2
[INFO] [stderr]     Checking alloy-chains v0.2.23
[INFO] [stderr]    Compiling rust_decimal_macros v1.40.0
[INFO] [stderr]    Compiling darling v0.21.3
[INFO] [stderr]    Compiling serde_with_macros v3.16.1
[INFO] [stderr]    Compiling alloy-tx-macros v1.4.3
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]    Compiling bon-macros v3.8.2
[INFO] [stderr]     Checking phf v0.13.1
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking rustls-webpki v0.103.8
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking smallstr v0.3.1
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking tungstenite v0.21.0
[INFO] [stderr]     Checking tokio-tungstenite v0.21.0
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking rustls-platform-verifier v0.6.2
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking reqwest v0.12.24
[INFO] [stderr]     Checking reqwest v0.13.1
[INFO] [stderr]     Checking serde_with v3.16.1
[INFO] [stderr]    Compiling alloy-sol-macro v1.5.1
[INFO] [stderr]     Checking alloy-eips v1.4.3
[INFO] [stderr]     Checking alloy-consensus v1.4.3
[INFO] [stderr]     Checking alloy-network-primitives v1.4.3
[INFO] [stderr]     Checking alloy-consensus-any v1.4.3
[INFO] [stderr]     Checking alloy-sol-types v1.5.1
[INFO] [stderr]     Checking bon v3.8.2
[INFO] [stderr]     Checking alloy-json-rpc v1.4.3
[INFO] [stderr]     Checking alloy-dyn-abi v1.5.1
[INFO] [stderr]     Checking alloy-rpc-types-eth v1.4.3
[INFO] [stderr]     Checking alloy-transport v1.4.3
[INFO] [stderr]     Checking alloy-signer v1.4.3
[INFO] [stderr]     Checking alloy-core v1.5.1
[INFO] [stderr]     Checking alloy-transport-http v1.4.3
[INFO] [stderr]     Checking alloy-rpc-client v1.4.3
[INFO] [stderr]     Checking alloy-rpc-types-any v1.4.3
[INFO] [stderr]     Checking alloy-rpc-types v1.4.3
[INFO] [stderr]     Checking alloy-network v1.4.3
[INFO] [stderr]     Checking alloy-provider v1.4.3
[INFO] [stderr]     Checking alloy-signer-local v1.4.3
[INFO] [stderr]     Checking alloy-contract v1.4.3
[INFO] [stderr]     Checking alloy v1.4.3
[INFO] [stderr]     Checking polymarket-client-sdk v0.4.1
[INFO] [stderr]     Checking polymarket_copier v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `connect_async` and `tungstenite::protocol::Message`
[INFO] [stdout]   --> src/main.rs:20:25
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tokio_tungstenite::{connect_async, tungstenite::protocol::Message};
[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: `EXCHANGE_ADDRESSES` and `WS_PING_TIMEOUT`
[INFO] [stdout]   --> src/main.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     EXCHANGE_ADDRESSES, LOG_CSV_FILE, MIN_SHARES, MIN_TRADE_VALUE_USD, MIN_WHALE_SHARES,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     POSITION_SCALE, RESUBMIT_PRICE_STEP, WHALE_TOPIC_HEX, DEBUG_VERBOSE_ERRORS, WS_PING_TIMEOUT,
[INFO] [stdout]    |                                                                                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]  --> src/bin/mempool_monitor.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use anyhow::{Result, anyhow};
[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: `connect_async` and `tungstenite::protocol::Message`
[INFO] [stdout]   --> src/bin/mempool_monitor.rs:23:25
[INFO] [stdout]    |
[INFO] [stdout] 23 | use tokio_tungstenite::{connect_async, tungstenite::protocol::Message};
[INFO] [stdout]    |                         ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `WS_PING_TIMEOUT` and `WS_RECONNECT_DELAY`
[INFO] [stdout]   --> src/bin/mempool_monitor.rs:26:75
[INFO] [stdout]    |
[INFO] [stdout] 26 |     Config, API_BASE_URL, BASE_PRICE_BUFFER, LOG_CSV_FILE, ORDER_TIMEOUT, WS_RECONNECT_DELAY, WS_PING_TIMEOUT,
[INFO] [stdout]    |                                                                           ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]  --> src/bin/mempool_monitor.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use anyhow::{Result, anyhow};
[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: `connect_async` and `tungstenite::protocol::Message`
[INFO] [stdout]   --> src/bin/mempool_monitor.rs:23:25
[INFO] [stdout]    |
[INFO] [stdout] 23 | use tokio_tungstenite::{connect_async, tungstenite::protocol::Message};
[INFO] [stdout]    |                         ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `WS_PING_TIMEOUT` and `WS_RECONNECT_DELAY`
[INFO] [stdout]   --> src/bin/mempool_monitor.rs:26:75
[INFO] [stdout]    |
[INFO] [stdout] 26 |     Config, API_BASE_URL, BASE_PRICE_BUFFER, LOG_CSV_FILE, ORDER_TIMEOUT, WS_RECONNECT_DELAY, WS_PING_TIMEOUT,
[INFO] [stdout]    |                                                                           ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `connect_async` and `tungstenite::protocol::Message`
[INFO] [stdout]   --> src/main.rs:20:25
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tokio_tungstenite::{connect_async, tungstenite::protocol::Message};
[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: `EXCHANGE_ADDRESSES` and `WS_PING_TIMEOUT`
[INFO] [stdout]   --> src/main.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     EXCHANGE_ADDRESSES, LOG_CSV_FILE, MIN_SHARES, MIN_TRADE_VALUE_USD, MIN_WHALE_SHARES,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     POSITION_SCALE, RESUBMIT_PRICE_STEP, WHALE_TOPIC_HEX, DEBUG_VERBOSE_ERRORS, WS_PING_TIMEOUT,
[INFO] [stdout]    |                                                                                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SinkExt`
[INFO] [stdout]  --> src/main.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use futures::{SinkExt, StreamExt};
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StreamExt`
[INFO] [stdout]  --> src/main.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 | use futures::{SinkExt, StreamExt};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SinkExt`
[INFO] [stdout]  --> src/bin/mempool_monitor.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use futures::{SinkExt, StreamExt};
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StreamExt`
[INFO] [stdout]  --> src/bin/mempool_monitor.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 | use futures::{SinkExt, StreamExt};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `order_engine`
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |     let order_engine = OrderEngine {
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_order_engine`
[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/main.rs:178:9
[INFO] [stdout]     |
[INFO] [stdout] 178 |     let mut backoff_secs = 1u64;
[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/main.rs:180:9
[INFO] [stdout]     |
[INFO] [stdout] 180 |     let mut consecutive_failures = 0u32;
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `order_engine`
[INFO] [stdout]    --> src/main.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let order_engine = OrderEngine {
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_order_engine`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `backoff_secs`
[INFO] [stdout]    --> src/main.rs:178:9
[INFO] [stdout]     |
[INFO] [stdout] 178 |     let mut backoff_secs = 1u64;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_backoff_secs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_backoff_secs`
[INFO] [stdout]    --> src/main.rs:179:9
[INFO] [stdout]     |
[INFO] [stdout] 179 |     let max_backoff_secs = 60u64;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_backoff_secs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `consecutive_failures`
[INFO] [stdout]    --> src/main.rs:180:9
[INFO] [stdout]     |
[INFO] [stdout] 180 |     let mut consecutive_failures = 0u32;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_consecutive_failures`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GAMMA_API_BASE` is never used
[INFO] [stdout]   --> src/main.rs:41:7
[INFO] [stdout]    |
[INFO] [stdout] 41 | const GAMMA_API_BASE: &str = "https://gamma-api.polymarket.com";
[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 `tx` and `trading_enabled` are never read
[INFO] [stdout]   --> src/main.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | struct OrderEngine {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] 59 |     tx: mpsc::Sender<WorkItem>,
[INFO] [stdout]    |     ^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     trading_enabled: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OrderEngine` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `submit` is never used
[INFO] [stdout]   --> src/main.rs:66:14
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl OrderEngine {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 66 |     async fn submit(&self, evt: ParsedEvent, is_live: Option<bool>) -> String {
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_event` is never used
[INFO] [stdout]    --> src/main.rs:638:10
[INFO] [stdout]     |
[INFO] [stdout] 638 | async fn handle_event(evt: ParsedEvent, order_engine: &OrderEngine, http_client: &reqwest::Client) {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_is_live` is never used
[INFO] [stdout]     --> src/main.rs:1056:10
[INFO] [stdout]      |
[INFO] [stdout] 1056 | async fn fetch_is_live(token_id: &str, client: &reqwest::Client) -> Option<bool> {
[INFO] [stdout]      |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_best_book` is never used
[INFO] [stdout]     --> src/main.rs:1071:10
[INFO] [stdout]      |
[INFO] [stdout] 1071 | async fn fetch_best_book(token_id: &str, order_type: &str, client: &reqwest::Client) -> Option<((String, String), (String, String)...
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_event` is never used
[INFO] [stdout]     --> src/main.rs:1126:4
[INFO] [stdout]      |
[INFO] [stdout] 1126 | fn parse_event(message: String) -> Option<ParsedEvent> {
[INFO] [stdout]      |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_u256_hex_slice_with_bytes` is never used
[INFO] [stdout]     --> src/main.rs:1188:4
[INFO] [stdout]      |
[INFO] [stdout] 1188 | fn parse_u256_hex_slice_with_bytes(full: &str, start: usize, end: usize) -> Option<(U256, [u8; 32])> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_u256_hex_slice` is never used
[INFO] [stdout]     --> src/main.rs:1206:4
[INFO] [stdout]      |
[INFO] [stdout] 1206 | fn parse_u256_hex_slice(full: &str, start: usize, end: usize) -> Option<U256> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `u256_to_dec_cached` is never used
[INFO] [stdout]     --> src/main.rs:1210:4
[INFO] [stdout]      |
[INFO] [stdout] 1210 | fn u256_to_dec_cached(bytes: &[u8; 32], val: &U256) -> Arc<str> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `u256_to_f64` is never used
[INFO] [stdout]     --> src/main.rs:1220:4
[INFO] [stdout]      |
[INFO] [stdout] 1220 | fn u256_to_f64(v: &U256) -> Option<f64> {
[INFO] [stdout]      |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEX_NIBBLE_LUT` is never used
[INFO] [stdout]     --> src/main.rs:1226:7
[INFO] [stdout]      |
[INFO] [stdout] 1226 | const HEX_NIBBLE_LUT: [u8; 256] = {
[INFO] [stdout]      |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hex_nibble` is never used
[INFO] [stdout]     --> src/main.rs:1247:4
[INFO] [stdout]      |
[INFO] [stdout] 1247 | fn hex_nibble(b: u8) -> Option<u8> {
[INFO] [stdout]      |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_csv_row` is never used
[INFO] [stdout]     --> src/main.rs:1264:4
[INFO] [stdout]      |
[INFO] [stdout] 1264 | fn append_csv_row(row: String) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sanitize_csv` is never used
[INFO] [stdout]     --> src/main.rs:1271:4
[INFO] [stdout]      |
[INFO] [stdout] 1271 | fn sanitize_csv(value: &str, out: &mut String) {
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `usd_value` is never read
[INFO] [stdout]   --> src/models/mod.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct OrderInfo {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub usd_value: f64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OrderInfo` 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 `block_number` and `tx_hash` are never read
[INFO] [stdout]   --> src/models/mod.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct ParsedEvent {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 22 |     pub block_number: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub tx_hash: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParsedEvent` 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 `WsMessage` is never constructed
[INFO] [stdout]   --> src/models/mod.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct WsMessage {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WsParams` is never constructed
[INFO] [stdout]   --> src/models/mod.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct WsParams {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LogResult` is never constructed
[INFO] [stdout]   --> src/models/mod.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct LogResult {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GAMMA_API_BASE` is never used
[INFO] [stdout]   --> src/bin/mempool_monitor.rs:40:7
[INFO] [stdout]    |
[INFO] [stdout] 40 | const GAMMA_API_BASE: &str = "https://gamma-api.polymarket.com";
[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 `WATCH_ADDRESSES` is never used
[INFO] [stdout]   --> src/bin/mempool_monitor.rs:42:7
[INFO] [stdout]    |
[INFO] [stdout] 42 | const WATCH_ADDRESSES: [&str; 4] = [
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `WHALE_PADDED_LOWER` is never used
[INFO] [stdout]   --> src/bin/mempool_monitor.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | static WHALE_PADDED_LOWER: Lazy<Vec<u8>> = Lazy::new(|| {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `WHALE_FILTER_FINDER` is never used
[INFO] [stdout]   --> src/bin/mempool_monitor.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | static WHALE_FILTER_FINDER: Lazy<memmem::Finder<'static>> =
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `WHALE_PADDED_FINDER` is never used
[INFO] [stdout]   --> src/bin/mempool_monitor.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 | static WHALE_PADDED_FINDER: Lazy<memmem::Finder<'static>> =
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tx_hash` is never read
[INFO] [stdout]   --> src/bin/mempool_monitor.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 92 | struct ParsedEvent {
[INFO] [stdout]    |        ----------- field in this struct
[INFO] [stdout] 93 |     pub tx_hash: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParsedEvent` 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 `tx` and `trading_enabled` are never read
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:112:5
[INFO] [stdout]     |
[INFO] [stdout] 111 | struct OrderEngine {
[INFO] [stdout]     |        ----------- fields in this struct
[INFO] [stdout] 112 |     tx: mpsc::Sender<WorkItem>,
[INFO] [stdout]     |     ^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     trading_enabled: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OrderEngine` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `submit` is never used
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:119:14
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl OrderEngine {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 119 |     async fn submit(&self, evt: ParsedEvent, is_live: Option<bool>) -> String {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `contains_whale` is never used
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:536:4
[INFO] [stdout]     |
[INFO] [stdout] 536 | fn contains_whale(haystack: &[u8]) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_whale_padded` is never used
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:544:4
[INFO] [stdout]     |
[INFO] [stdout] 544 | fn find_whale_padded(haystack: &[u8]) -> Option<usize> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `contains_bytes_ignore_case_slow` is never used
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:552:4
[INFO] [stdout]     |
[INFO] [stdout] 552 | fn contains_bytes_ignore_case_slow(haystack: &[u8], needle: &[u8]) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_bytes_ignore_case_slow` is never used
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:560:4
[INFO] [stdout]     |
[INFO] [stdout] 560 | fn find_bytes_ignore_case_slow(haystack: &[u8], needle: &[u8]) -> Option<usize> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_subscription_id` is never used
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:568:4
[INFO] [stdout]     |
[INFO] [stdout] 568 | fn extract_subscription_id(text: &str) -> Option<&str> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_mempool_tx` is never used
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:576:4
[INFO] [stdout]     |
[INFO] [stdout] 576 | fn parse_mempool_tx(text: &str, sub_id: &Option<String>, timestamp: DateTime<Utc>) -> Option<ParsedEvent> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_hex_u64` is never used
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:630:4
[INFO] [stdout]     |
[INFO] [stdout] 630 | fn parse_hex_u64(s: &str) -> u64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hex_to_decimal_cached` is never used
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:635:4
[INFO] [stdout]     |
[INFO] [stdout] 635 | fn hex_to_decimal_cached(hex: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `HEX_NIBBLE_LUT` is never used
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:662:8
[INFO] [stdout]     |
[INFO] [stdout] 662 | static HEX_NIBBLE_LUT: [u8; 256] = {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hex_nibble` is never used
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:683:4
[INFO] [stdout]     |
[INFO] [stdout] 683 | fn hex_nibble(b: u8) -> Option<u8> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hex_decode_32` is never used
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:689:4
[INFO] [stdout]     |
[INFO] [stdout] 689 | fn hex_decode_32(hex: &[u8], out: &mut [u8; 32]) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_event` is never used
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:706:10
[INFO] [stdout]     |
[INFO] [stdout] 706 | async fn handle_event(evt: ParsedEvent, order_engine: &OrderEngine, http_client: &reqwest::Client) {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_best_book` is never used
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:772:10
[INFO] [stdout]     |
[INFO] [stdout] 772 | async fn fetch_best_book(token_id: &str, order_type: &str, client: &reqwest::Client) -> Option<((String, String), (String, String))> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_is_live` is never used
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:823:10
[INFO] [stdout]     |
[INFO] [stdout] 823 | async fn fetch_is_live(token_id: &str, client: &reqwest::Client) -> Option<bool> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_csv_row` is never used
[INFO] [stdout]     --> src/bin/mempool_monitor.rs:1204:4
[INFO] [stdout]      |
[INFO] [stdout] 1204 | fn append_csv_row(row: String) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sanitize_csv` is never used
[INFO] [stdout]     --> src/bin/mempool_monitor.rs:1211:4
[INFO] [stdout]      |
[INFO] [stdout] 1211 | fn sanitize_csv(value: &str, out: &mut String) {
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SinkExt`
[INFO] [stdout]  --> src/main.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use futures::{SinkExt, StreamExt};
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StreamExt`
[INFO] [stdout]  --> src/main.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 | use futures::{SinkExt, StreamExt};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SinkExt`
[INFO] [stdout]  --> src/bin/mempool_monitor.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use futures::{SinkExt, StreamExt};
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `StreamExt`
[INFO] [stdout]  --> src/bin/mempool_monitor.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 | use futures::{SinkExt, StreamExt};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `order_engine`
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 176 |     let order_engine = OrderEngine {
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_order_engine`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GAMMA_API_BASE` is never used
[INFO] [stdout]   --> src/bin/mempool_monitor.rs:40:7
[INFO] [stdout]    |
[INFO] [stdout] 40 | const GAMMA_API_BASE: &str = "https://gamma-api.polymarket.com";
[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 `WATCH_ADDRESSES` is never used
[INFO] [stdout]   --> src/bin/mempool_monitor.rs:42:7
[INFO] [stdout]    |
[INFO] [stdout] 42 | const WATCH_ADDRESSES: [&str; 4] = [
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `WHALE_PADDED_LOWER` is never used
[INFO] [stdout]   --> src/bin/mempool_monitor.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | static WHALE_PADDED_LOWER: Lazy<Vec<u8>> = Lazy::new(|| {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `WHALE_FILTER_FINDER` is never used
[INFO] [stdout]   --> src/bin/mempool_monitor.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | static WHALE_FILTER_FINDER: Lazy<memmem::Finder<'static>> =
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `WHALE_PADDED_FINDER` is never used
[INFO] [stdout]   --> src/bin/mempool_monitor.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 | static WHALE_PADDED_FINDER: Lazy<memmem::Finder<'static>> =
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tx_hash` is never read
[INFO] [stdout]   --> src/bin/mempool_monitor.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 92 | struct ParsedEvent {
[INFO] [stdout]    |        ----------- field in this struct
[INFO] [stdout] 93 |     pub tx_hash: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParsedEvent` 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 `tx` and `trading_enabled` are never read
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:112:5
[INFO] [stdout]     |
[INFO] [stdout] 111 | struct OrderEngine {
[INFO] [stdout]     |        ----------- fields in this struct
[INFO] [stdout] 112 |     tx: mpsc::Sender<WorkItem>,
[INFO] [stdout]     |     ^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     trading_enabled: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OrderEngine` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `submit` is never used
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:119:14
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl OrderEngine {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 119 |     async fn submit(&self, evt: ParsedEvent, is_live: Option<bool>) -> String {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `contains_whale` is never used
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:536:4
[INFO] [stdout]     |
[INFO] [stdout] 536 | fn contains_whale(haystack: &[u8]) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_whale_padded` is never used
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:544:4
[INFO] [stdout]     |
[INFO] [stdout] 544 | fn find_whale_padded(haystack: &[u8]) -> Option<usize> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `contains_bytes_ignore_case_slow` is never used
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:552:4
[INFO] [stdout]     |
[INFO] [stdout] 552 | fn contains_bytes_ignore_case_slow(haystack: &[u8], needle: &[u8]) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_bytes_ignore_case_slow` is never used
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:560:4
[INFO] [stdout]     |
[INFO] [stdout] 560 | fn find_bytes_ignore_case_slow(haystack: &[u8], needle: &[u8]) -> Option<usize> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_subscription_id` is never used
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:568:4
[INFO] [stdout]     |
[INFO] [stdout] 568 | fn extract_subscription_id(text: &str) -> Option<&str> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_mempool_tx` is never used
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:576:4
[INFO] [stdout]     |
[INFO] [stdout] 576 | fn parse_mempool_tx(text: &str, sub_id: &Option<String>, timestamp: DateTime<Utc>) -> Option<ParsedEvent> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_hex_u64` is never used
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:630:4
[INFO] [stdout]     |
[INFO] [stdout] 630 | fn parse_hex_u64(s: &str) -> u64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hex_to_decimal_cached` is never used
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:635:4
[INFO] [stdout]     |
[INFO] [stdout] 635 | fn hex_to_decimal_cached(hex: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `HEX_NIBBLE_LUT` is never used
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:662:8
[INFO] [stdout]     |
[INFO] [stdout] 662 | static HEX_NIBBLE_LUT: [u8; 256] = {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hex_nibble` is never used
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:683:4
[INFO] [stdout]     |
[INFO] [stdout] 683 | fn hex_nibble(b: u8) -> Option<u8> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hex_decode_32` is never used
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:689:4
[INFO] [stdout]     |
[INFO] [stdout] 689 | fn hex_decode_32(hex: &[u8], out: &mut [u8; 32]) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_event` is never used
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:706:10
[INFO] [stdout]     |
[INFO] [stdout] 706 | async fn handle_event(evt: ParsedEvent, order_engine: &OrderEngine, http_client: &reqwest::Client) {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_best_book` is never used
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:772:10
[INFO] [stdout]     |
[INFO] [stdout] 772 | async fn fetch_best_book(token_id: &str, order_type: &str, client: &reqwest::Client) -> Option<((String, String), (String, String))> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_is_live` is never used
[INFO] [stdout]    --> src/bin/mempool_monitor.rs:823:10
[INFO] [stdout]     |
[INFO] [stdout] 823 | async fn fetch_is_live(token_id: &str, client: &reqwest::Client) -> Option<bool> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_csv_row` is never used
[INFO] [stdout]     --> src/bin/mempool_monitor.rs:1204:4
[INFO] [stdout]      |
[INFO] [stdout] 1204 | fn append_csv_row(row: String) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sanitize_csv` is never used
[INFO] [stdout]     --> src/bin/mempool_monitor.rs:1211:4
[INFO] [stdout]      |
[INFO] [stdout] 1211 | fn sanitize_csv(value: &str, out: &mut String) {
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:178:9
[INFO] [stdout]     |
[INFO] [stdout] 178 |     let mut backoff_secs = 1u64;
[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/main.rs:180:9
[INFO] [stdout]     |
[INFO] [stdout] 180 |     let mut consecutive_failures = 0u32;
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `order_engine`
[INFO] [stdout]    --> src/main.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let order_engine = OrderEngine {
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_order_engine`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `backoff_secs`
[INFO] [stdout]    --> src/main.rs:178:9
[INFO] [stdout]     |
[INFO] [stdout] 178 |     let mut backoff_secs = 1u64;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_backoff_secs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_backoff_secs`
[INFO] [stdout]    --> src/main.rs:179:9
[INFO] [stdout]     |
[INFO] [stdout] 179 |     let max_backoff_secs = 60u64;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_backoff_secs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `consecutive_failures`
[INFO] [stdout]    --> src/main.rs:180:9
[INFO] [stdout]     |
[INFO] [stdout] 180 |     let mut consecutive_failures = 0u32;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_consecutive_failures`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GAMMA_API_BASE` is never used
[INFO] [stdout]   --> src/main.rs:41:7
[INFO] [stdout]    |
[INFO] [stdout] 41 | const GAMMA_API_BASE: &str = "https://gamma-api.polymarket.com";
[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 `tx` and `trading_enabled` are never read
[INFO] [stdout]   --> src/main.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | struct OrderEngine {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] 59 |     tx: mpsc::Sender<WorkItem>,
[INFO] [stdout]    |     ^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     trading_enabled: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OrderEngine` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `submit` is never used
[INFO] [stdout]   --> src/main.rs:66:14
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl OrderEngine {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] 66 |     async fn submit(&self, evt: ParsedEvent, is_live: Option<bool>) -> String {
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_event` is never used
[INFO] [stdout]    --> src/main.rs:638:10
[INFO] [stdout]     |
[INFO] [stdout] 638 | async fn handle_event(evt: ParsedEvent, order_engine: &OrderEngine, http_client: &reqwest::Client) {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_is_live` is never used
[INFO] [stdout]     --> src/main.rs:1056:10
[INFO] [stdout]      |
[INFO] [stdout] 1056 | async fn fetch_is_live(token_id: &str, client: &reqwest::Client) -> Option<bool> {
[INFO] [stdout]      |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_best_book` is never used
[INFO] [stdout]     --> src/main.rs:1071:10
[INFO] [stdout]      |
[INFO] [stdout] 1071 | async fn fetch_best_book(token_id: &str, order_type: &str, client: &reqwest::Client) -> Option<((String, String), (String, String)...
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_event` is never used
[INFO] [stdout]     --> src/main.rs:1126:4
[INFO] [stdout]      |
[INFO] [stdout] 1126 | fn parse_event(message: String) -> Option<ParsedEvent> {
[INFO] [stdout]      |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_u256_hex_slice_with_bytes` is never used
[INFO] [stdout]     --> src/main.rs:1188:4
[INFO] [stdout]      |
[INFO] [stdout] 1188 | fn parse_u256_hex_slice_with_bytes(full: &str, start: usize, end: usize) -> Option<(U256, [u8; 32])> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_u256_hex_slice` is never used
[INFO] [stdout]     --> src/main.rs:1206:4
[INFO] [stdout]      |
[INFO] [stdout] 1206 | fn parse_u256_hex_slice(full: &str, start: usize, end: usize) -> Option<U256> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `u256_to_dec_cached` is never used
[INFO] [stdout]     --> src/main.rs:1210:4
[INFO] [stdout]      |
[INFO] [stdout] 1210 | fn u256_to_dec_cached(bytes: &[u8; 32], val: &U256) -> Arc<str> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `u256_to_f64` is never used
[INFO] [stdout]     --> src/main.rs:1220:4
[INFO] [stdout]      |
[INFO] [stdout] 1220 | fn u256_to_f64(v: &U256) -> Option<f64> {
[INFO] [stdout]      |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEX_NIBBLE_LUT` is never used
[INFO] [stdout]     --> src/main.rs:1226:7
[INFO] [stdout]      |
[INFO] [stdout] 1226 | const HEX_NIBBLE_LUT: [u8; 256] = {
[INFO] [stdout]      |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hex_nibble` is never used
[INFO] [stdout]     --> src/main.rs:1247:4
[INFO] [stdout]      |
[INFO] [stdout] 1247 | fn hex_nibble(b: u8) -> Option<u8> {
[INFO] [stdout]      |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `append_csv_row` is never used
[INFO] [stdout]     --> src/main.rs:1264:4
[INFO] [stdout]      |
[INFO] [stdout] 1264 | fn append_csv_row(row: String) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sanitize_csv` is never used
[INFO] [stdout]     --> src/main.rs:1271:4
[INFO] [stdout]      |
[INFO] [stdout] 1271 | fn sanitize_csv(value: &str, out: &mut String) {
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `usd_value` is never read
[INFO] [stdout]   --> src/models/mod.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct OrderInfo {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub usd_value: f64,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OrderInfo` 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 `block_number` and `tx_hash` are never read
[INFO] [stdout]   --> src/models/mod.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct ParsedEvent {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 22 |     pub block_number: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub tx_hash: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParsedEvent` 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 `WsMessage` is never constructed
[INFO] [stdout]   --> src/models/mod.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct WsMessage {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WsParams` is never constructed
[INFO] [stdout]   --> src/models/mod.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct WsParams {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LogResult` is never constructed
[INFO] [stdout]   --> src/models/mod.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct LogResult {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized] target(s) in 13m 14s
[INFO] running `Command { std: "docker" "inspect" "ca9cb2b292f1e44aa553e5bd02c87ecc276e8c17b5eff0de6419a27cb4042984", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ca9cb2b292f1e44aa553e5bd02c87ecc276e8c17b5eff0de6419a27cb4042984", kill_on_drop: false }`
[INFO] [stdout] ca9cb2b292f1e44aa553e5bd02c87ecc276e8c17b5eff0de6419a27cb4042984
