[INFO] cloning repository https://github.com/cb7chaitanya/Intent-Trading-Platform
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cb7chaitanya/Intent-Trading-Platform" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcb7chaitanya%2FIntent-Trading-Platform", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcb7chaitanya%2FIntent-Trading-Platform'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b3887594036dfead80713ee34da20629cc4b9c3f
[INFO] checking cb7chaitanya/Intent-Trading-Platform against try#09eeb2bacb9b40b2ed1d47f03177442c0632cda1 for pr-157710
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcb7chaitanya%2FIntent-Trading-Platform" "/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/cb7chaitanya/Intent-Trading-Platform
[INFO] finished tweaking git repo https://github.com/cb7chaitanya/Intent-Trading-Platform
[INFO] tweaked toml for git repo https://github.com/cb7chaitanya/Intent-Trading-Platform written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/cb7chaitanya/Intent-Trading-Platform on toolchain 09eeb2bacb9b40b2ed1d47f03177442c0632cda1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+09eeb2bacb9b40b2ed1d47f03177442c0632cda1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/cb7chaitanya/Intent-Trading-Platform 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" "+09eeb2bacb9b40b2ed1d47f03177442c0632cda1" "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/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:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] dc78b47dae2e92e5a6f6dedf7ceeeb51904c35556da2bd147e6c256a280ff125
[INFO] running `Command { std: "docker" "start" "dc78b47dae2e92e5a6f6dedf7ceeeb51904c35556da2bd147e6c256a280ff125", 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" "dc78b47dae2e92e5a6f6dedf7ceeeb51904c35556da2bd147e6c256a280ff125" "/opt/rustwide/cargo-home/bin/cargo" "+09eeb2bacb9b40b2ed1d47f03177442c0632cda1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dc78b47dae2e92e5a6f6dedf7ceeeb51904c35556da2bd147e6c256a280ff125", 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" "dc78b47dae2e92e5a6f6dedf7ceeeb51904c35556da2bd147e6c256a280ff125" "/opt/rustwide/cargo-home/bin/cargo" "+09eeb2bacb9b40b2ed1d47f03177442c0632cda1" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]     Checking memchr v2.8.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]     Checking const-oid v0.9.6
[INFO] [stderr]     Checking futures-io v0.3.32
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]     Checking indexmap v2.13.1
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]     Checking rustls-pki-types v1.14.0
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]    Compiling cc v1.2.59
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]     Checking hdrhistogram v7.5.4
[INFO] [stderr]     Checking writeable v0.6.3
[INFO] [stderr]     Checking litemap v0.8.2
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking openssl-probe v0.2.1
[INFO] [stderr]    Compiling num-conv v0.2.1
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling openssl-sys v0.9.112
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling tinyvec v1.11.0
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]     Checking der v0.7.10
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling openssl v0.10.76
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling tokio v1.51.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling pest v2.8.6
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling crc v3.4.0
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling uuid v1.23.0
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]     Checking home v0.5.12
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling unicode-properties v0.1.4
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling pest_meta v2.8.6
[INFO] [stderr]    Compiling stringprep v0.1.5
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]     Checking ff v0.13.1
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]     Checking matchit v0.7.3
[INFO] [stderr]    Compiling whoami v1.6.1
[INFO] [stderr]     Checking base16ct v0.2.0
[INFO] [stderr]     Checking glob v0.3.3
[INFO] [stderr]     Checking sec1 v0.7.3
[INFO] [stderr]     Checking group v0.13.0
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling pest_generator v2.8.6
[INFO] [stderr]    Compiling rustls-webpki v0.103.10
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]     Checking dlv-list v0.5.2
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]     Checking crypto-bigint v0.5.5
[INFO] [stderr]     Checking toml_write v0.1.2
[INFO] [stderr]    Compiling protobuf v3.7.2
[INFO] [stderr]     Checking winnow v0.7.15
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling pin-project-internal v1.1.11
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking elliptic-curve v0.13.8
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]    Compiling pest_derive v2.8.6
[INFO] [stderr]     Checking zerofrom v0.1.7
[INFO] [stderr]     Checking tungstenite v0.28.0
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]     Checking polyval v0.6.2
[INFO] [stderr]     Checking yoke v0.8.2
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking pin-project v1.1.11
[INFO] [stderr]     Checking ordered-multimap v0.7.3
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]     Checking hashlink v0.8.4
[INFO] [stderr]     Checking opentelemetry v0.24.0
[INFO] [stderr]     Checking protobuf-support v3.7.2
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking rfc6979 v0.4.0
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking iri-string v0.7.12
[INFO] [stderr]    Compiling prometheus v0.14.0
[INFO] [stderr]     Checking unicode-segmentation v1.13.2
[INFO] [stderr]     Checking nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking yaml-rust2 v0.8.1
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]     Checking convert_case v0.6.0
[INFO] [stderr]     Checking ecdsa v0.16.9
[INFO] [stderr]     Checking rust-ini v0.20.0
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking ghash v0.5.1
[INFO] [stderr]     Checking simple_asn1 v0.6.4
[INFO] [stderr]     Checking tungstenite v0.26.2
[INFO] [stderr]     Checking ed25519 v2.2.3
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking blowfish v0.9.1
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]     Checking arc-swap v1.9.0
[INFO] [stderr]     Checking ureq-proto v0.6.0
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking axum-core v0.4.5
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]     Checking futures-intrusive v0.5.0
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking json5 v0.4.1
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking pem v3.0.6
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling bollard-buildkit-proto v0.7.0
[INFO] [stderr]     Checking utf8-zero v0.8.1
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]     Checking ureq v3.3.0
[INFO] [stderr]     Checking sha3 v0.10.8
[INFO] [stderr]     Checking jsonwebtoken v9.3.1
[INFO] [stderr]    Compiling prost-derive v0.13.5
[INFO] [stderr]    Compiling prost-derive v0.14.3
[INFO] [stderr]     Checking ed25519-dalek v2.2.0
[INFO] [stderr]     Checking aes-gcm v0.10.3
[INFO] [stderr]     Checking bcrypt v0.17.1
[INFO] [stderr]     Checking k256 v0.13.4
[INFO] [stderr]    Compiling structmeta-derive v0.3.0
[INFO] [stderr]     Checking rustix v1.1.4
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]    Compiling serde_with_macros v3.18.0
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking filetime v0.2.27
[INFO] [stderr]     Checking rustls-native-certs v0.8.3
[INFO] [stderr]     Checking rustc-hash v2.1.2
[INFO] [stderr]     Checking ferroid v0.8.9
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking docker_credential v1.3.2
[INFO] [stderr]     Checking etcetera v0.11.0
[INFO] [stderr]    Compiling sqlx-core v0.8.6
[INFO] [stderr]    Compiling structmeta v0.3.0
[INFO] [stderr]     Checking config v0.14.1
[INFO] [stderr]     Checking prost v0.14.3
[INFO] [stderr]     Checking prost-types v0.14.3
[INFO] [stderr]     Checking prost v0.13.5
[INFO] [stderr]     Checking serde_with v3.18.0
[INFO] [stderr]     Checking xattr v1.6.1
[INFO] [stderr]    Compiling sqlx-postgres v0.8.6
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tokio-tungstenite v0.28.0
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tokio-tungstenite v0.26.2
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]    Compiling parse-display-derive v0.9.1
[INFO] [stderr]     Checking opentelemetry_sdk v0.24.1
[INFO] [stderr]     Checking astral-tokio-tar v0.6.0
[INFO] [stderr]     Checking h2 v0.4.13
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking combine v4.6.7
[INFO] [stderr]     Checking parse-display v0.9.1
[INFO] [stderr]     Checking tracing-opentelemetry v0.25.0
[INFO] [stderr]     Checking axum v0.7.9
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking hyper v1.9.0
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.6
[INFO] [stderr]     Checking redis v0.27.6
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]    Compiling sqlx-macros v0.8.6
[INFO] [stderr]     Checking sqlx v0.8.6
[INFO] [stderr]     Checking hyper-timeout v0.5.2
[INFO] [stderr]     Checking axum v0.8.8
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking hyperlocal v0.9.1
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking tonic v0.12.3
[INFO] [stderr]     Checking opentelemetry-proto v0.7.0
[INFO] [stderr]     Checking opentelemetry-otlp v0.17.0
[INFO] [stderr]     Checking tonic v0.14.5
[INFO] [stderr]     Checking intent-trading v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/auth/key_rotation.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::Rng;
[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 variable: `reset_secs`
[INFO] [stdout]    --> src/gateway/rate_limit.rs:121:17
[INFO] [stdout]     |
[INFO] [stdout] 121 |             let reset_secs = limit.window_secs;
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reset_secs`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SinkExt`
[INFO] [stdout]  --> src/bin/solver_bot.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use futures_util::{SinkExt, StreamExt};
[INFO] [stdout]   |                    ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `token_in` and `token_out` are never read
[INFO] [stdout]   --> src/bin/solver_bot.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | struct Intent {
[INFO] [stdout]    |        ------ fields in this struct
[INFO] [stdout] 59 |     id: Uuid, #[allow(dead_code)] user_id: String,
[INFO] [stdout] 60 |     token_in: String, token_out: String,
[INFO] [stdout]    |     ^^^^^^^^          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Intent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `min` is never used
[INFO] [stdout]   --> src/bin/load_test/metrics.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl LatencyBucket {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn min(&self) -> f64 {
[INFO] [stdout]    |            ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `email` is never read
[INFO] [stdout]   --> src/bin/load_test/users.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct TestUser {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub email: String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking tonic-prost v0.14.5
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/auth/key_rotation.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::Rng;
[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: `rand::Rng`
[INFO] [stdout]   --> src/chaos/engine.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rand::Rng;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::wallet::chain::ChainAdapter`
[INFO] [stdout]  --> src/cross_chain/service.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::wallet::chain::ChainAdapter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IntentStatus`
[INFO] [stdout]  --> src/db/storage.rs:7:37
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::models::intent::{Intent, IntentStatus};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/db/stream_bus.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/health/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IntentStatus` and `Intent`
[INFO] [stdout]  --> src/models/mod.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use intent::{Intent, IntentStatus};
[INFO] [stdout]   |                  ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bid::SolverBid`
[INFO] [stdout]  --> src/models/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use bid::SolverBid;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fill::Fill`
[INFO] [stdout]  --> src/models/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use fill::Fill;
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ExecutionStatus` and `Execution`
[INFO] [stdout]  --> src/models/mod.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use execution::{Execution, ExecutionStatus};
[INFO] [stdout]   |                     ^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `signer::sign_request`
[INFO] [stdout]  --> src/signing/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use signer::sign_request;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::fees::service as fee_engine`
[INFO] [stdout]  --> src/settlement/engine.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::fees::service as fee_engine;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::markets::model::Market`
[INFO] [stdout]  --> src/settlement/engine.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::markets::model::Market;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::models::intent::IntentStatus`
[INFO] [stdout]  --> src/settlement/handler.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::models::intent::IntentStatus;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TxStatus`
[INFO] [stdout]  --> src/wallet/repository.rs:5:39
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::model::{TransactionRecord, TxStatus, Wallet};
[INFO] [stdout]   |                                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TxState`
[INFO] [stdout]  --> src/wallet/service.rs:6:62
[INFO] [stdout]   |
[INFO] [stdout] 6 | use super::chain::{ChainAdapter, ChainError, SettlementData, TxState};
[INFO] [stdout]   |                                                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Serialize`
[INFO] [stdout]  --> src/wallet/solana_tx.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use serde::Serialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::broadcast`
[INFO] [stdout]  --> src/ws/handler.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tokio::sync::broadcast;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> src/ws/handler.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking bollard-stubs v1.52.1-rc.29.1.3
[INFO] [stdout] warning: unused import: `sha2::Digest`
[INFO] [stdout]   --> src/cross_chain/wormhole.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use sha2::Digest;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncCommands`
[INFO] [stdout]  --> src/db/stream_bus.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use redis::{AsyncCommands, Client, Value};
[INFO] [stdout]   |             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `k256::elliptic_curve::sec1::ToEncodedPoint`
[INFO] [stdout]   --> src/wallet/eth_sign.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use k256::elliptic_curve::sec1::ToEncodedPoint;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `k256::elliptic_curve::sec1::ToEncodedPoint`
[INFO] [stdout]  --> src/wallet/signing.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use k256::elliptic_curve::sec1::ToEncodedPoint;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `svc`
[INFO] [stdout]    --> src/cross_chain/worker.rs:217:29
[INFO] [stdout]     |
[INFO] [stdout] 217 | async fn finalize_completed(svc: &CrossChainService, pool: &PgPool) -> u32 {
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_svc`
[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/idempotency/middleware.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |     let mut response = Response::builder()
[INFO] [stdout]    |         ----^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bucket_interval`
[INFO] [stdout]   --> src/market_data/repository.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let bucket_interval = match interval {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bucket_interval`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]    --> src/settlement/retry.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 |     engine: &SettlementEngine,
[INFO] [stdout]     |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]   --> src/wallet/service.rs:97:14
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let (seed, address, encrypted_key, nonce) = match chain {
[INFO] [stdout]    |              ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `oracle`
[INFO] [stdout]   --> src/workers/stop_order_monitor.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     oracle: &OracleService,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_oracle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client_id`
[INFO] [stdout]   --> src/ws/handler.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let client_id = session.id;
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sender_internal_tx`
[INFO] [stdout]   --> src/ws/handler.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let sender_internal_tx = internal_tx.clone();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_internal_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `find_by_id` is never used
[INFO] [stdout]   --> src/accounts/repository.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl AccountRepository {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub async fn find_by_id(&self, id: Uuid) -> Result<Option<Account>, sqlx::Error> {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_account` is never used
[INFO] [stdout]   --> src/accounts/service.rs:50:18
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl AccountService {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub async fn get_account(&self, account_id: Uuid) -> Result<Option<Account>, AccountError> {
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `key_hash` is never read
[INFO] [stdout]   --> src/api_keys/service.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct ApiKey {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub key_hash: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ApiKey` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Revoked`, `InvalidKey`, and `HashError` are never constructed
[INFO] [stdout]   --> src/api_keys/service.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum ApiKeyError {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 32 |     NotFound,
[INFO] [stdout] 33 |     Revoked,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 34 |     InvalidKey,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 35 |     DbError(sqlx::Error),
[INFO] [stdout] 36 |     HashError(String),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ApiKeyError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `validate_key` is never used
[INFO] [stdout]    --> src/api_keys/service.rs:101:18
[INFO] [stdout]     |
[INFO] [stdout]  61 | impl ApiKeyService {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub async fn validate_key(&self, raw_key: &str) -> Result<ApiKey, ApiKeyError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NoSigningKey` is never constructed
[INFO] [stdout]   --> src/auth/jwt.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub enum JwtError {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 50 |     NoSigningKey,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `JwtError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_token_sync` is never used
[INFO] [stdout]    --> src/auth/jwt.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub fn validate_token_sync(token: &str) -> Result<Claims, JwtError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_claims` is never used
[INFO] [stdout]   --> src/auth/middleware.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn extract_claims(request: &Request) -> Option<&Claims> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LockRequest` is never constructed
[INFO] [stdout]   --> src/balances/model.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct LockRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TransferRequest` is never constructed
[INFO] [stdout]   --> src/balances/model.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct TransferRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `InsufficientLockedBalance` is never constructed
[INFO] [stdout]   --> src/balances/service.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum BalanceError {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] 15 |     InsufficientBalance,
[INFO] [stdout] 16 |     InsufficientLockedBalance,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BalanceError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `lock_balance`, `unlock_balance`, and `transfer` are never used
[INFO] [stdout]    --> src/balances/service.rs:114:18
[INFO] [stdout]     |
[INFO] [stdout]  46 | impl BalanceService {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub async fn lock_balance(
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub async fn unlock_balance(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub async fn transfer(
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `MARKET_PRICE` and `ORDERBOOK` are never used
[INFO] [stdout]   --> src/cache/service.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl CacheTtl {
[INFO] [stdout]    | ------------- associated constants in this implementation
[INFO] [stdout] 14 |     pub const MARKETS: u64 = 60;
[INFO] [stdout] 15 |     pub const MARKET_PRICE: u64 = 5;
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 16 |     pub const BALANCES: u64 = 10;
[INFO] [stdout] 17 |     pub const ORDERBOOK: u64 = 3;
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `kind` and `target` are never read
[INFO] [stdout]   --> src/chaos/faults.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct ActiveFault {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 69 |     pub kind: FaultKind,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub target: Option<String>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `trigger_count` is never used
[INFO] [stdout]   --> src/chaos/faults.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl ActiveFault {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub fn trigger_count(&self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_enabled`, `should_fault`, and `snapshot` are never used
[INFO] [stdout]    --> src/chaos/faults.rs:138:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl FaultRegistry {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub fn is_enabled(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn should_fault(&self, kind: &FaultKind) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn snapshot(&self) -> Vec<(&'static str, bool, u64)> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]   --> src/circuit_breaker.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl State {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 32 |     pub fn as_str(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `ethereum_rpc`, `solana_rpc`, and `price_oracle` are never used
[INFO] [stdout]   --> src/circuit_breaker.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | impl CircuitBreakerConfig {
[INFO] [stdout]    | ------------------------- associated functions in this implementation
[INFO] [stdout] 67 |     pub fn ethereum_rpc() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn solana_rpc() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn price_oracle(source: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `state`, `name`, and `reset` are never used
[INFO] [stdout]    --> src/circuit_breaker.rs:178:18
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl CircuitBreaker {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub async fn state(&self) -> State {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn name(&self) -> &str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub async fn reset(&self) {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `gateway_addr`, `upstream_url`, `fee_rate`, `rate_limit_per_minute`, and `rate_limit_window_secs` are never read
[INFO] [stdout]   --> src/config/settings.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct Settings {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub gateway_addr: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub upstream_url: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fee_rate: f64,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub rate_limit_per_minute: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub rate_limit_window_secs: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Settings` 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 `BridgeFeeEstimate` is never constructed
[INFO] [stdout]   --> src/cross_chain/bridge.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct BridgeFeeEstimate {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Other` is never constructed
[INFO] [stdout]   --> src/cross_chain/bridge.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub enum BridgeError {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 85 |     Other(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BridgeError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `estimate_bridge_fee` is never used
[INFO] [stdout]    --> src/cross_chain/bridge.rs:134:14
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub trait BridgeAdapter: Send + Sync {
[INFO] [stdout]     |           ------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 134 |     async fn estimate_bridge_fee(&self, params: &BridgeTransferParams) -> Result<BridgeFeeEstimate, BridgeError>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_secret` is never used
[INFO] [stdout]   --> src/cross_chain/htlc/crypto.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn generate_secret() -> Secret {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `from_hex` is never used
[INFO] [stdout]   --> src/cross_chain/htlc/crypto.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn from_hex(hex_str: &str) -> Result<Vec<u8>, String> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_terminal` is never used
[INFO] [stdout]   --> src/cross_chain/htlc/model.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl HtlcStatus {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 33 |     pub fn is_terminal(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CreateHtlcParams` is never constructed
[INFO] [stdout]   --> src/cross_chain/htlc/model.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct CreateHtlcParams {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_TIMELOCK_SECS` is never used
[INFO] [stdout]   --> src/cross_chain/htlc/service.rs:45:7
[INFO] [stdout]    |
[INFO] [stdout] 45 | const DEFAULT_TIMELOCK_SECS: i64 = 1800;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Expired` is never constructed
[INFO] [stdout]   --> src/cross_chain/htlc/service.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub enum HtlcError {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 52 |     Expired,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HtlcError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `create_swap`, `store_secret`, `record_dest_claim_with_stored_secret`, `extract_secret_from_logs`, `record_dest_claim_unchecked`, and `get_swap_by_fill` are never used
[INFO] [stdout]    --> src/cross_chain/htlc/service.rs:88:18
[INFO] [stdout]     |
[INFO] [stdout]  78 | impl HtlcService {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub async fn create_swap(
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub async fn store_secret(
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 328 |     pub async fn record_dest_claim_with_stored_secret(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 384 |     pub fn extract_secret_from_logs(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 419 |     pub async fn record_dest_claim_unchecked(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 530 |     pub async fn get_swap_by_fill(&self, fill_id: Uuid) -> Result<Option<HtlcSwap>, HtlcError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OFT_QUOTE_SEND_SELECTOR` is never used
[INFO] [stdout]   --> src/cross_chain/layerzero.rs:64:7
[INFO] [stdout]    |
[INFO] [stdout] 64 | const OFT_QUOTE_SEND_SELECTOR: [u8; 4] = [0x1f, 0x0a, 0x27, 0x68];
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OFT_SENT_TOPIC` is never used
[INFO] [stdout]   --> src/cross_chain/layerzero.rs:74:7
[INFO] [stdout]    |
[INFO] [stdout] 74 | const OFT_SENT_TOPIC: &str =
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `src_tx_hash` is never read
[INFO] [stdout]    --> src/cross_chain/layerzero.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | struct ScanMessage {
[INFO] [stdout]     |        ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 122 |     src_tx_hash: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ScanMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `poll_message_delivery` is never used
[INFO] [stdout]    --> src/cross_chain/layerzero.rs:543:14
[INFO] [stdout]     |
[INFO] [stdout] 165 | impl LayerZeroBridge {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 543 |     async fn poll_message_delivery(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_vaa` is never used
[INFO] [stdout]   --> src/cross_chain/mock_guardian.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn build_vaa(
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_vaa_simple` is never used
[INFO] [stdout]   --> src/cross_chain/mock_guardian.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub fn build_vaa_simple(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `base64_encode` is never used
[INFO] [stdout]    --> src/cross_chain/mock_guardian.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub fn base64_encode(data: &[u8]) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FailureMode` is never used
[INFO] [stdout]    --> src/cross_chain/mock_guardian.rs:134:10
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub enum FailureMode {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VaaKey` is never constructed
[INFO] [stdout]    --> src/cross_chain/mock_guardian.rs:153:8
[INFO] [stdout]     |
[INFO] [stdout] 153 | struct VaaKey {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecordedRequest` is never constructed
[INFO] [stdout]    --> src/cross_chain/mock_guardian.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub struct RecordedRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ServerState` is never constructed
[INFO] [stdout]    --> src/cross_chain/mock_guardian.rs:166:8
[INFO] [stdout]     |
[INFO] [stdout] 166 | struct ServerState {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/cross_chain/mock_guardian.rs:191:8
[INFO] [stdout]     |
[INFO] [stdout] 190 | impl ServerState {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] 191 |     fn new(num_guardians: u8, response_delay: Duration) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MockGuardian` is never constructed
[INFO] [stdout]    --> src/cross_chain/mock_guardian.rs:210:12
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub struct MockGuardian {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/cross_chain/mock_guardian.rs:217:12
[INFO] [stdout]     |
[INFO] [stdout] 216 | impl MockGuardian {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 217 |     pub fn builder() -> MockGuardianBuilder {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 227 |     pub async fn register_vaa(
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 262 |     pub async fn register_vaa_by_tx(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 291 |     pub async fn inject_failure(&self, mode: FailureMode) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 297 |     pub async fn clear_failure(&self) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 303 |     pub async fn request_count(&self) -> u64 {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 309 |     pub async fn recorded_requests(&self) -> Vec<RecordedRequest> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 315 |     pub async fn set_pending_count(&self, count: u32) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 321 |     pub fn addr(&self) -> Option<SocketAddr> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 326 |     pub fn url(&self) -> String {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub async fn start(&mut self) -> SocketAddr {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 366 |     pub async fn shutdown(&self) {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MockGuardianBuilder` is never constructed
[INFO] [stdout]    --> src/cross_chain/mock_guardian.rs:374:12
[INFO] [stdout]     |
[INFO] [stdout] 374 | pub struct MockGuardianBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `num_guardians`, `response_delay_ms`, `auto_generate`, `pending_count`, and `build` are never used
[INFO] [stdout]    --> src/cross_chain/mock_guardian.rs:383:12
[INFO] [stdout]     |
[INFO] [stdout] 381 | impl MockGuardianBuilder {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] 382 |     /// Number of guardian signatures in generated VAAs (default: 13).
[INFO] [stdout] 383 |     pub fn num_guardians(mut self, n: u8) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 389 |     pub fn response_delay_ms(mut self, ms: u64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 395 |     pub fn auto_generate(mut self, enable: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 402 |     pub fn pending_count(mut self, n: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 407 |     pub fn build(self) -> MockGuardian {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GuardianJsonResponse` is never constructed
[INFO] [stdout]    --> src/cross_chain/mock_guardian.rs:426:8
[INFO] [stdout]     |
[INFO] [stdout] 426 | struct GuardianJsonResponse {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GuardianData` is never constructed
[INFO] [stdout]    --> src/cross_chain/mock_guardian.rs:435:8
[INFO] [stdout]     |
[INFO] [stdout] 435 | struct GuardianData {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_signed_vaa` is never used
[INFO] [stdout]    --> src/cross_chain/mock_guardian.rs:441:10
[INFO] [stdout]     |
[INFO] [stdout] 441 | async fn handle_signed_vaa(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_signed_vaa_by_tx` is never used
[INFO] [stdout]    --> src/cross_chain/mock_guardian.rs:642:10
[INFO] [stdout]     |
[INFO] [stdout] 642 | async fn handle_signed_vaa_by_tx(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_TIMEOUT_SECS` is never used
[INFO] [stdout]   --> src/cross_chain/service.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const DEFAULT_TIMEOUT_SECS: i64 = 600;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CROSS_CHAIN_COLLATERAL_MULTIPLIER` is never used
[INFO] [stdout]   --> src/cross_chain/service.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const CROSS_CHAIN_COLLATERAL_MULTIPLIER: f64 = 1.5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InvalidState`, `ChainError`, and `Timeout` are never constructed
[INFO] [stdout]   --> src/cross_chain/service.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum CrossChainError {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] 20 |     LegNotFound,
[INFO] [stdout] 21 |     InvalidState(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 22 |     ChainError(String),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 23 |     Timeout,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CrossChainError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `chains` is never read
[INFO] [stdout]   --> src/cross_chain/service.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct CrossChainService {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 46 |     pool: PgPool,
[INFO] [stdout] 47 |     chains: Arc<ChainRegistry>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `create_settlement`, `required_collateral`, `validate_solver_for_cross_chain`, and `insert_leg` are never used
[INFO] [stdout]    --> src/cross_chain/service.rs:60:18
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl CrossChainService {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  60 |     pub async fn create_settlement(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     pub fn required_collateral(&self, amount: i64) -> i64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 263 |     pub async fn validate_solver_for_cross_chain(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 300 |     async fn insert_leg(&self, leg: &CrossChainLeg) -> Result<(), CrossChainError> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CORE_BRIDGE_ETHEREUM` is never used
[INFO] [stdout]   --> src/cross_chain/wormhole.rs:32:7
[INFO] [stdout]    |
[INFO] [stdout] 32 | const CORE_BRIDGE_ETHEREUM: &str = "0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `message` is never read
[INFO] [stdout]   --> src/cross_chain/wormhole.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 93 | struct GuardianResponse {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] 94 |     data: Option<GuardianVaaResponse>,
[INFO] [stdout] 95 |     message: Option<String>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GuardianResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `evm_send_raw_tx` is never used
[INFO] [stdout]    --> src/cross_chain/wormhole.rs:265:14
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl WormholeBridge {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 265 |     async fn evm_send_raw_tx(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ALL_CHANNELS` is never used
[INFO] [stdout]   --> src/db/redis.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const ALL_CHANNELS: &[&str] = &[
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `subscribe` is never used
[INFO] [stdout]    --> src/db/redis.rs:105:18
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl EventBus {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub async fn subscribe<F, Fut>(
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `insert_intent` and `list_active_intents` are never used
[INFO] [stdout]   --> src/db/storage.rs:24:18
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Storage {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub async fn insert_intent(&self, intent: &Intent) -> Result<(), sqlx::Error> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub async fn list_active_intents(&self) -> Vec<Intent> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `client` is never read
[INFO] [stdout]   --> src/db/stream_bus.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct StreamBus {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 48 |     client: Client,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StreamBus` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `client` and `read_recent` are never used
[INFO] [stdout]    --> src/db/stream_bus.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl StreamBus {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  59 |     pub fn client(&self) -> &Client {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     pub async fn read_recent(
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_xrange_result` is never used
[INFO] [stdout]    --> src/db/stream_bus.rs:281:4
[INFO] [stdout]     |
[INFO] [stdout] 281 | fn parse_xrange_result(value: &Value) -> Vec<StreamEvent> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `create_double_entry` is never used
[INFO] [stdout]   --> src/ledger/service.rs:60:18
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl LedgerService {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub async fn create_double_entry(
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PLATFORM_ACCOUNT_ID` is never used
[INFO] [stdout]  --> src/fees/service.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const PLATFORM_ACCOUNT_ID: &str = "00000000-0000-0000-0000-000000000001";
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SOLVER_FEE_SHARE` is never used
[INFO] [stdout]   --> src/fees/service.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const SOLVER_FEE_SHARE: f64 = 0.3; // solver gets 30% of total fee
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAKER_SHARE` is never used
[INFO] [stdout]   --> src/fees/service.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const MAKER_SHARE: f64 = 0.4; // maker pays 40% of total fee
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TAKER_SHARE` is never used
[INFO] [stdout]   --> src/fees/service.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const TAKER_SHARE: f64 = 0.6; // taker pays 60% of total fee
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FeeBreakdown` is never constructed
[INFO] [stdout]   --> src/fees/service.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct FeeBreakdown {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FeeError` is never used
[INFO] [stdout]   --> src/fees/service.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum FeeError {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `platform_account_id` is never used
[INFO] [stdout]   --> src/fees/service.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn platform_account_id() -> Uuid {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_fees` is never used
[INFO] [stdout]   --> src/fees/service.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn calculate_fees(trade: &Trade, market: &Market) -> FeeBreakdown {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_fees` is never used
[INFO] [stdout]   --> src/fees/service.rs:65:14
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub async fn apply_fees(
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `debit_fee` is never used
[INFO] [stdout]    --> src/fees/service.rs:112:10
[INFO] [stdout]     |
[INFO] [stdout] 112 | async fn debit_fee(
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `credit_fee` is never used
[INFO] [stdout]    --> src/fees/service.rs:135:10
[INFO] [stdout]     |
[INFO] [stdout] 135 | async fn credit_fee(
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `insert_fee_ledger` is never used
[INFO] [stdout]    --> src/fees/service.rs:181:10
[INFO] [stdout]     |
[INFO] [stdout] 181 | async fn insert_fee_ledger(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `key` is never read
[INFO] [stdout]  --> src/idempotency/middleware.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct CachedResponse {
[INFO] [stdout]   |            -------------- field in this struct
[INFO] [stdout] 8 |     pub key: String,
[INFO] [stdout]   |         ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `CachedResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `insert_trade` is never used
[INFO] [stdout]   --> src/market_data/repository.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl MarketDataRepository {
[INFO] [stdout]    | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub async fn insert_trade(&self, trade: &MarketTrade) -> Result<(), sqlx::Error> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `record_trade` is never used
[INFO] [stdout]   --> src/market_data/service.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl MarketDataService {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub async fn record_trade(&self, trade: MarketTrade) -> Result<(), MarketDataError> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `to_base_units`, `to_quote_units`, and `is_ethereum` are never used
[INFO] [stdout]   --> src/markets/model.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl Market {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] 31 |     /// Convert a human-readable amount to on-chain base units using base_decimals.
[INFO] [stdout] 32 |     pub fn to_base_units(&self, amount: f64) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn to_quote_units(&self, amount: f64) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn is_ethereum(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `find_by_chain` is never used
[INFO] [stdout]   --> src/markets/repository.rs:54:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl MarketRepository {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub async fn find_by_chain(&self, chain: &str) -> Result<Vec<Market>, sqlx::Error> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ETH_TX_SUBMITTED` is never used
[INFO] [stdout]    --> src/metrics/counters.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub static ETH_TX_SUBMITTED: Lazy<IntCounterVec> = Lazy::new(|| {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ETH_TX_RETRIES` is never used
[INFO] [stdout]    --> src/metrics/counters.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub static ETH_TX_RETRIES: Lazy<IntCounter> = Lazy::new(|| {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_chains`, `with_limit`, `with_stop_loss`, `with_stop_buy`, `with_stop_limit`, and `with_stop` are never used
[INFO] [stdout]    --> src/models/intent.rs:81:12
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Intent {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub fn with_chains(mut self, source: &str, destination: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn with_limit(mut self, price: i64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn with_stop_loss(mut self, price: i64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn with_stop_buy(mut self, price: i64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn with_stop_limit(mut self, stop: i64, limit: i64, side: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn with_stop(mut self, price: i64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HISTORY_RETENTION_ROWS` is never used
[INFO] [stdout]   --> src/oracle/service.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const HISTORY_RETENTION_ROWS: i64 = 1000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CoinbaseTicker` is never constructed
[INFO] [stdout]   --> src/oracle/service.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | struct CoinbaseTicker {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `has_role` and `has_permission` are never used
[INFO] [stdout]    --> src/rbac/service.rs:108:18
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl RbacService {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub async fn has_role(&self, user_id: Uuid, role_name: &str) -> Result<bool, RbacError> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub async fn has_permission(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `MarketInactive` is never constructed
[INFO] [stdout]   --> src/risk/service.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum RiskRejection {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 22 |     MarketInactive,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RiskRejection` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_bids` and `get_best_bid` are never used
[INFO] [stdout]    --> src/services/bid_service.rs:97:18
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl BidService {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub async fn get_bids(&self, intent_id: &Uuid) -> Vec<SolverBid> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub async fn get_best_bid(&self, intent_id: &Uuid) -> Option<SolverBid> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BalanceError` is never constructed
[INFO] [stdout]   --> src/services/intent_service.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum IntentError {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 23 |     BalanceError(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IntentError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update_intent_status`, `fail_intent`, and `start_bidding` are never used
[INFO] [stdout]    --> src/services/intent_service.rs:205:18
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl IntentService {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub async fn update_intent_status(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 262 |     pub async fn fail_intent(
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 308 |     pub async fn start_bidding(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sign_request` is never used
[INFO] [stdout]   --> src/signing/signer.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn sign_request(
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `FeeError`, `ChainError`, and `UnsupportedChain` are never constructed
[INFO] [stdout]   --> src/settlement/engine.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum SettlementError {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 23 |     FeeError(String),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 24 |     ChainError(String),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 25 |     UnsupportedChain(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SettlementError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `resolve_fill_chain` and `settle_trade_with_retry` are never used
[INFO] [stdout]    --> src/settlement/engine.rs:240:18
[INFO] [stdout]     |
[INFO] [stdout]  54 | impl SettlementEngine {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 240 |     pub async fn resolve_fill_chain(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 378 |     pub async fn settle_trade_with_retry(&self, trade_id: Uuid) -> Result<Trade, SettlementError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_failure` is never used
[INFO] [stdout]   --> src/settlement/retry.rs:25:14
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub async fn record_failure(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_cancelled` is never used
[INFO] [stdout]   --> src/shutdown/mod.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Shutdown {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn is_cancelled(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `find_by_api_key`, `find_or_create`, `update`, and `find_all` are never used
[INFO] [stdout]    --> src/solver_reputation/repository.rs:57:18
[INFO] [stdout]     |
[INFO] [stdout]  11 | impl SolverRepository {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub async fn find_by_api_key(&self, api_key: &str) -> Result<Option<Solver>, sqlx::Error> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  64 |     pub async fn find_or_create(&self, id: Uuid, name: &str) -> Result<Solver, sqlx::Error> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub async fn update(&self, solver: &Solver) -> Result<(), sqlx::Error> {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |     pub async fn find_all(&self) -> Result<Vec<Solver>, sqlx::Error> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `authenticate`, `record_successful_trade`, `record_failed_trade`, `record_fill`, `penalize_failed_settlement`, and `pool` are never used
[INFO] [stdout]    --> src/solver_reputation/service.rs:81:18
[INFO] [stdout]     |
[INFO] [stdout]  41 | impl SolverReputationService {
[INFO] [stdout]     | ---------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub async fn authenticate(&self, api_key: &str) -> Result<Solver, SolverError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub async fn record_successful_trade(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub async fn record_failed_trade(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub async fn record_fill(
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub async fn penalize_failed_settlement(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     pub fn pool(&self) -> &PgPool {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_reputation` is never used
[INFO] [stdout]    --> src/solver_reputation/service.rs:268:8
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub fn calculate_reputation(solver: &Solver) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_auction_result` is never used
[INFO] [stdout]    --> src/solver_reputation/stats.rs:185:14
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub async fn record_auction_result(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `IntentError` is never constructed
[INFO] [stdout]   --> src/twap/service.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum TwapError {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 18 |     IntentError(String),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TwapError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `current_trace_id` is never used
[INFO] [stdout]   --> src/telemetry.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn current_trace_id() -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inject_trace_context` is never used
[INFO] [stdout]   --> src/telemetry_middleware.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn inject_trace_context() -> Vec<(String, String)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FeeEstimate` is never constructed
[INFO] [stdout]   --> src/wallet/chain.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct FeeEstimate {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SettlementData` is never constructed
[INFO] [stdout]   --> src/wallet/chain.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct SettlementData {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UnsignedTx` is never constructed
[INFO] [stdout]   --> src/wallet/chain.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct UnsignedTx {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedTx` is never constructed
[INFO] [stdout]   --> src/wallet/chain.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct SignedTx {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Signing` and `Other` are never constructed
[INFO] [stdout]   --> src/wallet/chain.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub enum ChainError {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 59 |     Rpc(String),
[INFO] [stdout] 60 |     Signing(String),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 61 |     Unsupported(String),
[INFO] [stdout] 62 |     Other(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ChainError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `send_transaction`, `estimate_fees`, `get_balance`, `build_settlement_tx`, and `sign_transaction` are never used
[INFO] [stdout]    --> src/wallet/chain.rs:98:14
[INFO] [stdout]     |
[INFO] [stdout]  84 | pub trait ChainAdapter: Send + Sync {
[INFO] [stdout]     |           ------------ methods in this trait
[INFO] [stdout] ...
[INFO] [stdout]  98 |     async fn send_transaction(&self, tx: &SignedTx) -> Result<String, ChainError>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     async fn estimate_fees(&self, data: &SettlementData) -> Result<FeeEstimate, ChainError>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     async fn get_balance(&self, address: &str, token: &str) -> Result<u64, ChainError>;
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     async fn build_settlement_tx(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn sign_transaction(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `function_selector` is never used
[INFO] [stdout]   --> src/wallet/erc20_abi.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn function_selector(signature: &str) -> [u8; 4] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `keccak256` is never used
[INFO] [stdout]   --> src/wallet/erc20_abi.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn keccak256(data: &[u8]) -> [u8; 32] {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TRANSFER_SELECTOR` is never used
[INFO] [stdout]   --> src/wallet/erc20_abi.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const TRANSFER_SELECTOR: [u8; 4] = [0xa9, 0x05, 0x9c, 0xbb];
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `APPROVE_SELECTOR` is never used
[INFO] [stdout]   --> src/wallet/erc20_abi.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const APPROVE_SELECTOR: [u8; 4] = [0x09, 0x5e, 0xa7, 0xb3];
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TRANSFER_FROM_SELECTOR` is never used
[INFO] [stdout]   --> src/wallet/erc20_abi.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const TRANSFER_FROM_SELECTOR: [u8; 4] = [0x23, 0xb8, 0x72, 0xdd];
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BALANCE_OF_SELECTOR` is never used
[INFO] [stdout]   --> src/wallet/erc20_abi.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const BALANCE_OF_SELECTOR: [u8; 4] = [0x70, 0xa0, 0x82, 0x31];
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ALLOWANCE_SELECTOR` is never used
[INFO] [stdout]   --> src/wallet/erc20_abi.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const ALLOWANCE_SELECTOR: [u8; 4] = [0xdd, 0x62, 0xed, 0x3e];
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_address` is never used
[INFO] [stdout]   --> src/wallet/erc20_abi.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn encode_address(addr: &[u8; 20]) -> [u8; 32] {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_uint256` is never used
[INFO] [stdout]   --> src/wallet/erc20_abi.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn encode_uint256(value: u128) -> [u8; 32] {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_address` is never used
[INFO] [stdout]   --> src/wallet/erc20_abi.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn parse_address(addr: &str) -> Result<[u8; 20], String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_transfer` is never used
[INFO] [stdout]   --> src/wallet/erc20_abi.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn encode_transfer(to: &[u8; 20], amount: u128) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_approve` is never used
[INFO] [stdout]   --> src/wallet/erc20_abi.rs:80:8
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub fn encode_approve(spender: &[u8; 20], amount: u128) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_transfer_from` is never used
[INFO] [stdout]   --> src/wallet/erc20_abi.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub fn encode_transfer_from(from: &[u8; 20], to: &[u8; 20], amount: u128) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_balance_of` is never used
[INFO] [stdout]    --> src/wallet/erc20_abi.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn encode_balance_of(account: &[u8; 20]) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `keccak256` is never used
[INFO] [stdout]   --> src/wallet/eth_sign.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn keccak256(data: &[u8]) -> [u8; 32] {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sign_hash` is never used
[INFO] [stdout]   --> src/wallet/eth_sign.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn sign_hash(
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ecrecover` is never used
[INFO] [stdout]   --> src/wallet/eth_sign.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn ecrecover(
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pubkey_to_address` is never used
[INFO] [stdout]   --> src/wallet/eth_sign.rs:83:4
[INFO] [stdout]    |
[INFO] [stdout] 83 | fn pubkey_to_address(vk: &VerifyingKey) -> [u8; 20] {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `private_key_to_address` is never used
[INFO] [stdout]   --> src/wallet/eth_sign.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub fn private_key_to_address(private_key: &[u8; 32]) -> Result<[u8; 20], String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sign_legacy_tx` is never used
[INFO] [stdout]    --> src/wallet/eth_sign.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub fn sign_legacy_tx(tx: &LegacyTxFields, private_key: &[u8; 32]) -> Result<Vec<u8>, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sign_eip1559_tx` is never used
[INFO] [stdout]    --> src/wallet/eth_sign.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn sign_eip1559_tx(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify_legacy_tx` is never used
[INFO] [stdout]    --> src/wallet/eth_sign.rs:151:8
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub fn verify_legacy_tx(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify_eip1559_tx` is never used
[INFO] [stdout]    --> src/wallet/eth_sign.rs:169:8
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub fn verify_eip1559_tx(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `EthUnsignedTxData` is never used
[INFO] [stdout]    --> src/wallet/eth_sign.rs:190:10
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub enum EthUnsignedTxData {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ERC20_TRANSFER_GAS` is never used
[INFO] [stdout]   --> src/wallet/ethereum.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const ERC20_TRANSFER_GAS: u64 = 65_000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GAS_ESTIMATE_BUFFER_PCT` is never used
[INFO] [stdout]   --> src/wallet/ethereum.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const GAS_ESTIMATE_BUFFER_PCT: u64 = 120;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_PRIORITY_FEE` is never used
[INFO] [stdout]   --> src/wallet/ethereum.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const DEFAULT_PRIORITY_FEE: u64 = 1_500_000_000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_PRIORITY_FEE` is never used
[INFO] [stdout]   --> src/wallet/ethereum.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const MIN_PRIORITY_FEE: u64 = 100_000_000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_PRIORITY_FEE` is never used
[INFO] [stdout]   --> src/wallet/ethereum.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 | const MAX_PRIORITY_FEE: u64 = 50_000_000_000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BASE_FEE_MULTIPLIER` is never used
[INFO] [stdout]   --> src/wallet/ethereum.rs:29:7
[INFO] [stdout]    |
[INFO] [stdout] 29 | const BASE_FEE_MULTIPLIER: u64 = 2;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_SEND_RETRIES` is never used
[INFO] [stdout]   --> src/wallet/ethereum.rs:32:7
[INFO] [stdout]    |
[INFO] [stdout] 32 | const MAX_SEND_RETRIES: u32 = 3;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RETRY_BASE_DELAY_MS` is never used
[INFO] [stdout]   --> src/wallet/ethereum.rs:35:7
[INFO] [stdout]    |
[INFO] [stdout] 35 | const RETRY_BASE_DELAY_MS: u64 = 500;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REPLACEMENT_BUMP_PCT` is never used
[INFO] [stdout]   --> src/wallet/ethereum.rs:38:7
[INFO] [stdout]    |
[INFO] [stdout] 38 | const REPLACEMENT_BUMP_PCT: u64 = 15;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GasParams` is never constructed
[INFO] [stdout]   --> src/wallet/ethereum.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | struct GasParams {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TX_TYPE_LEGACY` is never used
[INFO] [stdout]   --> src/wallet/ethereum.rs:59:7
[INFO] [stdout]    |
[INFO] [stdout] 59 | const TX_TYPE_LEGACY: u8 = 0x00;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TX_TYPE_EIP1559` is never used
[INFO] [stdout]   --> src/wallet/ethereum.rs:60:7
[INFO] [stdout]    |
[INFO] [stdout] 60 | const TX_TYPE_EIP1559: u8 = 0x02;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `estimate_gas_params`, `estimate_priority_fee`, `encode_type2_tx`, and `encode_legacy_tx` are never used
[INFO] [stdout]    --> src/wallet/ethereum.rs:76:14
[INFO] [stdout]     |
[INFO] [stdout]  68 | impl EthereumAdapter {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  76 |     async fn estimate_gas_params(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     async fn estimate_priority_fee(&self) -> u64 {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     fn encode_type2_tx(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     fn encode_legacy_tx(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `classify_send_error` is never used
[INFO] [stdout]    --> src/wallet/ethereum.rs:435:4
[INFO] [stdout]     |
[INFO] [stdout] 435 | fn classify_send_error(code: i64, msg: &str) -> (bool, &'static str) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TxPayload` is never constructed
[INFO] [stdout]   --> src/wallet/model.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct TxPayload {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_bytes` is never used
[INFO] [stdout]   --> src/wallet/rlp.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn encode_bytes(data: &[u8]) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_list` is never used
[INFO] [stdout]   --> src/wallet/rlp.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn encode_list(items: &[Vec<u8>]) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wrap_list` is never used
[INFO] [stdout]   --> src/wallet/rlp.rs:45:4
[INFO] [stdout]    |
[INFO] [stdout] 45 | fn wrap_list(payload: &[u8]) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_u64` is never used
[INFO] [stdout]   --> src/wallet/rlp.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn encode_u64(val: u64) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_u128` is never used
[INFO] [stdout]   --> src/wallet/rlp.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub fn encode_u128(val: u128) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_u256` is never used
[INFO] [stdout]   --> src/wallet/rlp.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn encode_u256(val: &[u8; 32]) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_empty` is never used
[INFO] [stdout]   --> src/wallet/rlp.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub fn encode_empty() -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_address` is never used
[INFO] [stdout]   --> src/wallet/rlp.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub fn encode_address(addr: &[u8; 20]) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LegacyTxFields` is never constructed
[INFO] [stdout]    --> src/wallet/rlp.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub struct LegacyTxFields {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_legacy_unsigned` is never used
[INFO] [stdout]    --> src/wallet/rlp.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn encode_legacy_unsigned(tx: &LegacyTxFields) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_legacy_signed` is never used
[INFO] [stdout]    --> src/wallet/rlp.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn encode_legacy_signed(tx: &LegacyTxFields, v: u64, r: &[u8; 32], s: &[u8; 32]) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Eip1559TxFields` is never constructed
[INFO] [stdout]    --> src/wallet/rlp.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct Eip1559TxFields {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_eip1559_unsigned` is never used
[INFO] [stdout]    --> src/wallet/rlp.rs:169:8
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub fn encode_eip1559_unsigned(tx: &Eip1559TxFields) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_eip1559_signed` is never used
[INFO] [stdout]    --> src/wallet/rlp.rs:195:8
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub fn encode_eip1559_signed(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_be_bytes_trimmed` is never used
[INFO] [stdout]    --> src/wallet/rlp.rs:226:4
[INFO] [stdout]     |
[INFO] [stdout] 226 | fn to_be_bytes_trimmed(val: u64) -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `find_wallet_by_address`, `insert_transaction`, and `update_tx_submitted` are never used
[INFO] [stdout]    --> src/wallet/repository.rs:59:18
[INFO] [stdout]     |
[INFO] [stdout]  11 | impl WalletRepository {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  59 |     pub async fn find_wallet_by_address(&self, address: &str) -> Result<Option<Wallet>, sqlx::Error> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     pub async fn insert_transaction(&self, tx: &TransactionRecord) -> Result<(), sqlx::Error> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub async fn update_tx_submitted(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `chain_id` is never read
[INFO] [stdout]   --> src/wallet/rpc.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct RpcClient {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     chain_id: u64,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/wallet/rpc.rs:76:12
[INFO] [stdout]     |
[INFO] [stdout]  61 | impl RpcClient {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub fn chain_id(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     pub async fn send_raw_transaction(&self, signed_tx_hex: &str) -> Result<String, RpcError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub async fn get_nonce(&self, address: &str) -> Result<u64, RpcError> {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub async fn eth_call(&self, to: &str, data: &str) -> Result<String, RpcError> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub async fn gas_price(&self) -> Result<i64, RpcError> {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |     pub async fn get_base_fee(&self) -> Result<Option<u64>, RpcError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub async fn max_priority_fee(&self) -> Result<Option<u64>, RpcError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 208 |     pub async fn estimate_gas(
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     pub async fn fee_history(
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NotFound` is never constructed
[INFO] [stdout]   --> src/wallet/service.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum WalletError {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 18 |     NotFound,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WalletError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rpc` is never read
[INFO] [stdout]   --> src/wallet/service.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct WalletService {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 60 |     rpc: Arc<RpcClient>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `decrypt_wallet_key`, `send_settlement_tx`, `build_tx_payload`, `sign_tx`, and `rpc` are never used
[INFO] [stdout]    --> src/wallet/service.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout]  64 | impl WalletService {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn decrypt_wallet_key(&self, wallet: &Wallet) -> Result<[u8; 32], WalletError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub async fn send_settlement_tx(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn build_tx_payload(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     pub fn sign_tx(
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     pub fn rpc(&self) -> &RpcClient {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decrypt_key` is never used
[INFO] [stdout]   --> src/wallet/signing.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn decrypt_key(
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sign_data` is never used
[INFO] [stdout]   --> src/wallet/signing.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn sign_data(private_key: &[u8; 32], data: &[u8]) -> Result<Vec<u8>, String> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sign_transaction` is never used
[INFO] [stdout]   --> src/wallet/signing.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn sign_transaction(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_pubkey` is never used
[INFO] [stdout]    --> src/wallet/solana.rs:320:4
[INFO] [stdout]     |
[INFO] [stdout] 320 | fn decode_pubkey(address: &str) -> Result<[u8; 32], ChainError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bs58_decode` is never used
[INFO] [stdout]   --> src/wallet/solana_signing.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn bs58_decode(input: &str) -> Result<Vec<u8>, String> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `address_from_seed` is never used
[INFO] [stdout]   --> src/wallet/solana_signing.rs:95:8
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub fn address_from_seed(seed: &[u8; 32]) -> Result<String, String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `public_key_bytes` is never used
[INFO] [stdout]    --> src/wallet/solana_signing.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub fn public_key_bytes(seed: &[u8; 32]) -> [u8; 32] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sign` is never used
[INFO] [stdout]    --> src/wallet/solana_signing.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn sign(seed: &[u8; 32], message: &[u8]) -> Result<Vec<u8>, String> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify` is never used
[INFO] [stdout]    --> src/wallet/solana_signing.rs:124:8
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub fn verify(public_key: &[u8; 32], message: &[u8], signature: &[u8]) -> Result<bool, String> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sign_transaction` is never used
[INFO] [stdout]    --> src/wallet/solana_signing.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn sign_transaction(seed: &[u8; 32], tx_message: &[u8]) -> Result<Vec<u8>, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decrypt_seed` is never used
[INFO] [stdout]    --> src/wallet/solana_signing.rs:158:8
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub fn decrypt_seed(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPL_TOKEN_PROGRAM` is never used
[INFO] [stdout]   --> src/wallet/solana_tx.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const SPL_TOKEN_PROGRAM: [u8; 32] = [
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ASSOCIATED_TOKEN_PROGRAM` is never used
[INFO] [stdout]   --> src/wallet/solana_tx.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const ASSOCIATED_TOKEN_PROGRAM: [u8; 32] = [
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SYSTEM_PROGRAM` is never used
[INFO] [stdout]   --> src/wallet/solana_tx.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const SYSTEM_PROGRAM: [u8; 32] = [0u8; 32];
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Instruction` is never constructed
[INFO] [stdout]   --> src/wallet/solana_tx.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Instruction {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AccountMeta` is never constructed
[INFO] [stdout]   --> src/wallet/solana_tx.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct AccountMeta {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TransactionMessage` is never constructed
[INFO] [stdout]   --> src/wallet/solana_tx.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct TransactionMessage {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedTransaction` is never constructed
[INFO] [stdout]   --> src/wallet/solana_tx.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct SignedTransaction {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spl_transfer_instruction` is never used
[INFO] [stdout]   --> src/wallet/solana_tx.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn spl_transfer_instruction(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `derive_ata` is never used
[INFO] [stdout]   --> src/wallet/solana_tx.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub fn derive_ata(owner: &[u8; 32], mint: &[u8; 32]) -> [u8; 32] {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_create_ata_instruction` is never used
[INFO] [stdout]    --> src/wallet/solana_tx.rs:116:8
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub fn build_create_ata_instruction(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_program_address` is never used
[INFO] [stdout]    --> src/wallet/solana_tx.rs:146:8
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub fn find_program_address(seeds: &[&[u8]], program_id: &[u8; 32]) -> ([u8; 32], u8) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_likely_on_curve` is never used
[INFO] [stdout]    --> src/wallet/solana_tx.rs:176:4
[INFO] [stdout]     |
[INFO] [stdout] 176 | fn is_likely_on_curve(bytes: &[u8; 32]) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spl_transfer_with_ata` is never used
[INFO] [stdout]    --> src/wallet/solana_tx.rs:185:8
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub fn spl_transfer_with_ata(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `settle_instruction` is never used
[INFO] [stdout]    --> src/wallet/solana_tx.rs:208:8
[INFO] [stdout]     |
[INFO] [stdout] 208 | pub fn settle_instruction(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `anchor_discriminator` is never used
[INFO] [stdout]    --> src/wallet/solana_tx.rs:240:4
[INFO] [stdout]     |
[INFO] [stdout] 240 | fn anchor_discriminator(name: &str) -> [u8; 8] {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `serialise` are never used
[INFO] [stdout]    --> src/wallet/solana_tx.rs:252:12
[INFO] [stdout]     |
[INFO] [stdout] 250 | impl TransactionMessage {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] 251 |     /// Compose a transaction from multiple instructions.
[INFO] [stdout] 252 |     pub fn new(fee_payer: [u8; 32], recent_blockhash: [u8; 32], instructions: Vec<Instruction>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub fn serialise(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_compact_u16` is never used
[INFO] [stdout]    --> src/wallet/solana_tx.rs:368:4
[INFO] [stdout]     |
[INFO] [stdout] 368 | fn encode_compact_u16(buf: &mut Vec<u8>, val: u16) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `sign`, `to_base58`, and `to_bytes` are never used
[INFO] [stdout]    --> src/wallet/solana_tx.rs:385:12
[INFO] [stdout]     |
[INFO] [stdout] 383 | impl SignedTransaction {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 384 |     /// Sign a transaction message with one or more private keys.
[INFO] [stdout] 385 |     pub fn sign(message: &TransactionMessage, signers: &[[u8; 32]]) -> Result<Self, String> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 404 |     pub fn to_base58(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 409 |     pub fn to_bytes(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_recent_blockhash` is never used
[INFO] [stdout]    --> src/wallet/solana_tx.rs:423:14
[INFO] [stdout]     |
[INFO] [stdout] 423 | pub async fn fetch_recent_blockhash(client: &reqwest::Client, endpoint: &str) -> Result<[u8; 32], String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_transaction_with_retry` is never used
[INFO] [stdout]    --> src/wallet/solana_tx.rs:456:14
[INFO] [stdout]     |
[INFO] [stdout] 456 | pub async fn send_transaction_with_retry(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Trade`, `OrderBook`, and `AuctionResult` are never constructed
[INFO] [stdout]   --> src/ws/feed.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum WsFeedEvent {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 13 |     Trade(MarketTrade),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 14 |     OrderBook(OrderBookSnapshot),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 15 |     AuctionResult {
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WsFeedEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `broadcast_trade` and `broadcast_orderbook` are never used
[INFO] [stdout]    --> src/ws/feed.rs:99:18
[INFO] [stdout]     |
[INFO] [stdout]  62 | impl WsFeed {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub async fn broadcast_trade(&self, trade: &MarketTrade) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub async fn broadcast_orderbook(&self, snapshot: &OrderBookSnapshot) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `broadcast` is never used
[INFO] [stdout]   --> src/ws/server.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl WsServer {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn broadcast(&self, message: &str) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking bollard v0.20.2
[INFO] [stderr]     Checking testcontainers v0.27.2
[INFO] [stderr]     Checking testcontainers-modules v0.15.0
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/auth/key_rotation.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::Rng;
[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: `SinkExt`
[INFO] [stdout]  --> src/bin/solver_bot.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use futures_util::{SinkExt, StreamExt};
[INFO] [stdout]   |                    ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `token_in` and `token_out` are never read
[INFO] [stdout]   --> src/bin/solver_bot.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | struct Intent {
[INFO] [stdout]    |        ------ fields in this struct
[INFO] [stdout] 59 |     id: Uuid, #[allow(dead_code)] user_id: String,
[INFO] [stdout] 60 |     token_in: String, token_out: String,
[INFO] [stdout]    |     ^^^^^^^^          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Intent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `min` is never used
[INFO] [stdout]   --> src/bin/load_test/metrics.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl LatencyBucket {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn min(&self) -> f64 {
[INFO] [stdout]    |            ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `email` is never read
[INFO] [stdout]   --> src/bin/load_test/users.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub struct TestUser {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub email: String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reset_secs`
[INFO] [stdout]    --> src/gateway/rate_limit.rs:121:17
[INFO] [stdout]     |
[INFO] [stdout] 121 |             let reset_secs = limit.window_secs;
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reset_secs`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/auth/key_rotation.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::Rng;
[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: `rand::Rng`
[INFO] [stdout]   --> src/chaos/engine.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rand::Rng;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::wallet::chain::ChainAdapter`
[INFO] [stdout]  --> src/cross_chain/service.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::wallet::chain::ChainAdapter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IntentStatus`
[INFO] [stdout]  --> src/db/storage.rs:7:37
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::models::intent::{Intent, IntentStatus};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/db/stream_bus.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/health/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IntentStatus` and `Intent`
[INFO] [stdout]  --> src/models/mod.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use intent::{Intent, IntentStatus};
[INFO] [stdout]   |                  ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bid::SolverBid`
[INFO] [stdout]  --> src/models/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use bid::SolverBid;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fill::Fill`
[INFO] [stdout]  --> src/models/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use fill::Fill;
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ExecutionStatus` and `Execution`
[INFO] [stdout]  --> src/models/mod.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use execution::{Execution, ExecutionStatus};
[INFO] [stdout]   |                     ^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `signer::sign_request`
[INFO] [stdout]  --> src/signing/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use signer::sign_request;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::fees::service as fee_engine`
[INFO] [stdout]  --> src/settlement/engine.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::fees::service as fee_engine;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::markets::model::Market`
[INFO] [stdout]  --> src/settlement/engine.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::markets::model::Market;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::models::intent::IntentStatus`
[INFO] [stdout]  --> src/settlement/handler.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::models::intent::IntentStatus;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TxStatus`
[INFO] [stdout]  --> src/wallet/repository.rs:5:39
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::model::{TransactionRecord, TxStatus, Wallet};
[INFO] [stdout]   |                                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TxState`
[INFO] [stdout]  --> src/wallet/service.rs:6:62
[INFO] [stdout]   |
[INFO] [stdout] 6 | use super::chain::{ChainAdapter, ChainError, SettlementData, TxState};
[INFO] [stdout]   |                                                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Serialize`
[INFO] [stdout]  --> src/wallet/solana_tx.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use serde::Serialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::broadcast`
[INFO] [stdout]  --> src/ws/handler.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tokio::sync::broadcast;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> src/ws/handler.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sha2::Digest`
[INFO] [stdout]   --> src/cross_chain/wormhole.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use sha2::Digest;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncCommands`
[INFO] [stdout]  --> src/db/stream_bus.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use redis::{AsyncCommands, Client, Value};
[INFO] [stdout]   |             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `k256::elliptic_curve::sec1::ToEncodedPoint`
[INFO] [stdout]   --> src/wallet/eth_sign.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use k256::elliptic_curve::sec1::ToEncodedPoint;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `k256::elliptic_curve::sec1::ToEncodedPoint`
[INFO] [stdout]  --> src/wallet/signing.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use k256::elliptic_curve::sec1::ToEncodedPoint;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]     --> src/cross_chain/wormhole.rs:1204:13
[INFO] [stdout]      |
[INFO] [stdout] 1204 |         for i in 0..GUARDIAN_QUORUM {
[INFO] [stdout]      |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `svc`
[INFO] [stdout]    --> src/cross_chain/worker.rs:217:29
[INFO] [stdout]     |
[INFO] [stdout] 217 | async fn finalize_completed(svc: &CrossChainService, pool: &PgPool) -> u32 {
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_svc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/idempotency/middleware.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |     let mut response = Response::builder()
[INFO] [stdout]    |         ----^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bucket_interval`
[INFO] [stdout]   --> src/market_data/repository.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let bucket_interval = match interval {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bucket_interval`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]    --> src/settlement/retry.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 |     engine: &SettlementEngine,
[INFO] [stdout]     |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seed`
[INFO] [stdout]   --> src/wallet/service.rs:97:14
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let (seed, address, encrypted_key, nonce) = match chain {
[INFO] [stdout]    |              ^^^^ help: if this is intentional, prefix it with an underscore: `_seed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `oracle`
[INFO] [stdout]   --> src/workers/stop_order_monitor.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     oracle: &OracleService,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_oracle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client_id`
[INFO] [stdout]   --> src/ws/handler.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let client_id = session.id;
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sender_internal_tx`
[INFO] [stdout]   --> src/ws/handler.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let sender_internal_tx = internal_tx.clone();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender_internal_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `find_by_id` is never used
[INFO] [stdout]   --> src/accounts/repository.rs:29:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl AccountRepository {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub async fn find_by_id(&self, id: Uuid) -> Result<Option<Account>, sqlx::Error> {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_account` is never used
[INFO] [stdout]   --> src/accounts/service.rs:50:18
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl AccountService {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub async fn get_account(&self, account_id: Uuid) -> Result<Option<Account>, AccountError> {
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `key_hash` is never read
[INFO] [stdout]   --> src/api_keys/service.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct ApiKey {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub key_hash: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ApiKey` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Revoked`, `InvalidKey`, and `HashError` are never constructed
[INFO] [stdout]   --> src/api_keys/service.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum ApiKeyError {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 32 |     NotFound,
[INFO] [stdout] 33 |     Revoked,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 34 |     InvalidKey,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 35 |     DbError(sqlx::Error),
[INFO] [stdout] 36 |     HashError(String),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ApiKeyError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `validate_key` is never used
[INFO] [stdout]    --> src/api_keys/service.rs:101:18
[INFO] [stdout]     |
[INFO] [stdout]  61 | impl ApiKeyService {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub async fn validate_key(&self, raw_key: &str) -> Result<ApiKey, ApiKeyError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NoSigningKey` is never constructed
[INFO] [stdout]   --> src/auth/jwt.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub enum JwtError {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 50 |     NoSigningKey,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `JwtError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_token_sync` is never used
[INFO] [stdout]    --> src/auth/jwt.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub fn validate_token_sync(token: &str) -> Result<Claims, JwtError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_claims` is never used
[INFO] [stdout]   --> src/auth/middleware.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn extract_claims(request: &Request) -> Option<&Claims> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LockRequest` is never constructed
[INFO] [stdout]   --> src/balances/model.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct LockRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TransferRequest` is never constructed
[INFO] [stdout]   --> src/balances/model.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct TransferRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `InsufficientLockedBalance` is never constructed
[INFO] [stdout]   --> src/balances/service.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum BalanceError {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] 15 |     InsufficientBalance,
[INFO] [stdout] 16 |     InsufficientLockedBalance,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BalanceError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `lock_balance`, `unlock_balance`, and `transfer` are never used
[INFO] [stdout]    --> src/balances/service.rs:114:18
[INFO] [stdout]     |
[INFO] [stdout]  46 | impl BalanceService {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub async fn lock_balance(
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub async fn unlock_balance(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub async fn transfer(
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `MARKET_PRICE` and `ORDERBOOK` are never used
[INFO] [stdout]   --> src/cache/service.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl CacheTtl {
[INFO] [stdout]    | ------------- associated constants in this implementation
[INFO] [stdout] 14 |     pub const MARKETS: u64 = 60;
[INFO] [stdout] 15 |     pub const MARKET_PRICE: u64 = 5;
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 16 |     pub const BALANCES: u64 = 10;
[INFO] [stdout] 17 |     pub const ORDERBOOK: u64 = 3;
[INFO] [stdout]    |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `kind` and `target` are never read
[INFO] [stdout]   --> src/chaos/faults.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct ActiveFault {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 69 |     pub kind: FaultKind,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub target: Option<String>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]   --> src/circuit_breaker.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl State {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 32 |     pub fn as_str(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `name` is never used
[INFO] [stdout]    --> src/circuit_breaker.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl CircuitBreaker {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn name(&self) -> &str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `gateway_addr`, `upstream_url`, `fee_rate`, `rate_limit_per_minute`, and `rate_limit_window_secs` are never read
[INFO] [stdout]   --> src/config/settings.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct Settings {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub gateway_addr: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub upstream_url: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fee_rate: f64,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub rate_limit_per_minute: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub rate_limit_window_secs: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Settings` 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: variant `Other` is never constructed
[INFO] [stdout]   --> src/cross_chain/bridge.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub enum BridgeError {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 85 |     Other(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BridgeError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_terminal` is never used
[INFO] [stdout]   --> src/cross_chain/htlc/model.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl HtlcStatus {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 33 |     pub fn is_terminal(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CreateHtlcParams` is never constructed
[INFO] [stdout]   --> src/cross_chain/htlc/model.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct CreateHtlcParams {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_TIMELOCK_SECS` is never used
[INFO] [stdout]   --> src/cross_chain/htlc/service.rs:45:7
[INFO] [stdout]    |
[INFO] [stdout] 45 | const DEFAULT_TIMELOCK_SECS: i64 = 1800;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Expired` is never constructed
[INFO] [stdout]   --> src/cross_chain/htlc/service.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub enum HtlcError {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 52 |     Expired,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HtlcError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `create_swap`, `store_secret`, `record_dest_claim_with_stored_secret`, `extract_secret_from_logs`, `record_dest_claim_unchecked`, and `get_swap_by_fill` are never used
[INFO] [stdout]    --> src/cross_chain/htlc/service.rs:88:18
[INFO] [stdout]     |
[INFO] [stdout]  78 | impl HtlcService {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub async fn create_swap(
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub async fn store_secret(
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 328 |     pub async fn record_dest_claim_with_stored_secret(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 384 |     pub fn extract_secret_from_logs(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 419 |     pub async fn record_dest_claim_unchecked(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 530 |     pub async fn get_swap_by_fill(&self, fill_id: Uuid) -> Result<Option<HtlcSwap>, HtlcError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OFT_QUOTE_SEND_SELECTOR` is never used
[INFO] [stdout]   --> src/cross_chain/layerzero.rs:64:7
[INFO] [stdout]    |
[INFO] [stdout] 64 | const OFT_QUOTE_SEND_SELECTOR: [u8; 4] = [0x1f, 0x0a, 0x27, 0x68];
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OFT_SENT_TOPIC` is never used
[INFO] [stdout]   --> src/cross_chain/layerzero.rs:74:7
[INFO] [stdout]    |
[INFO] [stdout] 74 | const OFT_SENT_TOPIC: &str =
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `src_tx_hash` is never read
[INFO] [stdout]    --> src/cross_chain/layerzero.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | struct ScanMessage {
[INFO] [stdout]     |        ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 122 |     src_tx_hash: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ScanMessage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `poll_message_delivery` is never used
[INFO] [stdout]    --> src/cross_chain/layerzero.rs:543:14
[INFO] [stdout]     |
[INFO] [stdout] 165 | impl LayerZeroBridge {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 543 |     async fn poll_message_delivery(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Unavailable`, `MalformedResponse`, `InsufficientQuorum`, `DuplicateGuardians`, and `Timeout` are never constructed
[INFO] [stdout]    --> src/cross_chain/mock_guardian.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub enum FailureMode {
[INFO] [stdout]     |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 138 |     Unavailable { remaining: u32 },
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 139 |     /// Return 200 but with malformed JSON.
[INFO] [stdout] 140 |     MalformedResponse { remaining: u32 },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 141 |     /// Return a VAA with fewer than quorum signatures.
[INFO] [stdout] 142 |     InsufficientQuorum { num_sigs: u8 },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 143 |     /// Return a VAA with duplicate guardian indices.
[INFO] [stdout] 144 |     DuplicateGuardians,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 145 |     /// Drop the connection (simulate timeout).
[INFO] [stdout] 146 |     Timeout { delay: Duration },
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FailureMode` 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 `timestamp` is never read
[INFO] [stdout]    --> src/cross_chain/mock_guardian.rs:163:9
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub struct RecordedRequest {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] 162 |     pub path: String,
[INFO] [stdout] 163 |     pub timestamp: std::time::Instant,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RecordedRequest` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `clear_failure`, `set_pending_count`, and `addr` are never used
[INFO] [stdout]    --> src/cross_chain/mock_guardian.rs:297:18
[INFO] [stdout]     |
[INFO] [stdout] 216 | impl MockGuardian {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 297 |     pub async fn clear_failure(&self) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 315 |     pub async fn set_pending_count(&self, count: u32) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 321 |     pub fn addr(&self) -> Option<SocketAddr> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_TIMEOUT_SECS` is never used
[INFO] [stdout]   --> src/cross_chain/service.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const DEFAULT_TIMEOUT_SECS: i64 = 600;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CROSS_CHAIN_COLLATERAL_MULTIPLIER` is never used
[INFO] [stdout]   --> src/cross_chain/service.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const CROSS_CHAIN_COLLATERAL_MULTIPLIER: f64 = 1.5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InvalidState`, `ChainError`, and `Timeout` are never constructed
[INFO] [stdout]   --> src/cross_chain/service.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum CrossChainError {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] 20 |     LegNotFound,
[INFO] [stdout] 21 |     InvalidState(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 22 |     ChainError(String),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 23 |     Timeout,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CrossChainError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `chains` is never read
[INFO] [stdout]   --> src/cross_chain/service.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct CrossChainService {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 46 |     pool: PgPool,
[INFO] [stdout] 47 |     chains: Arc<ChainRegistry>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `create_settlement`, `required_collateral`, `validate_solver_for_cross_chain`, and `insert_leg` are never used
[INFO] [stdout]    --> src/cross_chain/service.rs:60:18
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl CrossChainService {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  60 |     pub async fn create_settlement(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     pub fn required_collateral(&self, amount: i64) -> i64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 263 |     pub async fn validate_solver_for_cross_chain(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 300 |     async fn insert_leg(&self, leg: &CrossChainLeg) -> Result<(), CrossChainError> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CORE_BRIDGE_ETHEREUM` is never used
[INFO] [stdout]   --> src/cross_chain/wormhole.rs:32:7
[INFO] [stdout]    |
[INFO] [stdout] 32 | const CORE_BRIDGE_ETHEREUM: &str = "0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `message` is never read
[INFO] [stdout]   --> src/cross_chain/wormhole.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 93 | struct GuardianResponse {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] 94 |     data: Option<GuardianVaaResponse>,
[INFO] [stdout] 95 |     message: Option<String>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GuardianResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `evm_send_raw_tx` is never used
[INFO] [stdout]    --> src/cross_chain/wormhole.rs:265:14
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl WormholeBridge {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 265 |     async fn evm_send_raw_tx(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ALL_CHANNELS` is never used
[INFO] [stdout]   --> src/db/redis.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const ALL_CHANNELS: &[&str] = &[
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `subscribe` is never used
[INFO] [stdout]    --> src/db/redis.rs:105:18
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl EventBus {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub async fn subscribe<F, Fut>(
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `insert_intent` and `list_active_intents` are never used
[INFO] [stdout]   --> src/db/storage.rs:24:18
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Storage {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub async fn insert_intent(&self, intent: &Intent) -> Result<(), sqlx::Error> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub async fn list_active_intents(&self) -> Vec<Intent> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `client` is never read
[INFO] [stdout]   --> src/db/stream_bus.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct StreamBus {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 48 |     client: Client,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StreamBus` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `client` and `read_recent` are never used
[INFO] [stdout]    --> src/db/stream_bus.rs:59:12
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl StreamBus {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  59 |     pub fn client(&self) -> &Client {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     pub async fn read_recent(
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_xrange_result` is never used
[INFO] [stdout]    --> src/db/stream_bus.rs:281:4
[INFO] [stdout]     |
[INFO] [stdout] 281 | fn parse_xrange_result(value: &Value) -> Vec<StreamEvent> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `create_double_entry` is never used
[INFO] [stdout]   --> src/ledger/service.rs:60:18
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl LedgerService {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub async fn create_double_entry(
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PLATFORM_ACCOUNT_ID` is never used
[INFO] [stdout]  --> src/fees/service.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const PLATFORM_ACCOUNT_ID: &str = "00000000-0000-0000-0000-000000000001";
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAKER_SHARE` is never used
[INFO] [stdout]   --> src/fees/service.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const MAKER_SHARE: f64 = 0.4; // maker pays 40% of total fee
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FeeError` is never used
[INFO] [stdout]   --> src/fees/service.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum FeeError {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `platform_account_id` is never used
[INFO] [stdout]   --> src/fees/service.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn platform_account_id() -> Uuid {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_fees` is never used
[INFO] [stdout]   --> src/fees/service.rs:65:14
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub async fn apply_fees(
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `debit_fee` is never used
[INFO] [stdout]    --> src/fees/service.rs:112:10
[INFO] [stdout]     |
[INFO] [stdout] 112 | async fn debit_fee(
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `credit_fee` is never used
[INFO] [stdout]    --> src/fees/service.rs:135:10
[INFO] [stdout]     |
[INFO] [stdout] 135 | async fn credit_fee(
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `insert_fee_ledger` is never used
[INFO] [stdout]    --> src/fees/service.rs:181:10
[INFO] [stdout]     |
[INFO] [stdout] 181 | async fn insert_fee_ledger(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `key` is never read
[INFO] [stdout]  --> src/idempotency/middleware.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct CachedResponse {
[INFO] [stdout]   |            -------------- field in this struct
[INFO] [stdout] 8 |     pub key: String,
[INFO] [stdout]   |         ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `CachedResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `insert_trade` is never used
[INFO] [stdout]   --> src/market_data/repository.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl MarketDataRepository {
[INFO] [stdout]    | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub async fn insert_trade(&self, trade: &MarketTrade) -> Result<(), sqlx::Error> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `record_trade` is never used
[INFO] [stdout]   --> src/market_data/service.rs:37:18
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl MarketDataService {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub async fn record_trade(&self, trade: MarketTrade) -> Result<(), MarketDataError> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `to_base_units`, `to_quote_units`, and `is_ethereum` are never used
[INFO] [stdout]   --> src/markets/model.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl Market {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] 31 |     /// Convert a human-readable amount to on-chain base units using base_decimals.
[INFO] [stdout] 32 |     pub fn to_base_units(&self, amount: f64) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn to_quote_units(&self, amount: f64) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn is_ethereum(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `find_by_chain` is never used
[INFO] [stdout]   --> src/markets/repository.rs:54:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl MarketRepository {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub async fn find_by_chain(&self, chain: &str) -> Result<Vec<Market>, sqlx::Error> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ETH_TX_SUBMITTED` is never used
[INFO] [stdout]    --> src/metrics/counters.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub static ETH_TX_SUBMITTED: Lazy<IntCounterVec> = Lazy::new(|| {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ETH_TX_RETRIES` is never used
[INFO] [stdout]    --> src/metrics/counters.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub static ETH_TX_RETRIES: Lazy<IntCounter> = Lazy::new(|| {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_chains`, `with_stop_loss`, `with_stop_buy`, and `with_stop_limit` are never used
[INFO] [stdout]    --> src/models/intent.rs:81:12
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl Intent {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub fn with_chains(mut self, source: &str, destination: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn with_stop_loss(mut self, price: i64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn with_stop_buy(mut self, price: i64) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn with_stop_limit(mut self, stop: i64, limit: i64, side: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HISTORY_RETENTION_ROWS` is never used
[INFO] [stdout]   --> src/oracle/service.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const HISTORY_RETENTION_ROWS: i64 = 1000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CoinbaseTicker` is never constructed
[INFO] [stdout]   --> src/oracle/service.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | struct CoinbaseTicker {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `has_role` and `has_permission` are never used
[INFO] [stdout]    --> src/rbac/service.rs:108:18
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl RbacService {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub async fn has_role(&self, user_id: Uuid, role_name: &str) -> Result<bool, RbacError> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub async fn has_permission(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `MarketInactive` is never constructed
[INFO] [stdout]   --> src/risk/service.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum RiskRejection {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 22 |     MarketInactive,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RiskRejection` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_bids` and `get_best_bid` are never used
[INFO] [stdout]    --> src/services/bid_service.rs:97:18
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl BidService {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub async fn get_bids(&self, intent_id: &Uuid) -> Vec<SolverBid> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub async fn get_best_bid(&self, intent_id: &Uuid) -> Option<SolverBid> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BalanceError` is never constructed
[INFO] [stdout]   --> src/services/intent_service.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum IntentError {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 23 |     BalanceError(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IntentError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update_intent_status`, `fail_intent`, and `start_bidding` are never used
[INFO] [stdout]    --> src/services/intent_service.rs:205:18
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl IntentService {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub async fn update_intent_status(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 262 |     pub async fn fail_intent(
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 308 |     pub async fn start_bidding(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sign_request` is never used
[INFO] [stdout]   --> src/signing/signer.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn sign_request(
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `FeeError`, `ChainError`, and `UnsupportedChain` are never constructed
[INFO] [stdout]   --> src/settlement/engine.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum SettlementError {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 23 |     FeeError(String),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 24 |     ChainError(String),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 25 |     UnsupportedChain(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SettlementError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `resolve_fill_chain` and `settle_trade_with_retry` are never used
[INFO] [stdout]    --> src/settlement/engine.rs:240:18
[INFO] [stdout]     |
[INFO] [stdout]  54 | impl SettlementEngine {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 240 |     pub async fn resolve_fill_chain(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 378 |     pub async fn settle_trade_with_retry(&self, trade_id: Uuid) -> Result<Trade, SettlementError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_failure` is never used
[INFO] [stdout]   --> src/settlement/retry.rs:25:14
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub async fn record_failure(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_cancelled` is never used
[INFO] [stdout]   --> src/shutdown/mod.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Shutdown {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn is_cancelled(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `find_by_api_key`, `find_or_create`, `update`, and `find_all` are never used
[INFO] [stdout]    --> src/solver_reputation/repository.rs:57:18
[INFO] [stdout]     |
[INFO] [stdout]  11 | impl SolverRepository {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub async fn find_by_api_key(&self, api_key: &str) -> Result<Option<Solver>, sqlx::Error> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  64 |     pub async fn find_or_create(&self, id: Uuid, name: &str) -> Result<Solver, sqlx::Error> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub async fn update(&self, solver: &Solver) -> Result<(), sqlx::Error> {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |     pub async fn find_all(&self) -> Result<Vec<Solver>, sqlx::Error> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `authenticate`, `record_successful_trade`, `record_failed_trade`, `record_fill`, `penalize_failed_settlement`, and `pool` are never used
[INFO] [stdout]    --> src/solver_reputation/service.rs:81:18
[INFO] [stdout]     |
[INFO] [stdout]  41 | impl SolverReputationService {
[INFO] [stdout]     | ---------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub async fn authenticate(&self, api_key: &str) -> Result<Solver, SolverError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub async fn record_successful_trade(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub async fn record_failed_trade(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub async fn record_fill(
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub async fn penalize_failed_settlement(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     pub fn pool(&self) -> &PgPool {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_auction_result` is never used
[INFO] [stdout]    --> src/solver_reputation/stats.rs:185:14
[INFO] [stdout]     |
[INFO] [stdout] 185 | pub async fn record_auction_result(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `IntentError` is never constructed
[INFO] [stdout]   --> src/twap/service.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum TwapError {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 18 |     IntentError(String),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TwapError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `current_trace_id` is never used
[INFO] [stdout]   --> src/telemetry.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn current_trace_id() -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inject_trace_context` is never used
[INFO] [stdout]   --> src/telemetry_middleware.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn inject_trace_context() -> Vec<(String, String)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FeeEstimate` is never constructed
[INFO] [stdout]   --> src/wallet/chain.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct FeeEstimate {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SettlementData` is never constructed
[INFO] [stdout]   --> src/wallet/chain.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct SettlementData {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UnsignedTx` is never constructed
[INFO] [stdout]   --> src/wallet/chain.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct UnsignedTx {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SignedTx` is never constructed
[INFO] [stdout]   --> src/wallet/chain.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct SignedTx {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Signing` and `Other` are never constructed
[INFO] [stdout]   --> src/wallet/chain.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub enum ChainError {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 59 |     Rpc(String),
[INFO] [stdout] 60 |     Signing(String),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 61 |     Unsupported(String),
[INFO] [stdout] 62 |     Other(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ChainError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `send_transaction`, `estimate_fees`, `get_balance`, `build_settlement_tx`, and `sign_transaction` are never used
[INFO] [stdout]    --> src/wallet/chain.rs:98:14
[INFO] [stdout]     |
[INFO] [stdout]  84 | pub trait ChainAdapter: Send + Sync {
[INFO] [stdout]     |           ------------ methods in this trait
[INFO] [stdout] ...
[INFO] [stdout]  98 |     async fn send_transaction(&self, tx: &SignedTx) -> Result<String, ChainError>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     async fn estimate_fees(&self, data: &SettlementData) -> Result<FeeEstimate, ChainError>;
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     async fn get_balance(&self, address: &str, token: &str) -> Result<u64, ChainError>;
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     async fn build_settlement_tx(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn sign_transaction(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ERC20_TRANSFER_GAS` is never used
[INFO] [stdout]   --> src/wallet/ethereum.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const ERC20_TRANSFER_GAS: u64 = 65_000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GAS_ESTIMATE_BUFFER_PCT` is never used
[INFO] [stdout]   --> src/wallet/ethereum.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const GAS_ESTIMATE_BUFFER_PCT: u64 = 120;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_PRIORITY_FEE` is never used
[INFO] [stdout]   --> src/wallet/ethereum.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const DEFAULT_PRIORITY_FEE: u64 = 1_500_000_000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_SEND_RETRIES` is never used
[INFO] [stdout]   --> src/wallet/ethereum.rs:32:7
[INFO] [stdout]    |
[INFO] [stdout] 32 | const MAX_SEND_RETRIES: u32 = 3;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RETRY_BASE_DELAY_MS` is never used
[INFO] [stdout]   --> src/wallet/ethereum.rs:35:7
[INFO] [stdout]    |
[INFO] [stdout] 35 | const RETRY_BASE_DELAY_MS: u64 = 500;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REPLACEMENT_BUMP_PCT` is never used
[INFO] [stdout]   --> src/wallet/ethereum.rs:38:7
[INFO] [stdout]    |
[INFO] [stdout] 38 | const REPLACEMENT_BUMP_PCT: u64 = 15;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `eip1559` and `base_fee` are never read
[INFO] [stdout]   --> src/wallet/ethereum.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | struct GasParams {
[INFO] [stdout]    |        --------- fields in this struct
[INFO] [stdout] 45 |     /// Is this an EIP-1559 (type 2) transaction?
[INFO] [stdout] 46 |     eip1559: bool,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 47 |     /// Base fee from latest block (0 for legacy).
[INFO] [stdout] 48 |     base_fee: u64,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GasParams` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TX_TYPE_LEGACY` is never used
[INFO] [stdout]   --> src/wallet/ethereum.rs:59:7
[INFO] [stdout]    |
[INFO] [stdout] 59 | const TX_TYPE_LEGACY: u8 = 0x00;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TX_TYPE_EIP1559` is never used
[INFO] [stdout]   --> src/wallet/ethereum.rs:60:7
[INFO] [stdout]    |
[INFO] [stdout] 60 | const TX_TYPE_EIP1559: u8 = 0x02;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `estimate_gas_params` and `estimate_priority_fee` are never used
[INFO] [stdout]    --> src/wallet/ethereum.rs:76:14
[INFO] [stdout]     |
[INFO] [stdout]  68 | impl EthereumAdapter {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  76 |     async fn estimate_gas_params(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     async fn estimate_priority_fee(&self) -> u64 {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TxPayload` is never constructed
[INFO] [stdout]   --> src/wallet/model.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct TxPayload {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `find_wallet_by_address`, `insert_transaction`, and `update_tx_submitted` are never used
[INFO] [stdout]    --> src/wallet/repository.rs:59:18
[INFO] [stdout]     |
[INFO] [stdout]  11 | impl WalletRepository {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  59 |     pub async fn find_wallet_by_address(&self, address: &str) -> Result<Option<Wallet>, sqlx::Error> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     pub async fn insert_transaction(&self, tx: &TransactionRecord) -> Result<(), sqlx::Error> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub async fn update_tx_submitted(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `chain_id` is never read
[INFO] [stdout]   --> src/wallet/rpc.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct RpcClient {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 10 |     chain_id: u64,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/wallet/rpc.rs:76:12
[INFO] [stdout]     |
[INFO] [stdout]  61 | impl RpcClient {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub fn chain_id(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     pub async fn send_raw_transaction(&self, signed_tx_hex: &str) -> Result<String, RpcError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub async fn get_nonce(&self, address: &str) -> Result<u64, RpcError> {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub async fn eth_call(&self, to: &str, data: &str) -> Result<String, RpcError> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub async fn gas_price(&self) -> Result<i64, RpcError> {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |     pub async fn get_base_fee(&self) -> Result<Option<u64>, RpcError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub async fn max_priority_fee(&self) -> Result<Option<u64>, RpcError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 208 |     pub async fn estimate_gas(
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     pub async fn fee_history(
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NotFound` is never constructed
[INFO] [stdout]   --> src/wallet/service.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum WalletError {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 18 |     NotFound,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WalletError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rpc` is never read
[INFO] [stdout]   --> src/wallet/service.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct WalletService {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 60 |     rpc: Arc<RpcClient>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `decrypt_wallet_key`, `send_settlement_tx`, `build_tx_payload`, `sign_tx`, and `rpc` are never used
[INFO] [stdout]    --> src/wallet/service.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout]  64 | impl WalletService {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn decrypt_wallet_key(&self, wallet: &Wallet) -> Result<[u8; 32], WalletError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub async fn send_settlement_tx(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn build_tx_payload(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     pub fn sign_tx(
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     pub fn rpc(&self) -> &RpcClient {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_pubkey` is never used
[INFO] [stdout]    --> src/wallet/solana.rs:320:4
[INFO] [stdout]     |
[INFO] [stdout] 320 | fn decode_pubkey(address: &str) -> Result<[u8; 32], ChainError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_base58` is never used
[INFO] [stdout]    --> src/wallet/solana_tx.rs:404:12
[INFO] [stdout]     |
[INFO] [stdout] 383 | impl SignedTransaction {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 404 |     pub fn to_base58(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_recent_blockhash` is never used
[INFO] [stdout]    --> src/wallet/solana_tx.rs:423:14
[INFO] [stdout]     |
[INFO] [stdout] 423 | pub async fn fetch_recent_blockhash(client: &reqwest::Client, endpoint: &str) -> Result<[u8; 32], String> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_transaction_with_retry` is never used
[INFO] [stdout]    --> src/wallet/solana_tx.rs:456:14
[INFO] [stdout]     |
[INFO] [stdout] 456 | pub async fn send_transaction_with_retry(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Trade`, `OrderBook`, and `AuctionResult` are never constructed
[INFO] [stdout]   --> src/ws/feed.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum WsFeedEvent {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 13 |     Trade(MarketTrade),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 14 |     OrderBook(OrderBookSnapshot),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 15 |     AuctionResult {
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WsFeedEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `broadcast_trade` and `broadcast_orderbook` are never used
[INFO] [stdout]    --> src/ws/feed.rs:99:18
[INFO] [stdout]     |
[INFO] [stdout]  62 | impl WsFeed {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub async fn broadcast_trade(&self, trade: &MarketTrade) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub async fn broadcast_orderbook(&self, snapshot: &OrderBookSnapshot) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `broadcast` is never used
[INFO] [stdout]   --> src/ws/server.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl WsServer {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn broadcast(&self, message: &str) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/wallet/solana_tx.rs:705:17
[INFO] [stdout]     |
[INFO] [stdout] 705 |         assert!(bump <= 255);
[INFO] [stdout]     |                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 47s
[INFO] running `Command { std: "docker" "inspect" "dc78b47dae2e92e5a6f6dedf7ceeeb51904c35556da2bd147e6c256a280ff125", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dc78b47dae2e92e5a6f6dedf7ceeeb51904c35556da2bd147e6c256a280ff125", kill_on_drop: false }`
[INFO] [stdout] dc78b47dae2e92e5a6f6dedf7ceeeb51904c35556da2bd147e6c256a280ff125
