[INFO] cloning repository https://github.com/Alphatecks/senseifi-backend
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Alphatecks/senseifi-backend" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlphatecks%2Fsenseifi-backend", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlphatecks%2Fsenseifi-backend'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 68f9571e57d70e597c068d484114dadc0ce56f7d
[INFO] checking Alphatecks/senseifi-backend against master#b4fefcd60bfd770510f7dc540e887dd3ba4fe5c1 for pr-156992
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlphatecks%2Fsenseifi-backend" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  68% (1003/1455)
Updating files:  69% (1004/1455)
Updating files:  70% (1019/1455)
Updating files:  71% (1034/1455)
Updating files:  72% (1048/1455)
Updating files:  73% (1063/1455)
Updating files:  74% (1077/1455)
Updating files:  75% (1092/1455)
Updating files:  76% (1106/1455)
Updating files:  77% (1121/1455)
Updating files:  78% (1135/1455)
Updating files:  79% (1150/1455)
Updating files:  80% (1164/1455)
Updating files:  81% (1179/1455)
Updating files:  82% (1194/1455)
Updating files:  83% (1208/1455)
Updating files:  84% (1223/1455)
Updating files:  85% (1237/1455)
Updating files:  86% (1252/1455)
Updating files:  87% (1266/1455)
Updating files:  88% (1281/1455)
Updating files:  89% (1295/1455)
Updating files:  90% (1310/1455)
Updating files:  91% (1325/1455)
Updating files:  92% (1339/1455)
Updating files:  93% (1354/1455)
Updating files:  94% (1368/1455)
Updating files:  95% (1383/1455)
Updating files:  96% (1397/1455)
Updating files:  97% (1412/1455)
Updating files:  98% (1426/1455)
Updating files:  99% (1441/1455)
Updating files: 100% (1455/1455)
Updating files: 100% (1455/1455), done.
[INFO] started tweaking git repo https://github.com/Alphatecks/senseifi-backend
[INFO] finished tweaking git repo https://github.com/Alphatecks/senseifi-backend
[INFO] tweaked toml for git repo https://github.com/Alphatecks/senseifi-backend written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Alphatecks/senseifi-backend on toolchain b4fefcd60bfd770510f7dc540e887dd3ba4fe5c1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fefcd60bfd770510f7dc540e887dd3ba4fe5c1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Alphatecks/senseifi-backend 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" "+b4fefcd60bfd770510f7dc540e887dd3ba4fe5c1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded zmij v1.0.13
[INFO] [stderr]   Downloaded tower_governor v0.8.0
[INFO] [stderr]   Downloaded rust_decimal v1.41.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b4fefcd60bfd770510f7dc540e887dd3ba4fe5c1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1d6650a077396c6f145f51bfbdc195a77c5116ea297a0f582abaab5c9f91dcd0
[INFO] running `Command { std: "docker" "start" "-a" "1d6650a077396c6f145f51bfbdc195a77c5116ea297a0f582abaab5c9f91dcd0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1d6650a077396c6f145f51bfbdc195a77c5116ea297a0f582abaab5c9f91dcd0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1d6650a077396c6f145f51bfbdc195a77c5116ea297a0f582abaab5c9f91dcd0", kill_on_drop: false }`
[INFO] [stdout] 1d6650a077396c6f145f51bfbdc195a77c5116ea297a0f582abaab5c9f91dcd0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b4fefcd60bfd770510f7dc540e887dd3ba4fe5c1" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 20cf977e16fff7d03158a6c7151a01607f14db6113bd495a556a7b2cb4b4d348
[INFO] running `Command { std: "docker" "start" "-a" "20cf977e16fff7d03158a6c7151a01607f14db6113bd495a556a7b2cb4b4d348", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling cc v1.2.55
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling zmij v1.0.13
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]    Compiling foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling foreign-types v0.3.2
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]    Compiling rust_decimal v1.41.0
[INFO] [stderr]    Compiling phf_shared v0.10.0
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling openssl-probe v0.1.6
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling chrono v0.4.43
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling crc v3.4.0
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]     Checking tokio v1.49.0
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]    Compiling uuid v1.20.0
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling tempfile v3.25.0
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]     Checking string_cache v0.8.9
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling html5ever v0.27.0
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking raw-cpuid v11.6.0
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking phf v0.10.1
[INFO] [stderr]     Checking hashlink v0.8.4
[INFO] [stderr]     Checking dashmap v6.1.0
[INFO] [stderr]     Checking servo_arc v0.3.0
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]     Checking spinning_top v0.3.0
[INFO] [stderr]     Checking futures-timer v3.0.3
[INFO] [stderr]     Checking nonempty v0.7.0
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling phf_generator v0.10.0
[INFO] [stderr]     Checking nonzero_ext v0.3.0
[INFO] [stderr]     Checking forwarded-header-value v0.1.1
[INFO] [stderr]     Checking getopts v0.2.24
[INFO] [stderr]     Checking ego-tree v0.6.3
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]     Checking tower-http v0.5.2
[INFO] [stderr]    Compiling phf_codegen v0.10.0
[INFO] [stderr]     Checking tiny-keccak v2.0.2
[INFO] [stderr]    Compiling string_cache_codegen v0.5.4
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]     Checking quanta v0.12.6
[INFO] [stderr]    Compiling selectors v0.25.0
[INFO] [stderr]    Compiling markup5ever v0.12.1
[INFO] [stderr]     Checking governor v0.10.4
[INFO] [stderr]     Checking phf v0.11.3
[INFO] [stderr]     Checking cssparser v0.31.2
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking h2 v0.4.13
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking sqlx-core v0.7.4
[INFO] [stderr]     Checking scraper v0.20.0
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking sqlx-postgres v0.7.4
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking hyper-util v0.1.19
[INFO] [stderr]     Checking axum v0.8.8
[INFO] [stderr]     Checking hyper-timeout v0.5.2
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]    Compiling sqlx-macros-core v0.7.4
[INFO] [stderr]    Compiling sqlx-macros v0.7.4
[INFO] [stderr]     Checking sqlx v0.7.4
[INFO] [stderr]     Checking tonic v0.14.5
[INFO] [stderr]     Checking tower_governor v0.8.0
[INFO] [stderr]     Checking backend v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `contract_creator` is never read
[INFO] [stdout]    --> src/clients/etherscan.rs:203:9
[INFO] [stdout]     |
[INFO] [stdout] 200 | pub struct ContractCreationInfo {
[INFO] [stdout]     |            -------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub contract_creator: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ContractCreationInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `message` is never read
[INFO] [stdout]    --> src/clients/etherscan.rs:209:5
[INFO] [stdout]     |
[INFO] [stdout] 207 | struct EtherscanContractCreationResponse {
[INFO] [stdout]     |        --------------------------------- field in this struct
[INFO] [stdout] 208 |     status: String,
[INFO] [stdout] 209 |     message: String,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EtherscanContractCreationResponse` 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 `moralis_chain_slug` is never used
[INFO] [stdout]   --> src/clients/moralis_wallet.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn moralis_chain_slug(chain_id: u64) -> Option<&'static str> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `status`, `subscription_id`, `period_start`, `period_end`, and `amount_usdc` are never read
[INFO] [stdout]    --> src/models/onchain_payment.rs:152:9
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct OnchainWebhookRequest {
[INFO] [stdout]     |            --------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub status: Option<String>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub subscription_id: Option<Uuid>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub period_start: Option<DateTime<Utc>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 161 |     #[serde(default)]
[INFO] [stdout] 162 |     pub period_end: Option<DateTime<Utc>>,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 163 |     #[serde(default)]
[INFO] [stdout] 164 |     pub amount_usdc: Option<f64>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OnchainWebhookRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SURFACE_WALLET_STATE` is never used
[INFO] [stdout]   --> src/models/senseiguard.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub const SURFACE_WALLET_STATE: &str = "wallet_state";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SURFACE_TX_INTENT` is never used
[INFO] [stdout]   --> src/models/senseiguard.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const SURFACE_TX_INTENT: &str = "tx_intent";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SURFACE_CONTRACT` is never used
[INFO] [stdout]   --> src/models/senseiguard.rs:45:11
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub const SURFACE_CONTRACT: &str = "contract";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SURFACE_OFF_CHAIN` is never used
[INFO] [stdout]   --> src/models/senseiguard.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const SURFACE_OFF_CHAIN: &str = "off_chain";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `to`, `data`, `value`, and `chain_id` are never read
[INFO] [stdout]    --> src/models/senseiguard.rs:933:9
[INFO] [stdout]     |
[INFO] [stdout] 930 | pub struct SimulateTxRequest {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 933 |     pub to: Option<String>,
[INFO] [stdout]     |         ^^
[INFO] [stdout] 934 |     #[serde(default)]
[INFO] [stdout] 935 |     pub data: Option<String>,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 936 |     #[serde(default)]
[INFO] [stdout] 937 |     pub value: Option<String>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 938 |     #[serde(default)]
[INFO] [stdout] 939 |     pub chain_id: Option<i64>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SimulateTxRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContractFingerprint` is never constructed
[INFO] [stdout]    --> src/models/senseiguard.rs:953:12
[INFO] [stdout]     |
[INFO] [stdout] 953 | pub struct ContractFingerprint {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RunScanResponse` is never constructed
[INFO] [stdout]    --> src/models/senseiguard.rs:965:12
[INFO] [stdout]     |
[INFO] [stdout] 965 | pub struct RunScanResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AnalyzeTxRequest` is never constructed
[INFO] [stdout]    --> src/models/senseiguard.rs:975:12
[INFO] [stdout]     |
[INFO] [stdout] 975 | pub struct AnalyzeTxRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OUTGOING_TX` is never used
[INFO] [stdout]    --> src/models/senseiguard.rs:239:15
[INFO] [stdout]     |
[INFO] [stdout] 239 |     pub const OUTGOING_TX: &str = "outgoing_tx";
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUSPICIOUS_APPROVAL` is never used
[INFO] [stdout]    --> src/models/senseiguard.rs:240:15
[INFO] [stdout]     |
[INFO] [stdout] 240 |     pub const SUSPICIOUS_APPROVAL: &str = "suspicious_approval";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCKED_INTERACTION` is never used
[INFO] [stdout]    --> src/models/senseiguard.rs:241:15
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub const BLOCKED_INTERACTION: &str = "blocked_interaction";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_welcome_bonus` is never used
[INFO] [stdout]   --> src/models/waitlist.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl UserXpClaim {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn is_welcome_bonus(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClaimWaitlistXpRequest` is never constructed
[INFO] [stdout]   --> src/models/waitlist.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct ClaimWaitlistXpRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `xp_charge_json` is never used
[INFO] [stdout]    --> src/models/waitlist.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub fn xp_charge_json(c: &XpChargeResult) -> Value {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `get_profile_by_user_id` is never used
[INFO] [stdout]   --> src/repositories/onchain_payment_repository.rs:85:18
[INFO] [stdout]    |
[INFO] [stdout] 70 | impl OnchainPaymentRepository {
[INFO] [stdout]    | ----------------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub async fn get_profile_by_user_id(
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `domain` and `connected_at` are never read
[INFO] [stdout]   --> src/repositories/senseiguard_repository.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct DappConnectionRow {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 23 |     pub wallet_address: String,
[INFO] [stdout] 24 |     pub domain: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub connected_at: DateTime<Utc>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DappConnectionRow` 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 `ThreatIntelligenceCatalogRow` is never constructed
[INFO] [stdout]   --> src/repositories/senseiguard_repository.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct ThreatIntelligenceCatalogRow {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `user_id` is never read
[INFO] [stdout]    --> src/repositories/senseiguard_repository.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout]  98 | pub struct ActivityMonitorWalletRow {
[INFO] [stdout]     |            ------------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub user_id: Option<String>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ActivityMonitorWalletRow` 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 `wallet_id` is never read
[INFO] [stdout]    --> src/repositories/senseiguard_repository.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub struct ActivityFeedRowLive {
[INFO] [stdout]     |            ------------------- field in this struct
[INFO] [stdout] 124 |     pub id: Uuid,
[INFO] [stdout] 125 |     pub wallet_id: Uuid,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ActivityFeedRowLive` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `wallet_id` and `wallet_address` are never read
[INFO] [stdout]    --> src/repositories/senseiguard_repository.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct ExtensionTradeInsightRow {
[INFO] [stdout]     |            ------------------------ fields in this struct
[INFO] [stdout] 138 |     pub id: Uuid,
[INFO] [stdout] 139 |     pub wallet_id: Uuid,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 140 |     pub wallet_address: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ExtensionTradeInsightRow` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]     --> src/repositories/senseiguard_repository.rs:337:18
[INFO] [stdout]      |
[INFO] [stdout]  152 | impl SenseiguardRepository {
[INFO] [stdout]      | -------------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  337 |     pub async fn count_open_threats(pool: &DbPool, wallet_id: Uuid) -> Result<i64, Error> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  505 |     pub async fn list_threat_intelligence_catalog(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  897 |     pub async fn count_unread_alerts_this_month(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  912 |     pub async fn count_unread_alerts_previous_month(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  982 |     pub async fn alerts_count_by_severity(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1008 |     pub async fn activity_count_since(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1024 |     pub async fn activity_suspicious_count_since(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1042 |     pub async fn min_security_score_active_wallets(pool: &DbPool) -> Result<Option<i32>, Error> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1066 |     pub async fn global_last_scan_at(pool: &DbPool) -> Result<Option<DateTime<Utc>>, Error> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1141 |     pub async fn alerts_count_by_severity_global(pool: &DbPool) -> Result<(i64, i64, i64), Error> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1212 |     pub async fn list_activity_across_wallets(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1254 |     pub async fn activity_count_since_global(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1292 |     pub async fn activity_suspicious_count_since_global(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1353 |     pub async fn transaction_monitoring_global_totals(pool: &DbPool) -> Result<(i64, i64), Error> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1822 |     pub async fn upsert_asset(
[INFO] [stdout]      |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1853 |     pub async fn create_threat(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2570 |     pub async fn get_fingerprint_by_contract(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2580 |     pub async fn upsert_contract_fingerprint(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2748 |     pub async fn upsert_protection_settings(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2866 |     pub async fn list_wallets_to_monitor(pool: &DbPool) -> Result<Vec<ProtectionAutoScan>, Error> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2889 |     pub async fn create_wallet_scan_history(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `list_wallets_paginated` is never used
[INFO] [stdout]    --> src/repositories/wallet_repository.rs:111:18
[INFO] [stdout]     |
[INFO] [stdout]   7 | impl WalletRepository {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub async fn list_wallets_paginated(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `gas` and `chain_id` are never read
[INFO] [stdout]    --> src/routes/dashboard_routes.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 131 | struct DashboardAnalyzeTxBody {
[INFO] [stdout]     |        ---------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub gas: Option<String>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 140 |     #[serde(default, rename = "chainId")]
[INFO] [stdout] 141 |     pub chain_id: Option<i64>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DashboardAnalyzeTxBody` 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 functions `extract_owner_privileges` and `dangerous_functions` are never used
[INFO] [stdout]    --> src/services/analyzer_service.rs:232:18
[INFO] [stdout]     |
[INFO] [stdout]  70 | impl AnalyzerService {
[INFO] [stdout]     | -------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 232 |     pub async fn extract_owner_privileges(contract_address: &str) -> OwnerPrivileges {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub async fn dangerous_functions(contract_address: &str) -> Vec<String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_insufficient_xp_error` is never used
[INFO] [stdout]    --> src/services/protection_engine.rs:905:8
[INFO] [stdout]     |
[INFO] [stdout] 905 | pub fn is_insufficient_xp_error(message: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `list_threats` is never used
[INFO] [stdout]    --> src/services/senseiguard_service.rs:964:18
[INFO] [stdout]     |
[INFO] [stdout]  72 | impl SenseiguardService {
[INFO] [stdout]     | ----------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 964 |     pub async fn list_threats(
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCK_THRESHOLD` is never used
[INFO] [stdout]   --> src/services/threat_scoring_v2.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const BLOCK_THRESHOLD: i32 = 80;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAMPAIGN_BLOCK_CONFIDENCE` is never used
[INFO] [stdout]   --> src/services/threat_scoring_v2.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const CAMPAIGN_BLOCK_CONFIDENCE: i32 = 80;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `stages_present` is never read
[INFO] [stdout]   --> src/services/threat_scoring_v2.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct ScoredVerdict {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub stages_present: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ScoredVerdict` 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: associated function `merge_campaign_score` is never used
[INFO] [stdout]    --> src/services/threat_scoring_v2.rs:233:12
[INFO] [stdout]     |
[INFO] [stdout]  80 | impl ThreatScoringV2 {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 233 |     pub fn merge_campaign_score(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `DashboardAnalyze` is never constructed
[INFO] [stdout]   --> src/services/xp_usage_service.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum XpUsageAction {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 15 |     DashboardAnalyze,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `XpUsageAction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `message` is never used
[INFO] [stdout]   --> src/services/xp_usage_service.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | impl XpUsageError {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 56 |     pub fn message(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `contract_creator` is never read
[INFO] [stdout]    --> src/clients/etherscan.rs:203:9
[INFO] [stdout]     |
[INFO] [stdout] 200 | pub struct ContractCreationInfo {
[INFO] [stdout]     |            -------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub contract_creator: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ContractCreationInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `message` is never read
[INFO] [stdout]    --> src/clients/etherscan.rs:209:5
[INFO] [stdout]     |
[INFO] [stdout] 207 | struct EtherscanContractCreationResponse {
[INFO] [stdout]     |        --------------------------------- field in this struct
[INFO] [stdout] 208 |     status: String,
[INFO] [stdout] 209 |     message: String,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EtherscanContractCreationResponse` 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 `moralis_chain_slug` is never used
[INFO] [stdout]   --> src/clients/moralis_wallet.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn moralis_chain_slug(chain_id: u64) -> Option<&'static str> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `status`, `subscription_id`, `period_start`, `period_end`, and `amount_usdc` are never read
[INFO] [stdout]    --> src/models/onchain_payment.rs:152:9
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct OnchainWebhookRequest {
[INFO] [stdout]     |            --------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub status: Option<String>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub subscription_id: Option<Uuid>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub period_start: Option<DateTime<Utc>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 161 |     #[serde(default)]
[INFO] [stdout] 162 |     pub period_end: Option<DateTime<Utc>>,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 163 |     #[serde(default)]
[INFO] [stdout] 164 |     pub amount_usdc: Option<f64>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OnchainWebhookRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SURFACE_WALLET_STATE` is never used
[INFO] [stdout]   --> src/models/senseiguard.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub const SURFACE_WALLET_STATE: &str = "wallet_state";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SURFACE_TX_INTENT` is never used
[INFO] [stdout]   --> src/models/senseiguard.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const SURFACE_TX_INTENT: &str = "tx_intent";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SURFACE_CONTRACT` is never used
[INFO] [stdout]   --> src/models/senseiguard.rs:45:11
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub const SURFACE_CONTRACT: &str = "contract";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SURFACE_OFF_CHAIN` is never used
[INFO] [stdout]   --> src/models/senseiguard.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const SURFACE_OFF_CHAIN: &str = "off_chain";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `to`, `data`, `value`, and `chain_id` are never read
[INFO] [stdout]    --> src/models/senseiguard.rs:933:9
[INFO] [stdout]     |
[INFO] [stdout] 930 | pub struct SimulateTxRequest {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 933 |     pub to: Option<String>,
[INFO] [stdout]     |         ^^
[INFO] [stdout] 934 |     #[serde(default)]
[INFO] [stdout] 935 |     pub data: Option<String>,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 936 |     #[serde(default)]
[INFO] [stdout] 937 |     pub value: Option<String>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 938 |     #[serde(default)]
[INFO] [stdout] 939 |     pub chain_id: Option<i64>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SimulateTxRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContractFingerprint` is never constructed
[INFO] [stdout]    --> src/models/senseiguard.rs:953:12
[INFO] [stdout]     |
[INFO] [stdout] 953 | pub struct ContractFingerprint {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RunScanResponse` is never constructed
[INFO] [stdout]    --> src/models/senseiguard.rs:965:12
[INFO] [stdout]     |
[INFO] [stdout] 965 | pub struct RunScanResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AnalyzeTxRequest` is never constructed
[INFO] [stdout]    --> src/models/senseiguard.rs:975:12
[INFO] [stdout]     |
[INFO] [stdout] 975 | pub struct AnalyzeTxRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OUTGOING_TX` is never used
[INFO] [stdout]    --> src/models/senseiguard.rs:239:15
[INFO] [stdout]     |
[INFO] [stdout] 239 |     pub const OUTGOING_TX: &str = "outgoing_tx";
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUSPICIOUS_APPROVAL` is never used
[INFO] [stdout]    --> src/models/senseiguard.rs:240:15
[INFO] [stdout]     |
[INFO] [stdout] 240 |     pub const SUSPICIOUS_APPROVAL: &str = "suspicious_approval";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLOCKED_INTERACTION` is never used
[INFO] [stdout]    --> src/models/senseiguard.rs:241:15
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub const BLOCKED_INTERACTION: &str = "blocked_interaction";
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_welcome_bonus` is never used
[INFO] [stdout]   --> src/models/waitlist.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl UserXpClaim {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn is_welcome_bonus(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClaimWaitlistXpRequest` is never constructed
[INFO] [stdout]   --> src/models/waitlist.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct ClaimWaitlistXpRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `xp_charge_json` is never used
[INFO] [stdout]    --> src/models/waitlist.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub fn xp_charge_json(c: &XpChargeResult) -> Value {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `get_profile_by_user_id` is never used
[INFO] [stdout]   --> src/repositories/onchain_payment_repository.rs:85:18
[INFO] [stdout]    |
[INFO] [stdout] 70 | impl OnchainPaymentRepository {
[INFO] [stdout]    | ----------------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub async fn get_profile_by_user_id(
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `domain` and `connected_at` are never read
[INFO] [stdout]   --> src/repositories/senseiguard_repository.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct DappConnectionRow {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 23 |     pub wallet_address: String,
[INFO] [stdout] 24 |     pub domain: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub connected_at: DateTime<Utc>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DappConnectionRow` 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 `ThreatIntelligenceCatalogRow` is never constructed
[INFO] [stdout]   --> src/repositories/senseiguard_repository.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct ThreatIntelligenceCatalogRow {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `user_id` is never read
[INFO] [stdout]    --> src/repositories/senseiguard_repository.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout]  98 | pub struct ActivityMonitorWalletRow {
[INFO] [stdout]     |            ------------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub user_id: Option<String>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ActivityMonitorWalletRow` 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 `wallet_id` is never read
[INFO] [stdout]    --> src/repositories/senseiguard_repository.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub struct ActivityFeedRowLive {
[INFO] [stdout]     |            ------------------- field in this struct
[INFO] [stdout] 124 |     pub id: Uuid,
[INFO] [stdout] 125 |     pub wallet_id: Uuid,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ActivityFeedRowLive` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `wallet_id` and `wallet_address` are never read
[INFO] [stdout]    --> src/repositories/senseiguard_repository.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct ExtensionTradeInsightRow {
[INFO] [stdout]     |            ------------------------ fields in this struct
[INFO] [stdout] 138 |     pub id: Uuid,
[INFO] [stdout] 139 |     pub wallet_id: Uuid,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 140 |     pub wallet_address: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ExtensionTradeInsightRow` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]     --> src/repositories/senseiguard_repository.rs:337:18
[INFO] [stdout]      |
[INFO] [stdout]  152 | impl SenseiguardRepository {
[INFO] [stdout]      | -------------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  337 |     pub async fn count_open_threats(pool: &DbPool, wallet_id: Uuid) -> Result<i64, Error> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  505 |     pub async fn list_threat_intelligence_catalog(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  897 |     pub async fn count_unread_alerts_this_month(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  912 |     pub async fn count_unread_alerts_previous_month(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  982 |     pub async fn alerts_count_by_severity(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1008 |     pub async fn activity_count_since(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1024 |     pub async fn activity_suspicious_count_since(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1042 |     pub async fn min_security_score_active_wallets(pool: &DbPool) -> Result<Option<i32>, Error> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1066 |     pub async fn global_last_scan_at(pool: &DbPool) -> Result<Option<DateTime<Utc>>, Error> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1141 |     pub async fn alerts_count_by_severity_global(pool: &DbPool) -> Result<(i64, i64, i64), Error> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1212 |     pub async fn list_activity_across_wallets(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1254 |     pub async fn activity_count_since_global(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1292 |     pub async fn activity_suspicious_count_since_global(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1353 |     pub async fn transaction_monitoring_global_totals(pool: &DbPool) -> Result<(i64, i64), Error> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1822 |     pub async fn upsert_asset(
[INFO] [stdout]      |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1853 |     pub async fn create_threat(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2570 |     pub async fn get_fingerprint_by_contract(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2580 |     pub async fn upsert_contract_fingerprint(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2748 |     pub async fn upsert_protection_settings(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2866 |     pub async fn list_wallets_to_monitor(pool: &DbPool) -> Result<Vec<ProtectionAutoScan>, Error> {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2889 |     pub async fn create_wallet_scan_history(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `list_wallets_paginated` is never used
[INFO] [stdout]    --> src/repositories/wallet_repository.rs:111:18
[INFO] [stdout]     |
[INFO] [stdout]   7 | impl WalletRepository {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub async fn list_wallets_paginated(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `gas` and `chain_id` are never read
[INFO] [stdout]    --> src/routes/dashboard_routes.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 131 | struct DashboardAnalyzeTxBody {
[INFO] [stdout]     |        ---------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub gas: Option<String>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 140 |     #[serde(default, rename = "chainId")]
[INFO] [stdout] 141 |     pub chain_id: Option<i64>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DashboardAnalyzeTxBody` 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 functions `extract_owner_privileges` and `dangerous_functions` are never used
[INFO] [stdout]    --> src/services/analyzer_service.rs:232:18
[INFO] [stdout]     |
[INFO] [stdout]  70 | impl AnalyzerService {
[INFO] [stdout]     | -------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 232 |     pub async fn extract_owner_privileges(contract_address: &str) -> OwnerPrivileges {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub async fn dangerous_functions(contract_address: &str) -> Vec<String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_insufficient_xp_error` is never used
[INFO] [stdout]    --> src/services/protection_engine.rs:905:8
[INFO] [stdout]     |
[INFO] [stdout] 905 | pub fn is_insufficient_xp_error(message: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `list_threats` is never used
[INFO] [stdout]    --> src/services/senseiguard_service.rs:964:18
[INFO] [stdout]     |
[INFO] [stdout]  72 | impl SenseiguardService {
[INFO] [stdout]     | ----------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 964 |     pub async fn list_threats(
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAMPAIGN_BLOCK_CONFIDENCE` is never used
[INFO] [stdout]   --> src/services/threat_scoring_v2.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const CAMPAIGN_BLOCK_CONFIDENCE: i32 = 80;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `merge_campaign_score` is never used
[INFO] [stdout]    --> src/services/threat_scoring_v2.rs:233:12
[INFO] [stdout]     |
[INFO] [stdout]  80 | impl ThreatScoringV2 {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 233 |     pub fn merge_campaign_score(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `DashboardAnalyze` is never constructed
[INFO] [stdout]   --> src/services/xp_usage_service.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum XpUsageAction {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 15 |     DashboardAnalyze,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `XpUsageAction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `message` is never used
[INFO] [stdout]   --> src/services/xp_usage_service.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | impl XpUsageError {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 56 |     pub fn message(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 04s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: sqlx-postgres v0.7.4
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4`
[INFO] running `Command { std: "docker" "inspect" "20cf977e16fff7d03158a6c7151a01607f14db6113bd495a556a7b2cb4b4d348", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "20cf977e16fff7d03158a6c7151a01607f14db6113bd495a556a7b2cb4b4d348", kill_on_drop: false }`
[INFO] [stdout] 20cf977e16fff7d03158a6c7151a01607f14db6113bd495a556a7b2cb4b4d348
