[INFO] cloning repository https://github.com/dalmasjunior/dex-listener
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dalmasjunior/dex-listener" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdalmasjunior%2Fdex-listener", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdalmasjunior%2Fdex-listener'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 707eb63c91c396c373d0cf3f5f77e00a7969952b
[INFO] checking dalmasjunior/dex-listener against e5e97e3ef0ee95d34bea49cdac051ed1bbac01df for pr-158759-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdalmasjunior%2Fdex-listener" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/dalmasjunior/dex-listener
[INFO] finished tweaking git repo https://github.com/dalmasjunior/dex-listener
[INFO] tweaked toml for git repo https://github.com/dalmasjunior/dex-listener written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/dalmasjunior/dex-listener on toolchain e5e97e3ef0ee95d34bea49cdac051ed1bbac01df
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e5e97e3ef0ee95d34bea49cdac051ed1bbac01df" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/dalmasjunior/dex-listener 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" "+e5e97e3ef0ee95d34bea49cdac051ed1bbac01df" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 5a649a464c2464c9573b872a57ae13ffd266b5999788488b68b59e040f000e79
[INFO] running `Command { std: "docker" "start" "5a649a464c2464c9573b872a57ae13ffd266b5999788488b68b59e040f000e79", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5a649a464c2464c9573b872a57ae13ffd266b5999788488b68b59e040f000e79", 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" "5a649a464c2464c9573b872a57ae13ffd266b5999788488b68b59e040f000e79" "/opt/rustwide/cargo-home/bin/cargo" "+e5e97e3ef0ee95d34bea49cdac051ed1bbac01df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5a649a464c2464c9573b872a57ae13ffd266b5999788488b68b59e040f000e79", 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" "5a649a464c2464c9573b872a57ae13ffd266b5999788488b68b59e040f000e79" "/opt/rustwide/cargo-home/bin/cargo" "+e5e97e3ef0ee95d34bea49cdac051ed1bbac01df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking const-oid v0.9.6
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]    Compiling generic-array v0.14.9
[INFO] [stderr]    Compiling toml_datetime v0.7.3
[INFO] [stderr]    Compiling indexmap v2.11.4
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling toml_parser v1.0.4
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]    Compiling find-msvc-tools v0.1.4
[INFO] [stderr]    Compiling parity-scale-codec v3.7.5
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling cc v1.2.41
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking socket2 v0.6.1
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking der v0.7.10
[INFO] [stderr]     Checking rustc-hex v2.1.0
[INFO] [stderr]     Checking unicode-ident v1.0.19
[INFO] [stderr]     Checking serde_json v1.0.145
[INFO] [stderr]     Checking getrandom v0.3.3
[INFO] [stderr]     Checking byte-slice-cast v1.2.3
[INFO] [stderr]     Checking ff v0.13.1
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.104
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking base64 v0.21.7
[INFO] [stderr]    Compiling toml_edit v0.23.7
[INFO] [stderr]     Checking group v0.13.0
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]     Checking fixed-hash v0.8.0
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking crypto-bigint v0.5.5
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]    Compiling const_format_proc_macros v0.2.34
[INFO] [stderr]     Checking sha3 v0.10.8
[INFO] [stderr]     Checking spki v0.7.3
[INFO] [stderr]     Checking pkcs8 v0.10.2
[INFO] [stderr]     Checking sec1 v0.7.3
[INFO] [stderr]     Checking rfc6979 v0.4.0
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]    Compiling proc-macro-crate v3.4.0
[INFO] [stderr]     Checking uint v0.9.5
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]     Checking const_format v0.2.35
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]     Checking foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling bumpalo v3.19.0
[INFO] [stderr]     Checking foreign-types v0.3.2
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]     Checking elliptic-curve v0.13.8
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling base16ct v0.2.0
[INFO] [stderr]    Compiling time-macros v0.2.24
[INFO] [stderr]     Checking tempfile v3.23.0
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking ecdsa v0.16.9
[INFO] [stderr]     Checking const-hex v1.16.0
[INFO] [stderr]    Compiling wasm-bindgen v0.2.104
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]     Checking k256 v0.13.4
[INFO] [stderr]    Compiling eyre v0.6.12
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]    Compiling radium v0.7.0
[INFO] [stderr]     Checking unicode-xid v0.2.6
[INFO] [stderr]     Checking time v0.3.44
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking tap v1.0.1
[INFO] [stderr]     Checking webpki-roots v0.25.4
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling keccak v0.1.5
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling bitflags v2.9.4
[INFO] [stderr]     Checking wyz v0.5.1
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling camino v1.2.1
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]     Checking rustls-pemfile v1.0.4
[INFO] [stderr]     Checking base64 v0.13.1
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]     Checking funty v2.0.0
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.104
[INFO] [stderr]     Checking bs58 v0.5.1
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking pbkdf2 v0.11.0
[INFO] [stderr]     Checking ripemd v0.1.3
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]     Checking bech32 v0.9.1
[INFO] [stderr]     Checking sync_wrapper v0.1.2
[INFO] [stderr]     Checking spin v0.5.2
[INFO] [stderr]     Checking bitvec v1.0.1
[INFO] [stderr]    Compiling indenter v0.3.4
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]     Checking untrusted v0.7.1
[INFO] [stderr]    Compiling darling_core v0.13.4
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]     Checking pem v1.1.1
[INFO] [stderr]     Checking unicode-normalization v0.1.24
[INFO] [stderr]     Checking salsa20 v0.10.2
[INFO] [stderr]     Checking send_wrapper v0.4.0
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.104
[INFO] [stderr]     Checking unicode-bidi v0.3.18
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking scrypt v0.10.0
[INFO] [stderr]     Checking hashers v1.0.1
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking Inflector v0.11.4
[INFO] [stderr]     Checking pbkdf2 v0.12.2
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking instant v0.1.13
[INFO] [stderr]     Checking dunce v1.0.5
[INFO] [stderr]     Checking matches v0.1.10
[INFO] [stderr]    Compiling rustc_version_runtime v0.2.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling impl-trait-for-tuples v0.2.3
[INFO] [stderr]    Compiling parity-scale-codec-derive v3.7.5
[INFO] [stderr]    Compiling rlp-derive v0.1.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling scale-info-derive v2.11.6
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling auto_impl v1.3.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling num_enum_derive v0.7.4
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.104
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking derive_more v1.0.0
[INFO] [stderr]     Checking yoke v0.8.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]     Checking zerotrie v0.2.2
[INFO] [stderr]    Compiling darling_macro v0.13.4
[INFO] [stderr]    Compiling enum-as-inner v0.4.0
[INFO] [stderr]     Checking js-sys v0.3.81
[INFO] [stderr]    Compiling darling v0.13.4
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking zerovec v0.11.4
[INFO] [stderr]     Checking num_enum v0.7.4
[INFO] [stderr]     Checking pin-project v1.1.10
[INFO] [stderr]     Checking idna v0.2.3
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.1
[INFO] [stderr]     Checking linked-hash-map v0.5.6
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking anstyle-query v1.1.4
[INFO] [stderr]    Compiling serde_with_macros v1.5.2
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]     Checking lru-cache v0.1.2
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking tracing-futures v0.2.5
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]     Checking futures-locks v0.7.1
[INFO] [stderr]     Checking bytes v1.10.1
[INFO] [stderr]     Checking impl-serde v0.4.0
[INFO] [stderr]     Checking cargo-platform v0.1.9
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking cargo_metadata v0.18.1
[INFO] [stderr]     Checking coins-core v0.8.7
[INFO] [stderr]     Checking uuid v0.8.2
[INFO] [stderr]     Checking simple_asn1 v0.6.3
[INFO] [stderr]     Checking tokio v1.47.1
[INFO] [stderr]     Checking rlp v0.5.2
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]     Checking potential_utf v0.1.3
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking icu_locale_core v2.0.0
[INFO] [stderr]     Checking icu_collections v2.0.0
[INFO] [stderr]     Checking impl-rlp v0.3.0
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking scale-info v2.11.6
[INFO] [stderr]     Checking impl-codec v0.6.0
[INFO] [stderr]     Checking enr v0.10.0
[INFO] [stderr]     Checking jsonwebtoken v8.3.0
[INFO] [stderr]     Checking coins-bip32 v0.8.7
[INFO] [stderr]    Compiling open-fastrlp-derive v0.1.1
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]     Checking eth-keystore v0.5.0
[INFO] [stderr]     Checking primitive-types v0.12.2
[INFO] [stderr]     Checking ethbloom v0.13.0
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]     Checking icu_properties v2.0.1
[INFO] [stderr]     Checking uuid v1.18.1
[INFO] [stderr]     Checking serde_bytes v0.11.19
[INFO] [stderr]     Checking socket2 v0.4.10
[INFO] [stderr]     Checking coins-bip39 v0.8.7
[INFO] [stderr]     Checking resolv-conf v0.7.5
[INFO] [stderr]    Compiling convert_case v0.4.0
[INFO] [stderr]     Checking unicode-properties v0.1.3
[INFO] [stderr]     Checking bson v2.15.0
[INFO] [stderr]     Checking clap_builder v4.5.49
[INFO] [stderr]     Checking serde_with v1.14.0
[INFO] [stderr]     Checking stringprep v0.1.5
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]    Compiling typed-builder v0.10.0
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking ethereum-types v0.14.1
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.7
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking gloo-timers v0.2.6
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking futures-timer v3.0.3
[INFO] [stderr]     Checking md-5 v0.10.6
[INFO] [stderr]     Checking sha-1 v0.10.1
[INFO] [stderr]     Checking open-fastrlp v0.1.4
[INFO] [stderr]     Checking ethabi v18.0.0
[INFO] [stderr]     Checking arc-swap v1.7.1
[INFO] [stderr]     Checking take_mut v0.2.2
[INFO] [stderr]     Checking unsafe-libyaml v0.2.11
[INFO] [stderr]     Checking strsim v0.10.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.20
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking tungstenite v0.20.1
[INFO] [stderr]     Checking dotenv v0.15.0
[INFO] [stderr]     Checking ethers-core v2.0.14
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking clap v4.5.49
[INFO] [stderr]     Checking tokio-util v0.7.16
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking trust-dns-proto v0.21.2
[INFO] [stderr]     Checking tokio-retry v0.3.0
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking tokio-tungstenite v0.20.1
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking combine v4.6.7
[INFO] [stderr]     Checking tokio-test v0.4.4
[INFO] [stderr]     Checking trust-dns-resolver v0.21.2
[INFO] [stderr]     Checking mongodb v2.8.2
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking ethers-contract-abigen v2.0.14
[INFO] [stderr]     Checking ethers-signers v2.0.14
[INFO] [stderr]     Checking ethers-addressbook v2.0.14
[INFO] [stderr]     Checking redis v0.24.0
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking ethers-providers v2.0.14
[INFO] [stderr]     Checking ethers-etherscan v2.0.14
[INFO] [stderr]    Compiling ethers-contract-derive v2.0.14
[INFO] [stderr]     Checking ethers-contract v2.0.14
[INFO] [stderr]     Checking ethers-middleware v2.0.14
[INFO] [stderr]     Checking ethers v2.0.14
[INFO] [stderr]     Checking dex-listener v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> tests/testnet_detection.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Arc;
[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: `event_sig`
[INFO] [stdout]   --> tests/testnet_detection.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let event_sig = H256::from_slice(
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_sig`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider`
[INFO] [stdout]    --> tests/testnet_detection.rs:162:9
[INFO] [stdout]     |
[INFO] [stdout] 162 |     let provider = Provider::<Http>::try_from(http_url)?;
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pair_address`
[INFO] [stdout]    --> tests/testnet_detection.rs:166:9
[INFO] [stdout]     |
[INFO] [stdout] 166 |     let pair_address: Address = "0x0000000000000000000000000000000000000000"
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pair_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAFEMOON_CLONE_1` is never used
[INFO] [stdout]   --> tests/security_tests.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const SAFEMOON_CLONE_1: &str = "0x8076c74c5e3f5852037f31ff0093eeb8c8add8d3"; // Example
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAFEMOON_CLONE_2` is never used
[INFO] [stdout]   --> tests/security_tests.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const SAFEMOON_CLONE_2: &str = "0x42981d0bfbAf196529376EE702F2a9Eb9092fcB5"; // Example
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HONEYPOT_1` is never used
[INFO] [stdout]   --> tests/security_tests.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const HONEYPOT_1: &str = "0x0000000000000000000000000000000000000001"; // Placeholder
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> tests/liquidity_tests.rs:151:31
[INFO] [stdout]     |
[INFO] [stdout] 151 |     let total_liquidity_usd = (usdc_reserve * 2.0); // Double one side
[INFO] [stdout]     |                               ^                  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 151 -     let total_liquidity_usd = (usdc_reserve * 2.0); // Double one side
[INFO] [stdout] 151 +     let total_liquidity_usd = usdc_reserve * 2.0; // Double one side
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USDC_ADDRESS` is never used
[INFO] [stdout]   --> tests/liquidity_tests.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const USDC_ADDRESS: &str = "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48";
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WETH_ADDRESS` is never used
[INFO] [stdout]   --> tests/liquidity_tests.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const WETH_ADDRESS: &str = "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2";
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAKE_ADDRESS` is never used
[INFO] [stdout]   --> tests/liquidity_tests.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const CAKE_ADDRESS: &str = "0x0E09FaBB73Bd3Ade0a17ECC321fD13a19e81cE82";
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WBNB_ADDRESS` is never used
[INFO] [stdout]   --> tests/liquidity_tests.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const WBNB_ADDRESS: &str = "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c";
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `token0` and `token1` are never read
[INFO] [stdout]    --> tests/liquidity_tests.rs:200:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |     struct PairReserves {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 200 |         token0: &'static str,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 201 |         token1: &'static str,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BaseToken` and `FactoryConfig`
[INFO] [stdout]   --> src/config.rs:15:33
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::types::{ChainConfig, BaseToken, FactoryConfig};
[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: `super::*`
[INFO] [stdout]    --> src/listener/factory_listener.rs:223:9
[INFO] [stdout]     |
[INFO] [stdout] 223 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BaseToken` and `FactoryConfig`
[INFO] [stdout]   --> src/config.rs:15:33
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::types::{ChainConfig, BaseToken, FactoryConfig};
[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: `warn`
[INFO] [stdout]  --> src/security/analyzer.rs:9:28
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tracing::{info, debug, warn};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PhishingAnalysis`
[INFO] [stdout]   --> src/security/analyzer.rs:11:50
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::types::{SecurityHints, AdminFunction, PhishingAnalysis};
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Abi`
[INFO] [stdout]    --> src/security/analyzer.rs:230:27
[INFO] [stdout]     |
[INFO] [stdout] 230 |         use ethers::abi::{Abi, Function, Param, ParamType, StateMutability, Token as AbiToken};
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info` and `warn`
[INFO] [stdout]  --> src/security/bytecode.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::{info, debug, warn};
[INFO] [stdout]   |               ^^^^         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Utc`
[INFO] [stdout]    --> src/security/templates.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |     use chrono::Utc;
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TransferRestriction`
[INFO] [stdout]    --> src/security/scoring.rs:235:42
[INFO] [stdout]     |
[INFO] [stdout] 235 |     use crate::types::{PhishingAnalysis, TransferRestriction};
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DetectionMethod`
[INFO] [stdout]   --> src/detection/detector.rs:12:68
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::types::{Token, PairCreatedEvent, DexHints, TradingPair, DetectionMethod, DiscoveryMetadata, CreationMetadata, RiskClassif...
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/security/tax_analyzer.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 | use anyhow::{Context, Result};
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/security/tax_analyzer.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::{info, debug, warn};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::detection::liquidity_calc::UniswapV2Pair`
[INFO] [stdout]   --> src/security/tax_analyzer.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::detection::liquidity_calc::UniswapV2Pair;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]  --> src/creator/reputation.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use anyhow::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/creator/reputation.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/creator/reputation.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, info};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reputation::ReputationAnalyzer`
[INFO] [stdout]   --> src/creator/mod.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use reputation::ReputationAnalyzer;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::TryStreamExt`
[INFO] [stdout]  --> src/storage/mongodb.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::TryStreamExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/security/analyzer.rs:9:28
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tracing::{info, debug, warn};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PhishingAnalysis`
[INFO] [stdout]   --> src/security/analyzer.rs:11:50
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::types::{SecurityHints, AdminFunction, PhishingAnalysis};
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Abi`
[INFO] [stdout]    --> src/security/analyzer.rs:230:27
[INFO] [stdout]     |
[INFO] [stdout] 230 |         use ethers::abi::{Abi, Function, Param, ParamType, StateMutability, Token as AbiToken};
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info` and `warn`
[INFO] [stdout]  --> src/security/bytecode.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::{info, debug, warn};
[INFO] [stdout]   |               ^^^^         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Serialize`
[INFO] [stdout]    --> src/storage/mongodb.rs:383:13
[INFO] [stdout]     |
[INFO] [stdout] 383 |         use serde::Serialize;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/storage/redis.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::{info, warn, error};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ethers::types::Address`
[INFO] [stdout]    --> src/storage/redis.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 105 |     use ethers::types::Address;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]  --> src/metrics/collector.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use anyhow::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/metrics/collector.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::{debug, info};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> src/metrics/stats.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::{info, error, debug};
[INFO] [stdout]   |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `types::BytecodeTemplate`
[INFO] [stdout]   --> src/main.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | use types::BytecodeTemplate;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/security/tax_analyzer.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 | use anyhow::{Context, Result};
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/security/tax_analyzer.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::{info, debug, warn};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::detection::liquidity_calc::UniswapV2Pair`
[INFO] [stdout]   --> src/security/tax_analyzer.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::detection::liquidity_calc::UniswapV2Pair;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]  --> src/creator/reputation.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use anyhow::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/creator/reputation.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/creator/reputation.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, info};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `reputation::ReputationAnalyzer`
[INFO] [stdout]   --> src/creator/mod.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use reputation::ReputationAnalyzer;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::TryStreamExt`
[INFO] [stdout]  --> src/storage/mongodb.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::TryStreamExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Serialize`
[INFO] [stdout]    --> src/storage/mongodb.rs:383:13
[INFO] [stdout]     |
[INFO] [stdout] 383 |         use serde::Serialize;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/storage/redis.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::{info, warn, error};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]  --> src/metrics/collector.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use anyhow::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/metrics/collector.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::{debug, info};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> src/metrics/stats.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::{info, error, debug};
[INFO] [stdout]   |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `types::BytecodeTemplate`
[INFO] [stdout]   --> src/main.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | use types::BytecodeTemplate;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ethers::abi::Function::constant`: The constant attribute was removed in Solidity 0.5.0 and has been replaced with stateMutability.
[INFO] [stdout]    --> src/security/analyzer.rs:241:13
[INFO] [stdout]     |
[INFO] [stdout] 241 |             constant: None,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ethers::abi::Function::constant`: The constant attribute was removed in Solidity 0.5.0 and has been replaced with stateMutability.
[INFO] [stdout]    --> src/security/analyzer.rs:241:13
[INFO] [stdout]     |
[INFO] [stdout] 241 |             constant: None,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ethers::abi::Function::constant`: The constant attribute was removed in Solidity 0.5.0 and has been replaced with stateMutability.
[INFO] [stdout]    --> src/security/liquidity_risk.rs:460:13
[INFO] [stdout]     |
[INFO] [stdout] 460 |             constant: None,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `ethers::abi::Function::constant`: The constant attribute was removed in Solidity 0.5.0 and has been replaced with stateMutability.
[INFO] [stdout]    --> src/security/liquidity_risk.rs:460:13
[INFO] [stdout]     |
[INFO] [stdout] 460 |             constant: None,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 3 arguments but 2 arguments were supplied
[INFO] [stdout]    --> src/detection/detector.rs:636:24
[INFO] [stdout]     |
[INFO] [stdout] 636 |           let detector = TokenDetector::new(
[INFO] [stdout]     |  ________________________^^^^^^^^^^^^^^^^^^-
[INFO] [stdout] 637 | |             Provider::<Http>::try_from("https://eth.llamarpc.com").unwrap(),
[INFO] [stdout] 638 | |             1
[INFO] [stdout] 639 | |         );
[INFO] [stdout]     | |_________- argument #3 of type `Vec<H160>` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/detection/detector.rs:53:12
[INFO] [stdout]     |
[INFO] [stdout]  53 |     pub fn new(provider: Provider<Http>, chain_id: u64, base_tokens: Vec<Address>) -> Self {
[INFO] [stdout]     |            ^^^                                          -------------------------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 636 |         let detector = TokenDetector::new(
[INFO] [stdout] 637 |             Provider::<Http>::try_from("https://eth.llamarpc.com").unwrap(),
[INFO] [stdout] 638 ~             1,
[INFO] [stdout] 639 +             /* Vec<H160> */,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing fields `buy_url`, `largest_lp_holder`, `largest_lp_holder_percentage` and 1 other field in initializer of `types::DexHints`
[INFO] [stdout]    --> src/storage/redis.rs:173:24
[INFO] [stdout]     |
[INFO] [stdout] 173 |             dex_hints: DexHints {
[INFO] [stdout]     |                        ^^^^^^^^ missing `buy_url`, `largest_lp_holder`, `largest_lp_holder_percentage` and 1 other field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing fields `rugpull_analysis` and `security_alerts` in initializer of `types::Token`
[INFO] [stdout]    --> src/storage/redis.rs:127:21
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let token = Token {
[INFO] [stdout]     |                     ^^^^^ missing `rugpull_analysis` and `security_alerts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pair_created_sig`
[INFO] [stdout]    --> src/listener/factory_listener.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let pair_created_sig = H256::from_slice(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pair_created_sig`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pair_created_sig`
[INFO] [stdout]    --> src/listener/factory_listener.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let pair_created_sig = H256::from_slice(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pair_created_sig`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `largest_balance`
[INFO] [stdout]    --> src/detection/liquidity_calc.rs:298:30
[INFO] [stdout]     |
[INFO] [stdout] 298 |         let (largest_holder, largest_balance, largest_percentage) = if total_supply > U256::zero() {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_largest_balance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/detection/liquidity_calc.rs:510:9
[INFO] [stdout]     |
[INFO] [stdout] 510 |         token: Address,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `largest_balance`
[INFO] [stdout]    --> src/detection/liquidity_calc.rs:298:30
[INFO] [stdout]     |
[INFO] [stdout] 298 |         let (largest_holder, largest_balance, largest_percentage) = if total_supply > U256::zero() {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_largest_balance`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/detection/liquidity_calc.rs:510:9
[INFO] [stdout]     |
[INFO] [stdout] 510 |         token: Address,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `storage`
[INFO] [stdout]   --> src/metrics/stats.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         storage: &MongoStorage,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_storage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `daily_metrics`
[INFO] [stdout]   --> src/metrics/stats.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let daily_metrics = DailyMetrics {
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_daily_metrics`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `snapshot`
[INFO] [stdout]    --> src/metrics/stats.rs:104:21
[INFO] [stdout]     |
[INFO] [stdout] 104 |                 let snapshot = collector.get_snapshot();
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_snapshot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aggregator`
[INFO] [stdout]    --> src/metrics/stats.rs:105:21
[INFO] [stdout]     |
[INFO] [stdout] 105 |                 let aggregator = StatsAggregator::new(chain_id);
[INFO] [stdout]     |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aggregator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `storage`
[INFO] [stdout]   --> src/metrics/stats.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |         storage: MongoStorage,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_storage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `storage`
[INFO] [stdout]    --> src/metrics/stats.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |         storage: &MongoStorage,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_storage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]    --> src/utils/moralis.rs:184:13
[INFO] [stdout]     |
[INFO] [stdout] 184 |         let now = std::time::Instant::now();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `storage`
[INFO] [stdout]   --> src/metrics/stats.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         storage: &MongoStorage,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_storage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `daily_metrics`
[INFO] [stdout]   --> src/metrics/stats.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let daily_metrics = DailyMetrics {
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_daily_metrics`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `snapshot`
[INFO] [stdout]    --> src/metrics/stats.rs:104:21
[INFO] [stdout]     |
[INFO] [stdout] 104 |                 let snapshot = collector.get_snapshot();
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_snapshot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `aggregator`
[INFO] [stdout]    --> src/metrics/stats.rs:105:21
[INFO] [stdout]     |
[INFO] [stdout] 105 |                 let aggregator = StatsAggregator::new(chain_id);
[INFO] [stdout]     |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_aggregator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `storage`
[INFO] [stdout]   --> src/metrics/stats.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |         storage: MongoStorage,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_storage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `storage`
[INFO] [stdout]    --> src/metrics/stats.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |         storage: &MongoStorage,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_storage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]    --> src/utils/moralis.rs:184:13
[INFO] [stdout]     |
[INFO] [stdout] 184 |         let now = std::time::Instant::now();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `etherscan_apis` and `price_oracles` are never read
[INFO] [stdout]   --> src/config.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct Config {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 42 |     pub chains: HashMap<String, ChainConfig>,
[INFO] [stdout] 43 |     pub etherscan_apis: HashMap<String, String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 44 |     #[serde(default)]
[INFO] [stdout] 45 |     pub price_oracles: Option<PriceOracleConfig>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Config` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `chainlink` is never read
[INFO] [stdout]   --> src/config.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct PriceOracleConfig {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 50 |     pub chainlink: HashMap<String, HashMap<String, String>>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PriceOracleConfig` 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 `AppConfig` is never constructed
[INFO] [stdout]   --> src/config.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct AppConfig {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_chain` is never used
[INFO] [stdout]   --> src/config.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 81 | impl Config {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 97 |     pub fn get_chain(&self, chain_name: &str) -> Result<ChainConfig> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `load` is never used
[INFO] [stdout]    --> src/config.rs:107:12
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl AppConfig {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] 106 |     /// Load full app configuration from env vars + YAML
[INFO] [stdout] 107 |     pub fn load() -> Result<Self> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]    --> src/types.rs:211:12
[INFO] [stdout]     |
[INFO] [stdout] 210 | impl AlertSeverity {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] 211 |     pub fn as_str(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ReputationLevel` is never used
[INFO] [stdout]    --> src/types.rs:554:10
[INFO] [stdout]     |
[INFO] [stdout] 554 | pub enum ReputationLevel {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]    --> src/types.rs:568:9
[INFO] [stdout]     |
[INFO] [stdout] 566 | pub struct ChainConfig {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 567 |     pub chain_id: u64,
[INFO] [stdout] 568 |     pub name: String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ChainConfig` 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 `DailyMetrics` is never constructed
[INFO] [stdout]    --> src/types.rs:599:12
[INFO] [stdout]     |
[INFO] [stdout] 599 | pub struct DailyMetrics {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TemplateCount` is never constructed
[INFO] [stdout]    --> src/types.rs:628:12
[INFO] [stdout]     |
[INFO] [stdout] 628 | pub struct TemplateCount {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `serialize_u256` is never used
[INFO] [stdout]   --> src/types.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn serialize_u256<S>(value: &U256, serializer: S) -> Result<S::Ok, S::Error>
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deserialize_u256` is never used
[INFO] [stdout]   --> src/types.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn deserialize_u256<'de, D>(deserializer: D) -> Result<U256, D::Error>
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `serialize_u256_as_string` is never used
[INFO] [stdout]   --> src/types.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn serialize_u256_as_string<S>(value: &U256, serializer: S) -> Result<S::Ok, S::Error>
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deserialize_u256_from_string` is never used
[INFO] [stdout]   --> src/types.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn deserialize_u256_from_string<'de, D>(deserializer: D) -> Result<U256, D::Error>
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `chain_id` is never read
[INFO] [stdout]   --> src/listener/factory_listener.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct FactoryListener {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 40 |     chain_id: u64,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_current_block` and `is_connected` are never used
[INFO] [stdout]    --> src/listener/factory_listener.rs:206:18
[INFO] [stdout]     |
[INFO] [stdout]  45 | impl FactoryListener {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 206 |     pub async fn get_current_block(&self) -> Result<u64> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub async fn is_connected(&self) -> bool {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_transaction_info` is never used
[INFO] [stdout]    --> src/listener/event_parser.rs:123:18
[INFO] [stdout]     |
[INFO] [stdout]  22 | impl EventParser {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub async fn get_transaction_info(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TransactionInfo` is never constructed
[INFO] [stdout]    --> src/listener/event_parser.rs:225:12
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub struct TransactionInfo {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pair_address`, `started_at`, `last_checked_block`, and `event` are never read
[INFO] [stdout]   --> src/listener/pair_observer.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | struct ObservationTask {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 35 |     pair_address: Address,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 36 |     started_at: std::time::Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 37 |     last_checked_block: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 38 |     event: PairCreatedEvent,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ObservationTask` 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_observing_count`, `get_observing_pairs`, `stop_observing`, and `get_observation_status` are never used
[INFO] [stdout]    --> src/listener/pair_observer.rs:150:18
[INFO] [stdout]     |
[INFO] [stdout]  41 | impl PairObserver {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub async fn get_observing_count(&self) -> usize {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub async fn get_observing_pairs(&self) -> Vec<Address> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     pub async fn stop_observing(&self, pair_address: Address) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub async fn get_observation_status(&self, pair_address: Address) -> Option<ObservationStatus> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ObservationStatus` is never constructed
[INFO] [stdout]    --> src/listener/pair_observer.rs:195:12
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub struct ObservationStatus {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `token_exists` is never used
[INFO] [stdout]    --> src/detection/detector.rs:624:18
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl TokenDetector {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 624 |     pub async fn token_exists(&self, address: Address, storage: &crate::storage::MongoStorage) -> Result<bool> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `normalize_amount` and `find_best_liquidity` are never used
[INFO] [stdout]    --> src/detection/liquidity_calc.rs:388:8
[INFO] [stdout]     |
[INFO] [stdout]  45 | impl LiquidityCalculator {
[INFO] [stdout]     | ------------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 388 |     fn normalize_amount(amount: U256, decimals: u8) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 508 |     pub async fn find_best_liquidity(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `pair_address`, `reserve0_normalized`, `reserve1_normalized`, `reserve0_usd`, `reserve1_usd`, and `factory_name` are never read
[INFO] [stdout]    --> src/detection/liquidity_calc.rs:540:9
[INFO] [stdout]     |
[INFO] [stdout] 539 | pub struct PairLiquidity {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] 540 |     pub pair_address: Address,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 545 |     pub reserve0_normalized: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 546 |     pub reserve1_normalized: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 549 |     pub reserve0_usd: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 550 |     pub reserve1_usd: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 551 |     pub total_liquidity_usd: f64,
[INFO] [stdout] 552 |     pub factory_name: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PairLiquidity` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `address` and `name` are never read
[INFO] [stdout]    --> src/detection/liquidity_calc.rs:561:5
[INFO] [stdout]     |
[INFO] [stdout] 560 | struct TokenInfo {
[INFO] [stdout]     |        --------- fields in this struct
[INFO] [stdout] 561 |     address: Address,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 564 |     name: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TokenInfo` 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 functions `extract_selectors`, `analyze_complexity`, and `calculate_complexity_score` are never used
[INFO] [stdout]    --> src/security/bytecode.rs:61:12
[INFO] [stdout]     |
[INFO] [stdout]  14 | impl BytecodeAnalyzer {
[INFO] [stdout]     | --------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  61 |     pub fn extract_selectors(bytecode: &[u8]) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn analyze_complexity(bytecode: &[u8]) -> BytecodeComplexity {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     fn calculate_complexity_score(length: usize, jumps: u32, storage_ops: u32, calls: u32) -> u8 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BytecodeComplexity` is never constructed
[INFO] [stdout]    --> src/security/bytecode.rs:157:12
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub struct BytecodeComplexity {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNPAUSE` is never used
[INFO] [stdout]    --> src/security/bytecode.rs:169:15
[INFO] [stdout]     |
[INFO] [stdout] 169 |     pub const UNPAUSE: [u8; 4] = [0x3f, 0x4b, 0xa8, 0x3a]; // unpause()
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SET_TRADING_ENABLED` is never used
[INFO] [stdout]    --> src/security/bytecode.rs:174:15
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub const SET_TRADING_ENABLED: [u8; 4] = [0x8a, 0x8c, 0x52, 0x3c]; // setTradingEnabled(bool)
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WITHDRAW` is never used
[INFO] [stdout]    --> src/security/bytecode.rs:175:15
[INFO] [stdout]     |
[INFO] [stdout] 175 |     pub const WITHDRAW: [u8; 4] = [0x3c, 0xcf, 0xd6, 0x0b]; // withdraw()
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RESCUE_ETH` is never used
[INFO] [stdout]    --> src/security/bytecode.rs:176:15
[INFO] [stdout]     |
[INFO] [stdout] 176 |     pub const RESCUE_ETH: [u8; 4] = [0x9f, 0x79, 0xf7, 0x7e]; // rescueETH()
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `clear_memory` and `stats` are never used
[INFO] [stdout]    --> src/security/templates.rs:146:12
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl TemplateCache {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn clear_memory(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn stats(&self) -> CacheStats {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CacheStats` is never constructed
[INFO] [stdout]    --> src/security/templates.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub struct CacheStats {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `get_risk_color`, `is_tradeable`, and `generate_summary` are never used
[INFO] [stdout]    --> src/security/scoring.rs:138:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl SecurityScorer {
[INFO] [stdout]     | ------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub fn get_risk_color(score: u8) -> &'static str {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn is_tradeable(score: u8) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn generate_summary(hints: &SecurityHints) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RiskBreakdown` is never constructed
[INFO] [stdout]    --> src/security/scoring.rs:192:12
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub struct RiskBreakdown {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_hints` is never used
[INFO] [stdout]    --> src/security/scoring.rs:204:12
[INFO] [stdout]     |
[INFO] [stdout] 203 | impl RiskBreakdown {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 204 |     pub fn from_hints(hints: &SecurityHints) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_to_blacklist`, `add_malicious_creator`, and `is_blacklisted` are never used
[INFO] [stdout]    --> src/security/phishing.rs:289:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl PhishingDetector {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 289 |     pub fn add_to_blacklist(&mut self, address: Address) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub fn add_malicious_creator(&mut self, address: Address) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn is_blacklisted(&self, address: &Address) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_contract_abi`, `get_transaction_receipt`, and `is_contract` are never used
[INFO] [stdout]    --> src/security/etherscan.rs:92:18
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl EtherscanClient {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub async fn get_contract_abi(&self, address: Address) -> Result<Option<String>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub async fn get_transaction_receipt(&self, tx_hash: &str) -> Result<Option<TransactionReceipt>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub async fn is_contract(&self, address: Address) -> Result<bool> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TransactionReceipt` is never constructed
[INFO] [stdout]    --> src/security/etherscan.rs:224:12
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub struct TransactionReceipt {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `source` are never read
[INFO] [stdout]   --> src/security/liquidity_risk.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 44 | struct LockerInfo {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] 45 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     source: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LockerInfo` 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 `chain_id` is never read
[INFO] [stdout]   --> src/security/tax_analyzer.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct TaxAnalyzer {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 27 |     chain_id: u64,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `chain_id` is never read
[INFO] [stdout]   --> src/creator/tracker.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct CreatorTracker {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 25 |     chain_id: u64,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_creator_stats` and `flag_token_as_scam` are never used
[INFO] [stdout]    --> src/creator/tracker.rs:177:18
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl CreatorTracker {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub async fn get_creator_stats(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub async fn flag_token_as_scam(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReputationAnalyzer` is never constructed
[INFO] [stdout]   --> src/creator/reputation.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ReputationAnalyzer {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/creator/reputation.rs:31:12
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl ReputationAnalyzer {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout]  31 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  36 |     pub fn calculate_comprehensive_score(&self, creator: &TokenCreator) -> ReputationScore {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     fn calculate_liquidity_score(&self, creator: &TokenCreator) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     fn calculate_scam_score(&self, creator: &TokenCreator) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     fn calculate_consistency_score(&self, creator: &TokenCreator) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     fn calculate_volume_score(&self, creator: &TokenCreator) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     fn classify_risk_level(&self, score: f64) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     fn assign_badges(&self, creator: &TokenCreator, overall_score: &f64) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 282 |     fn generate_warnings(&self, creator: &TokenCreator) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReputationScore` is never constructed
[INFO] [stdout]    --> src/creator/reputation.rs:318:12
[INFO] [stdout]     |
[INFO] [stdout] 318 | pub struct ReputationScore {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `db` is never read
[INFO] [stdout]   --> src/storage/mongodb.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct MongoStorage {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 20 |     db: Database,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MongoStorage` 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 `upsert_token`, `get_creator`, `update_creator`, `get_stats`, `save_daily_metrics`, and `save_daily_metrics_attempt` are never used
[INFO] [stdout]    --> src/storage/mongodb.rs:375:18
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl MongoStorage {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 375 |     pub async fn upsert_token(&self, token: &Token) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 587 |     pub async fn get_creator(&self, address: &str) -> Result<Option<TokenCreator>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 606 |     pub async fn update_creator(&self, creator: &TokenCreator) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 637 |     pub async fn get_stats(&self) -> Result<DatabaseStats> {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 650 |     pub async fn save_daily_metrics(&self, metrics: &DailyMetrics) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 688 |     async fn save_daily_metrics_attempt(&self, metrics: &DailyMetrics) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DatabaseStats` is never constructed
[INFO] [stdout]    --> src/storage/mongodb.rs:744:12
[INFO] [stdout]     |
[INFO] [stdout] 744 | pub struct DatabaseStats {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `channel` is never read
[INFO] [stdout]   --> src/storage/redis.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct RedisNotifier {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 13 |     conn: ConnectionManager,
[INFO] [stdout] 14 |     channel: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `notify_new_token` and `health_check` are never used
[INFO] [stdout]   --> src/storage/redis.rs:48:18
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl RedisNotifier {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub async fn notify_new_token(&mut self, token: &Token) -> Result<()> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub async fn health_check(&mut self) -> Result<bool> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record_creator`, `record_warning`, and `reset` are never used
[INFO] [stdout]    --> src/metrics/collector.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout]  58 | impl MetricsCollector {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn record_creator(&self, is_new: bool, is_flagged: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn record_warning(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     pub fn reset(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `save_daily_metrics` and `get_stats_summary` are never used
[INFO] [stdout]    --> src/metrics/stats.rs:22:18
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl StatsAggregator {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  22 |     pub async fn save_daily_metrics(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub async fn get_stats_summary(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `exchange_address` and `exchange_name` are never read
[INFO] [stdout]   --> src/utils/moralis.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct MoralisPriceResponse {
[INFO] [stdout]    |        -------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     exchange_address: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     #[serde(rename = "exchangeName")]
[INFO] [stdout] 23 |     exchange_name: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MoralisPriceResponse` 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 `name`, `decimals`, and `contract_type` are never read
[INFO] [stdout]   --> src/utils/moralis.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct MoralisTokenMetadata {
[INFO] [stdout]    |            -------------------- fields in this struct
[INFO] [stdout] 28 |     pub name: Option<String>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 29 |     pub symbol: Option<String>,
[INFO] [stdout] 30 |     pub decimals: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 31 |     #[serde(rename = "contractType")]
[INFO] [stdout] 32 |     pub contract_type: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MoralisTokenMetadata` 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 `cleanup_cache` is never used
[INFO] [stdout]    --> src/utils/moralis.rs:182:18
[INFO] [stdout]     |
[INFO] [stdout]  41 | impl MoralisClient {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub async fn cleanup_cache(&self) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0063.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `dex-listener` (bin "dex-listener" test) due to 3 previous errors; 35 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "5a649a464c2464c9573b872a57ae13ffd266b5999788488b68b59e040f000e79", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5a649a464c2464c9573b872a57ae13ffd266b5999788488b68b59e040f000e79", kill_on_drop: false }`
[INFO] [stdout] 5a649a464c2464c9573b872a57ae13ffd266b5999788488b68b59e040f000e79
