[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::::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::::try_from("https://eth.llamarpc.com").unwrap(), [INFO] [stdout] 638 | | 1 [INFO] [stdout] 639 | | ); [INFO] [stdout] | |_________- argument #3 of type `Vec` 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, chain_id: u64, base_tokens: Vec
) -> Self { [INFO] [stdout] | ^^^ ------------------------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 636 | let detector = TokenDetector::new( [INFO] [stdout] 637 | Provider::::try_from("https://eth.llamarpc.com").unwrap(), [INFO] [stdout] 638 ~ 1, [INFO] [stdout] 639 + /* Vec */, [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, [INFO] [stdout] 43 | pub etherscan_apis: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 44 | #[serde(default)] [INFO] [stdout] 45 | pub price_oracles: Option, [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>, [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 { [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 { [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(value: &U256, serializer: S) -> Result [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 [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(value: &U256, serializer: S) -> Result [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 [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 { [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
{ [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 { [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 { [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 { [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> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub async fn get_transaction_receipt(&self, tx_hash: &str) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 158 | pub async fn is_contract(&self, address: Address) -> Result { [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 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 282 | fn generate_warnings(&self, creator: &TokenCreator) -> Vec { [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> { [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 { [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 { [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, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 22 | #[serde(rename = "exchangeName")] [INFO] [stdout] 23 | exchange_name: Option, [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, [INFO] [stdout] | ^^^^ [INFO] [stdout] 29 | pub symbol: Option, [INFO] [stdout] 30 | pub decimals: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 31 | #[serde(rename = "contractType")] [INFO] [stdout] 32 | pub contract_type: Option, [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