[INFO] cloning repository https://github.com/azmshoh/MEV-bot
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/azmshoh/MEV-bot" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fazmshoh%2FMEV-bot", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fazmshoh%2FMEV-bot'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 210b91dbd194154ac93b0eb1413db6d39fbfe90b
[INFO] building azmshoh/MEV-bot against try#58b1b3c5342a414c161338871f8004258ccef2a7 for pr-149937
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fazmshoh%2FMEV-bot" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/azmshoh/MEV-bot
[INFO] finished tweaking git repo https://github.com/azmshoh/MEV-bot
[INFO] tweaked toml for git repo https://github.com/azmshoh/MEV-bot written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/azmshoh/MEV-bot on toolchain 58b1b3c5342a414c161338871f8004258ccef2a7
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+58b1b3c5342a414c161338871f8004258ccef2a7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/azmshoh/MEV-bot already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+58b1b3c5342a414c161338871f8004258ccef2a7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: profile.release.hex
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+58b1b3c5342a414c161338871f8004258ccef2a7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4c0c65410f38d512bf2b851c6a98bad81dd97af9a56e53599e42c9c0fcaf2f8e
[INFO] running `Command { std: "docker" "start" "-a" "4c0c65410f38d512bf2b851c6a98bad81dd97af9a56e53599e42c9c0fcaf2f8e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4c0c65410f38d512bf2b851c6a98bad81dd97af9a56e53599e42c9c0fcaf2f8e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4c0c65410f38d512bf2b851c6a98bad81dd97af9a56e53599e42c9c0fcaf2f8e", kill_on_drop: false }`
[INFO] [stdout] 4c0c65410f38d512bf2b851c6a98bad81dd97af9a56e53599e42c9c0fcaf2f8e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+58b1b3c5342a414c161338871f8004258ccef2a7" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d6bc39a66b04989da1cbcaa6153e4b4f6d995c73f8416aae208cfd607b65a047
[INFO] running `Command { std: "docker" "start" "-a" "d6bc39a66b04989da1cbcaa6153e4b4f6d995c73f8416aae208cfd607b65a047", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: profile.release.hex
[INFO] [stderr]    Compiling proc-macro2 v1.0.94
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling winnow v0.7.4
[INFO] [stderr]    Compiling rustc-hex v2.1.0
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling libc v0.2.171
[INFO] [stderr]    Compiling crunchy v0.2.3
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling parity-scale-codec v3.7.4
[INFO] [stderr]    Compiling byte-slice-cast v1.2.3
[INFO] [stderr]    Compiling zeroize v1.8.1
[INFO] [stderr]    Compiling base16ct v0.2.0
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling cc v1.2.17
[INFO] [stderr]    Compiling keccak v0.1.5
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling der v0.7.9
[INFO] [stderr]    Compiling getrandom v0.3.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling bitflags v2.9.0
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling ff v0.13.1
[INFO] [stderr]    Compiling crypto-bigint v0.5.5
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling sha2 v0.10.8
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling group v0.13.0
[INFO] [stderr]    Compiling sha3 v0.10.8
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling rfc6979 v0.4.0
[INFO] [stderr]    Compiling rustix v1.0.5
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling uint v0.9.5
[INFO] [stderr]    Compiling socket2 v0.5.9
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling const_format_proc_macros v0.2.34
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.100
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling bumpalo v3.17.0
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling fixed-hash v0.8.0
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling iana-time-zone v0.1.63
[INFO] [stderr]    Compiling spki v0.7.3
[INFO] [stderr]    Compiling sec1 v0.7.3
[INFO] [stderr]    Compiling chrono v0.4.40
[INFO] [stderr]    Compiling const_format v0.2.34
[INFO] [stderr]    Compiling pkcs8 v0.10.2
[INFO] [stderr]    Compiling elliptic-curve v0.13.8
[INFO] [stderr]    Compiling const-hex v1.14.0
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling wasm-bindgen v0.2.100
[INFO] [stderr]    Compiling prettyplease v0.2.31
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling time-macros v0.2.22
[INFO] [stderr]    Compiling deranged v0.4.1
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling ecdsa v0.16.9
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling k256 v0.13.4
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.100
[INFO] [stderr]    Compiling tempfile v3.19.1
[INFO] [stderr]    Compiling radium v0.7.0
[INFO] [stderr]    Compiling rlp-derive v0.1.0
[INFO] [stderr]    Compiling eyre v0.6.12
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling bs58 v0.5.1
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.100
[INFO] [stderr]    Compiling ripemd v0.1.3
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling time v0.3.41
[INFO] [stderr]    Compiling spin v0.5.2
[INFO] [stderr]    Compiling tap v1.0.1
[INFO] [stderr]    Compiling untrusted v0.7.1
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling base64 v0.13.1
[INFO] [stderr]    Compiling data-encoding v2.8.0
[INFO] [stderr]    Compiling bech32 v0.9.1
[INFO] [stderr]    Compiling wyz v0.5.1
[INFO] [stderr]    Compiling salsa20 v0.10.2
[INFO] [stderr]    Compiling pbkdf2 v0.11.0
[INFO] [stderr]    Compiling fxhash v0.2.1
[INFO] [stderr]    Compiling pem v1.1.1
[INFO] [stderr]    Compiling send_wrapper v0.4.0
[INFO] [stderr]    Compiling funty v2.0.0
[INFO] [stderr]    Compiling scrypt v0.10.0
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling hashers v1.0.1
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling Inflector v0.11.4
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling impl-trait-for-tuples v0.2.3
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling auto_impl v1.2.1
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling rustls-webpki v0.101.7
[INFO] [stderr]    Compiling derive_more v1.0.0
[INFO] [stderr]    Compiling sct v0.7.1
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.100
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling yoke v0.7.5
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]    Compiling zerovec v0.10.4
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling bitvec v1.0.1
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling ctr v0.9.2
[INFO] [stderr]    Compiling pbkdf2 v0.12.2
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling pin-project v1.1.10
[INFO] [stderr]    Compiling js-sys v0.3.77
[INFO] [stderr]    Compiling tracing-futures v0.2.5
[INFO] [stderr]    Compiling futures-locks v0.7.1
[INFO] [stderr]    Compiling anyhow v1.0.97
[INFO] [stderr]    Compiling hashbrown v0.13.2
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling tracing-subscriber v0.3.19
[INFO] [stderr]    Compiling tinystr v0.7.6
[INFO] [stderr]    Compiling icu_locid v1.5.0
[INFO] [stderr]    Compiling icu_collections v1.5.0
[INFO] [stderr]    Compiling simple_asn1 v0.6.3
[INFO] [stderr]    Compiling lru v0.10.1
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling icu_provider v1.5.0
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling icu_locid_transform v1.5.0
[INFO] [stderr]    Compiling icu_properties v1.5.1
[INFO] [stderr]    Compiling icu_normalizer v1.5.0
[INFO] [stderr]    Compiling gloo-timers v0.2.6
[INFO] [stderr]    Compiling futures-timer v3.0.3
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]    Compiling serde_spanned v0.6.8
[INFO] [stderr]    Compiling toml_datetime v0.6.8
[INFO] [stderr]    Compiling impl-serde v0.4.0
[INFO] [stderr]    Compiling camino v1.1.9
[INFO] [stderr]    Compiling cargo-platform v0.1.9
[INFO] [stderr]    Compiling semver v1.0.26
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling coins-core v0.8.7
[INFO] [stderr]    Compiling uuid v0.8.2
[INFO] [stderr]    Compiling toml_edit v0.22.24
[INFO] [stderr]    Compiling idna_adapter v1.2.0
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling coins-bip32 v0.8.7
[INFO] [stderr]    Compiling rlp v0.5.2
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling tokio v1.44.1
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling open-fastrlp-derive v0.1.1
[INFO] [stderr]    Compiling impl-rlp v0.3.0
[INFO] [stderr]    Compiling enr v0.10.0
[INFO] [stderr]    Compiling cargo_metadata v0.18.1
[INFO] [stderr]    Compiling coins-bip39 v0.8.7
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling tungstenite v0.20.1
[INFO] [stderr]    Compiling jsonwebtoken v8.3.0
[INFO] [stderr]    Compiling eth-keystore v0.5.0
[INFO] [stderr]    Compiling proc-macro-crate v3.3.0
[INFO] [stderr]    Compiling toml v0.8.20
[INFO] [stderr]    Compiling parity-scale-codec-derive v3.7.4
[INFO] [stderr]    Compiling scale-info-derive v2.11.6
[INFO] [stderr]    Compiling num_enum_derive v0.7.3
[INFO] [stderr]    Compiling num_enum v0.7.3
[INFO] [stderr]    Compiling scale-info v2.11.6
[INFO] [stderr]    Compiling impl-codec v0.6.0
[INFO] [stderr]    Compiling primitive-types v0.12.2
[INFO] [stderr]    Compiling ethbloom v0.13.0
[INFO] [stderr]    Compiling tokio-util v0.7.14
[INFO] [stderr]    Compiling tokio-rustls v0.24.1
[INFO] [stderr]    Compiling tokio-tungstenite v0.20.1
[INFO] [stderr]    Compiling h2 v0.3.26
[INFO] [stderr]    Compiling ethereum-types v0.14.1
[INFO] [stderr]    Compiling open-fastrlp v0.1.4
[INFO] [stderr]    Compiling ethabi v18.0.0
[INFO] [stderr]    Compiling ethers-core v2.0.14
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper-rustls v0.24.2
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling ethers-contract-abigen v2.0.14
[INFO] [stderr]    Compiling ethers-providers v2.0.14
[INFO] [stderr]    Compiling ethers-signers v2.0.14
[INFO] [stderr]    Compiling ethers-etherscan v2.0.14
[INFO] [stderr]    Compiling ethers-addressbook v2.0.14
[INFO] [stderr]    Compiling ethers-contract-derive v2.0.14
[INFO] [stderr]    Compiling ethers-contract v2.0.14
[INFO] [stderr]    Compiling ethers-middleware v2.0.14
[INFO] [stderr]    Compiling ethers v2.0.14
[INFO] [stderr]    Compiling pro_mev v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/main.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{info, debug, warn, error, Level};
[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: `Bytes`
[INFO] [stdout]  --> src/mempool.rs:6:55
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ethers::types::{Transaction, H256, U256, Address, Bytes};
[INFO] [stdout]   |                                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, and `trace`
[INFO] [stdout]   --> src/mempool.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tracing::{info, debug, warn, error, trace};
[INFO] [stdout]    |                     ^^^^^        ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `H256`
[INFO] [stdout]  --> src/token.rs:6:36
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ethers::types::{Address, U256, H256};
[INFO] [stdout]   |                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ethers::contract::Contract`
[INFO] [stdout]  --> src/token.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ethers::contract::Contract;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Abi`, `ParamType`, and `Token`
[INFO] [stdout]  --> src/token.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ethers::abi::{Abi, Token, ParamType};
[INFO] [stdout]   |                   ^^^  ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RwLock`
[INFO] [stdout]   --> src/token.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::sync::{Mutex, RwLock};
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> src/token.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 | use anyhow::{Result, anyhow, Context};
[INFO] [stdout]    |                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/token.rs:13:34
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tracing::{info, debug, warn, error, trace};
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `U64`
[INFO] [stdout]  --> src/pancake.rs:4:36
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ethers::types::{Address, U256, U64, Bytes};
[INFO] [stdout]   |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Contract` and `Eip712`
[INFO] [stdout]  --> src/pancake.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ethers::contract::{Contract, Eip712, abigen};
[INFO] [stdout]   |                        ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ethers::signers::Signer`
[INFO] [stdout]  --> src/pancake.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ethers::signers::Signer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/strategy.rs:5:33
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::{HashMap, HashSet, VecDeque};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Transaction`
[INFO] [stdout]  --> src/strategy.rs:7:42
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ethers::types::{Address, U256, H256, Transaction};
[INFO] [stdout]   |                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> src/strategy.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 | use anyhow::{Result, anyhow, Context};
[INFO] [stdout]    |                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/transaction.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BlockNumber`
[INFO] [stdout]  --> src/transaction.rs:7:82
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ethers::types::{Address, U256, H256, Transaction, TransactionRequest, Bytes, BlockNumber};
[INFO] [stdout]   |                                                                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MiddlewareBuilder`
[INFO] [stdout]  --> src/transaction.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ethers::middleware::{SignerMiddleware, MiddlewareBuilder};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `hex` and `keccak256`
[INFO] [stdout]   --> src/transaction.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ethers::utils::{keccak256, hex};
[INFO] [stdout]    |                     ^^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ParamType`
[INFO] [stdout]   --> src/transaction.rs:12:34
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ethers::abi::{Token, encode, ParamType};
[INFO] [stdout]    |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> src/transaction.rs:14:30
[INFO] [stdout]    |
[INFO] [stdout] 14 | use anyhow::{Result, anyhow, Context};
[INFO] [stdout]    |                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `trace`, and `warn`
[INFO] [stdout]   --> src/transaction.rs:15:21
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tracing::{info, debug, warn, error, trace};
[INFO] [stdout]    |                     ^^^^^  ^^^^  ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::min`
[INFO] [stdout]   --> src/transaction.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::cmp::min;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]   --> src/transaction.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::hash::Hash;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MiddlewareBuilder`
[INFO] [stdout]  --> src/wallet.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ethers::middleware::{SignerMiddleware, MiddlewareBuilder};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ethers::abi`
[INFO] [stdout]   --> src/wallet.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ethers::abi;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ContractFactory`
[INFO] [stdout]   --> src/wallet.rs:12:34
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ethers::contract::{Contract, ContractFactory};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `error`
[INFO] [stdout]   --> src/wallet.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tracing::{info, debug, warn, error};
[INFO] [stdout]    |                     ^^^^^        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info` and `warn`
[INFO] [stdout]  --> src/rpc_limiter.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, trace, warn, info};
[INFO] [stdout]   |                             ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Middleware`
[INFO] [stdout]  --> src/token.rs:7:39
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ethers::providers::{Provider, Ws, Middleware};
[INFO] [stdout]   |                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Middleware`
[INFO] [stdout]  --> src/pancake.rs:6:39
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ethers::providers::{Provider, Ws, Middleware};
[INFO] [stdout]   |                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]   --> src/transaction.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use itertools::Itertools;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token1`
[INFO] [stdout]    --> src/token.rs:532:22
[INFO] [stdout]     |
[INFO] [stdout] 532 |         let (token0, token1) = if let Some(tokens) = tokens {
[INFO] [stdout]     |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_token1`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_address`
[INFO] [stdout]    --> src/token.rs:639:45
[INFO] [stdout]     |
[INFO] [stdout] 639 |     async fn get_token_creation_time(&self, token_address: Address) -> Result<u64> {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bnb_amount`
[INFO] [stdout]    --> src/pancake.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |         bnb_amount: U256,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bnb_amount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `evaluated_tx_count` is assigned to, but never used
[INFO] [stdout]    --> src/strategy.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |         let mut evaluated_tx_count = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_evaluated_tx_count` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `selected_tx_count` is assigned to, but never used
[INFO] [stdout]    --> src/strategy.rs:244:13
[INFO] [stdout]     |
[INFO] [stdout] 244 |         let mut selected_tx_count = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_selected_tx_count` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `evaluated_tx_count` is never read
[INFO] [stdout]    --> src/strategy.rs:262:25
[INFO] [stdout]     |
[INFO] [stdout] 262 |                         evaluated_tx_count = 0;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `evaluated_tx_count` is never read
[INFO] [stdout]    --> src/strategy.rs:288:21
[INFO] [stdout]     |
[INFO] [stdout] 288 |                     evaluated_tx_count += 1;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `selected_tx_count` is never read
[INFO] [stdout]    --> src/strategy.rs:263:25
[INFO] [stdout]     |
[INFO] [stdout] 263 |                         selected_tx_count = 0;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `selected_tx_count` is never read
[INFO] [stdout]    --> src/strategy.rs:290:25
[INFO] [stdout]     |
[INFO] [stdout] 290 |                         selected_tx_count += 1;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wallet`
[INFO] [stdout]    --> src/strategy.rs:512:50
[INFO] [stdout]     |
[INFO] [stdout] 512 |                         Ok(Some((wallet_address, wallet))) => {
[INFO] [stdout]     |                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_wallet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/transaction.rs:403:13
[INFO] [stdout]     |
[INFO] [stdout] 403 |         let path = vec![self.wbnb_address, token_address];
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/transaction.rs:479:13
[INFO] [stdout]     |
[INFO] [stdout] 479 |         let path = vec![token_address, self.wbnb_address];
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mempool_handle`
[INFO] [stdout]    --> src/main.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |     let mempool_handle = tokio::spawn(async move {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mempool_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `strategy_handle`
[INFO] [stdout]    --> src/main.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let strategy_handle = tokio::spawn(async move {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strategy_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rpc_http_url`, `flashbots_rpc`, `gas_limit_multiplier`, and `timeout_ms` are never read
[INFO] [stdout]   --> src/config.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct BotConfig {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub rpc_http_url: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 17 |     pub flashbots_rpc: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub gas_limit_multiplier: f64,      // Gas limitini oshirish (13.0x)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     pub timeout_ms: u64,                // Tranzaksiya timeout (5000ms)
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BotConfig` 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: constant `MIN_BNB_BALANCE` is never used
[INFO] [stdout]    --> src/config.rs:136:15
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub const MIN_BNB_BALANCE: f64 = 0.1;  // Bot ishlashi uchun minimal BNB miqdori
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_PENDING_TXS` is never used
[INFO] [stdout]    --> src/config.rs:137:15
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub const MAX_PENDING_TXS: usize = 3;  // Bir vaqtda yuborish mumkin bo'lgan maksimal tranzaksiyalar soni
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_GAS_PRICE` is never used
[INFO] [stdout]    --> src/config.rs:138:15
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub const MAX_GAS_PRICE: u64 = 50_000_000_000; // Max gas narxi (50 Gwei)
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_TOKEN_AGE_SECONDS` is never used
[INFO] [stdout]    --> src/config.rs:139:15
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub const MIN_TOKEN_AGE_SECONDS: u64 = 3600;   // Minimal token yoshi (1 soat)
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MEMPOOL_SCAN_INTERVAL_MS` is never used
[INFO] [stdout]    --> src/config.rs:140:15
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub const MEMPOOL_SCAN_INTERVAL_MS: u64 = 500; // Mempool'ni tekshirish oraliği (500ms)
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_SLIPPAGE_THRESHOLD` is never used
[INFO] [stdout]    --> src/config.rs:141:15
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub const MAX_SLIPPAGE_THRESHOLD: f64 = 1.0;   // Front-running uchun minimal slippage (1%)
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/token.rs:368:14
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl TokenAnalyzer {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 368 |     async fn analyze_multiple_tokens_in_parallel(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 405 |     pub async fn minimal_token_check(&self, token_address: Address) -> Result<bool> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 577 |     async fn is_token_honeypot(&self, token_address: Address) -> Result<(bool, f64)> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 653 |     pub async fn calculate_slippage(&self, token_address: Address, bnb_amount: U256) -> Result<f64> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 770 |     pub async fn batch_analyze_tokens(&self, token_addresses: Vec<Address>) -> Result<Vec<TokenMetadata>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 829 |     pub async fn get_token_price_in_bnb(&self, token_address: Address, token_amount: U256) -> Result<U256> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 850 |     pub async fn get_bnb_amount_for_tokens(&self, token_address: Address, token_amount: U256) -> Result<U256> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 871 |     pub async fn analyze_tokens_liquidity(&self, token_addresses: &[Address]) -> Result<HashMap<Address, U256>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 897 |     pub async fn should_blacklist_token(&self, token_address: Address) -> Result<(bool, String)> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 931 |     pub async fn is_token_rugged(&self, token_address: Address, old_liquidity: U256) -> Result<bool> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PancakeHelper` is never constructed
[INFO] [stdout]   --> src/pancake.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct PancakeHelper {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_pair_liquidity`, `create_swap_eth_for_tokens_tx`, `create_swap_tokens_for_eth_tx`, `get_token_price_in_bnb`, and `get_bnb_price_in_token` are never used
[INFO] [stdout]    --> src/pancake.rs:93:12
[INFO] [stdout]     |
[INFO] [stdout]  91 | impl PancakeHelper {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  92 |     /// Yangi PancakeHelper yaratish
[INFO] [stdout]  93 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub async fn get_pair_liquidity(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub async fn create_swap_eth_for_tokens_tx(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub async fn create_swap_tokens_for_eth_tx(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub async fn get_token_price_in_bnb(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     pub async fn get_bnb_price_in_token(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `BuySubmitted`, `BuyConfirmed`, `SellSubmitted`, `SellConfirmed`, and `Failed` are never constructed
[INFO] [stdout]   --> src/strategy.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | enum OperationStatus {
[INFO] [stdout]    |      --------------- variants in this enum
[INFO] [stdout] 24 |     Pending,
[INFO] [stdout] 25 |     BuySubmitted(H256),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 26 |     BuyConfirmed,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 27 |     SellSubmitted(H256),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 28 |     SellConfirmed,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 29 |     Failed(String),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OperationStatus` 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 `start_time`, `gas_price`, `gas_boost`, `retries`, and `submission_time` are never read
[INFO] [stdout]   --> src/strategy.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | struct FrontRunOperation {
[INFO] [stdout]    |        ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 43 |     start_time: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 44 |     gas_price: U256,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 45 |     gas_boost: f64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     retries: u8,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     submission_time: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FrontRunOperation` 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 `original_tx` is never read
[INFO] [stdout]   --> src/transaction.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct PendingTx {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub original_tx: Transaction,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PendingTx` 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 `main_wallet` is never read
[INFO] [stdout]   --> src/wallet.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct WalletManager {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 21 |     pub wallets: HashMap<Address, LocalWallet>,
[INFO] [stdout] 22 |     pub main_wallet: LocalWallet,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WalletManager` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/wallet.rs:60:18
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl WalletManager {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  60 |     pub async fn check_balance(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  70 |     pub async fn check_all_balances(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub async fn get_eligible_wallets(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub async fn check_token_balance(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub async fn get_wallet_nonces(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub async fn select_least_busy_wallet(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub async fn transfer_bnb(
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub async fn approve_token(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_concurrent_requests` is never read
[INFO] [stdout]   --> src/rpc_limiter.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct RpcRateLimiter {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     max_concurrent_requests: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RpcRateLimiter` 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 `acquire_many` and `get_status` are never used
[INFO] [stdout]    --> src/rpc_limiter.rs:116:18
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl RpcRateLimiter {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub async fn acquire_many(&self, n: usize) -> Vec<RpcPermit> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub async fn get_status(&self) -> (u32, Duration) {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_transaction` is never used
[INFO] [stdout]    --> src/rpc_limiter.rs:146:18
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub async fn get_transaction(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_transaction_receipt` is never used
[INFO] [stdout]    --> src/rpc_limiter.rs:171:18
[INFO] [stdout]     |
[INFO] [stdout] 171 |     pub async fn get_transaction_receipt(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_balance` is never used
[INFO] [stdout]    --> src/rpc_limiter.rs:196:18
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub async fn get_balance(
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_gas_price` is never used
[INFO] [stdout]    --> src/rpc_limiter.rs:226:18
[INFO] [stdout]     |
[INFO] [stdout] 226 |     pub async fn get_gas_price(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 33s
[INFO] running `Command { std: "docker" "inspect" "d6bc39a66b04989da1cbcaa6153e4b4f6d995c73f8416aae208cfd607b65a047", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d6bc39a66b04989da1cbcaa6153e4b4f6d995c73f8416aae208cfd607b65a047", kill_on_drop: false }`
[INFO] [stdout] d6bc39a66b04989da1cbcaa6153e4b4f6d995c73f8416aae208cfd607b65a047
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+58b1b3c5342a414c161338871f8004258ccef2a7" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6cf0abfc55fdcde479b3dd1874734bc05f5dc1edbae503665b088c34be4a683b
[INFO] running `Command { std: "docker" "start" "-a" "6cf0abfc55fdcde479b3dd1874734bc05f5dc1edbae503665b088c34be4a683b", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: profile.release.hex
[INFO] [stderr]    Compiling pro_mev v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/main.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{info, debug, warn, error, Level};
[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: `Bytes`
[INFO] [stdout]  --> src/mempool.rs:6:55
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ethers::types::{Transaction, H256, U256, Address, Bytes};
[INFO] [stdout]   |                                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, and `trace`
[INFO] [stdout]   --> src/mempool.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tracing::{info, debug, warn, error, trace};
[INFO] [stdout]    |                     ^^^^^        ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `H256`
[INFO] [stdout]  --> src/token.rs:6:36
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ethers::types::{Address, U256, H256};
[INFO] [stdout]   |                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ethers::contract::Contract`
[INFO] [stdout]  --> src/token.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ethers::contract::Contract;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Abi`, `ParamType`, and `Token`
[INFO] [stdout]  --> src/token.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ethers::abi::{Abi, Token, ParamType};
[INFO] [stdout]   |                   ^^^  ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RwLock`
[INFO] [stdout]   --> src/token.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::sync::{Mutex, RwLock};
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> src/token.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 | use anyhow::{Result, anyhow, Context};
[INFO] [stdout]    |                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/token.rs:13:34
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tracing::{info, debug, warn, error, trace};
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `U64`
[INFO] [stdout]  --> src/pancake.rs:4:36
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ethers::types::{Address, U256, U64, Bytes};
[INFO] [stdout]   |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Contract` and `Eip712`
[INFO] [stdout]  --> src/pancake.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ethers::contract::{Contract, Eip712, abigen};
[INFO] [stdout]   |                        ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ethers::signers::Signer`
[INFO] [stdout]  --> src/pancake.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ethers::signers::Signer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/strategy.rs:5:33
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::{HashMap, HashSet, VecDeque};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Transaction`
[INFO] [stdout]  --> src/strategy.rs:7:42
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ethers::types::{Address, U256, H256, Transaction};
[INFO] [stdout]   |                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> src/strategy.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 | use anyhow::{Result, anyhow, Context};
[INFO] [stdout]    |                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/transaction.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BlockNumber`
[INFO] [stdout]  --> src/transaction.rs:7:82
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ethers::types::{Address, U256, H256, Transaction, TransactionRequest, Bytes, BlockNumber};
[INFO] [stdout]   |                                                                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MiddlewareBuilder`
[INFO] [stdout]  --> src/transaction.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ethers::middleware::{SignerMiddleware, MiddlewareBuilder};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `hex` and `keccak256`
[INFO] [stdout]   --> src/transaction.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ethers::utils::{keccak256, hex};
[INFO] [stdout]    |                     ^^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ParamType`
[INFO] [stdout]   --> src/transaction.rs:12:34
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ethers::abi::{Token, encode, ParamType};
[INFO] [stdout]    |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> src/transaction.rs:14:30
[INFO] [stdout]    |
[INFO] [stdout] 14 | use anyhow::{Result, anyhow, Context};
[INFO] [stdout]    |                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `trace`, and `warn`
[INFO] [stdout]   --> src/transaction.rs:15:21
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tracing::{info, debug, warn, error, trace};
[INFO] [stdout]    |                     ^^^^^  ^^^^  ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::min`
[INFO] [stdout]   --> src/transaction.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::cmp::min;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]   --> src/transaction.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::hash::Hash;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MiddlewareBuilder`
[INFO] [stdout]  --> src/wallet.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ethers::middleware::{SignerMiddleware, MiddlewareBuilder};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ethers::abi`
[INFO] [stdout]   --> src/wallet.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ethers::abi;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ContractFactory`
[INFO] [stdout]   --> src/wallet.rs:12:34
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ethers::contract::{Contract, ContractFactory};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `error`
[INFO] [stdout]   --> src/wallet.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tracing::{info, debug, warn, error};
[INFO] [stdout]    |                     ^^^^^        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info` and `warn`
[INFO] [stdout]  --> src/rpc_limiter.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, trace, warn, info};
[INFO] [stdout]   |                             ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Middleware`
[INFO] [stdout]  --> src/token.rs:7:39
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ethers::providers::{Provider, Ws, Middleware};
[INFO] [stdout]   |                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Middleware`
[INFO] [stdout]  --> src/pancake.rs:6:39
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ethers::providers::{Provider, Ws, Middleware};
[INFO] [stdout]   |                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]   --> src/transaction.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use itertools::Itertools;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token1`
[INFO] [stdout]    --> src/token.rs:532:22
[INFO] [stdout]     |
[INFO] [stdout] 532 |         let (token0, token1) = if let Some(tokens) = tokens {
[INFO] [stdout]     |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_token1`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_address`
[INFO] [stdout]    --> src/token.rs:639:45
[INFO] [stdout]     |
[INFO] [stdout] 639 |     async fn get_token_creation_time(&self, token_address: Address) -> Result<u64> {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bnb_amount`
[INFO] [stdout]    --> src/pancake.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |         bnb_amount: U256,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bnb_amount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `evaluated_tx_count` is assigned to, but never used
[INFO] [stdout]    --> src/strategy.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |         let mut evaluated_tx_count = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_evaluated_tx_count` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `selected_tx_count` is assigned to, but never used
[INFO] [stdout]    --> src/strategy.rs:244:13
[INFO] [stdout]     |
[INFO] [stdout] 244 |         let mut selected_tx_count = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_selected_tx_count` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `evaluated_tx_count` is never read
[INFO] [stdout]    --> src/strategy.rs:262:25
[INFO] [stdout]     |
[INFO] [stdout] 262 |                         evaluated_tx_count = 0;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `evaluated_tx_count` is never read
[INFO] [stdout]    --> src/strategy.rs:288:21
[INFO] [stdout]     |
[INFO] [stdout] 288 |                     evaluated_tx_count += 1;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `selected_tx_count` is never read
[INFO] [stdout]    --> src/strategy.rs:263:25
[INFO] [stdout]     |
[INFO] [stdout] 263 |                         selected_tx_count = 0;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `selected_tx_count` is never read
[INFO] [stdout]    --> src/strategy.rs:290:25
[INFO] [stdout]     |
[INFO] [stdout] 290 |                         selected_tx_count += 1;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wallet`
[INFO] [stdout]    --> src/strategy.rs:512:50
[INFO] [stdout]     |
[INFO] [stdout] 512 |                         Ok(Some((wallet_address, wallet))) => {
[INFO] [stdout]     |                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_wallet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/transaction.rs:403:13
[INFO] [stdout]     |
[INFO] [stdout] 403 |         let path = vec![self.wbnb_address, token_address];
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/transaction.rs:479:13
[INFO] [stdout]     |
[INFO] [stdout] 479 |         let path = vec![token_address, self.wbnb_address];
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mempool_handle`
[INFO] [stdout]    --> src/main.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |     let mempool_handle = tokio::spawn(async move {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mempool_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `strategy_handle`
[INFO] [stdout]    --> src/main.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let strategy_handle = tokio::spawn(async move {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strategy_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rpc_http_url`, `flashbots_rpc`, `gas_limit_multiplier`, and `timeout_ms` are never read
[INFO] [stdout]   --> src/config.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct BotConfig {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub rpc_http_url: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 17 |     pub flashbots_rpc: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub gas_limit_multiplier: f64,      // Gas limitini oshirish (13.0x)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     pub timeout_ms: u64,                // Tranzaksiya timeout (5000ms)
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BotConfig` 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: constant `MIN_BNB_BALANCE` is never used
[INFO] [stdout]    --> src/config.rs:136:15
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub const MIN_BNB_BALANCE: f64 = 0.1;  // Bot ishlashi uchun minimal BNB miqdori
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_PENDING_TXS` is never used
[INFO] [stdout]    --> src/config.rs:137:15
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub const MAX_PENDING_TXS: usize = 3;  // Bir vaqtda yuborish mumkin bo'lgan maksimal tranzaksiyalar soni
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_GAS_PRICE` is never used
[INFO] [stdout]    --> src/config.rs:138:15
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub const MAX_GAS_PRICE: u64 = 50_000_000_000; // Max gas narxi (50 Gwei)
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_TOKEN_AGE_SECONDS` is never used
[INFO] [stdout]    --> src/config.rs:139:15
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub const MIN_TOKEN_AGE_SECONDS: u64 = 3600;   // Minimal token yoshi (1 soat)
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MEMPOOL_SCAN_INTERVAL_MS` is never used
[INFO] [stdout]    --> src/config.rs:140:15
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub const MEMPOOL_SCAN_INTERVAL_MS: u64 = 500; // Mempool'ni tekshirish oraliği (500ms)
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_SLIPPAGE_THRESHOLD` is never used
[INFO] [stdout]    --> src/config.rs:141:15
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub const MAX_SLIPPAGE_THRESHOLD: f64 = 1.0;   // Front-running uchun minimal slippage (1%)
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/token.rs:368:14
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl TokenAnalyzer {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 368 |     async fn analyze_multiple_tokens_in_parallel(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 405 |     pub async fn minimal_token_check(&self, token_address: Address) -> Result<bool> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 577 |     async fn is_token_honeypot(&self, token_address: Address) -> Result<(bool, f64)> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 653 |     pub async fn calculate_slippage(&self, token_address: Address, bnb_amount: U256) -> Result<f64> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 770 |     pub async fn batch_analyze_tokens(&self, token_addresses: Vec<Address>) -> Result<Vec<TokenMetadata>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 829 |     pub async fn get_token_price_in_bnb(&self, token_address: Address, token_amount: U256) -> Result<U256> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 850 |     pub async fn get_bnb_amount_for_tokens(&self, token_address: Address, token_amount: U256) -> Result<U256> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 871 |     pub async fn analyze_tokens_liquidity(&self, token_addresses: &[Address]) -> Result<HashMap<Address, U256>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 897 |     pub async fn should_blacklist_token(&self, token_address: Address) -> Result<(bool, String)> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 931 |     pub async fn is_token_rugged(&self, token_address: Address, old_liquidity: U256) -> Result<bool> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PancakeHelper` is never constructed
[INFO] [stdout]   --> src/pancake.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct PancakeHelper {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_pair_liquidity`, `create_swap_eth_for_tokens_tx`, `create_swap_tokens_for_eth_tx`, `get_token_price_in_bnb`, and `get_bnb_price_in_token` are never used
[INFO] [stdout]    --> src/pancake.rs:93:12
[INFO] [stdout]     |
[INFO] [stdout]  91 | impl PancakeHelper {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  92 |     /// Yangi PancakeHelper yaratish
[INFO] [stdout]  93 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub async fn get_pair_liquidity(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub async fn create_swap_eth_for_tokens_tx(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub async fn create_swap_tokens_for_eth_tx(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub async fn get_token_price_in_bnb(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     pub async fn get_bnb_price_in_token(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `BuySubmitted`, `BuyConfirmed`, `SellSubmitted`, `SellConfirmed`, and `Failed` are never constructed
[INFO] [stdout]   --> src/strategy.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | enum OperationStatus {
[INFO] [stdout]    |      --------------- variants in this enum
[INFO] [stdout] 24 |     Pending,
[INFO] [stdout] 25 |     BuySubmitted(H256),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 26 |     BuyConfirmed,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 27 |     SellSubmitted(H256),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 28 |     SellConfirmed,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 29 |     Failed(String),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OperationStatus` 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 `start_time`, `gas_price`, `gas_boost`, `retries`, and `submission_time` are never read
[INFO] [stdout]   --> src/strategy.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | struct FrontRunOperation {
[INFO] [stdout]    |        ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 43 |     start_time: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 44 |     gas_price: U256,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 45 |     gas_boost: f64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     retries: u8,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     submission_time: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FrontRunOperation` 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 `original_tx` is never read
[INFO] [stdout]   --> src/transaction.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct PendingTx {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub original_tx: Transaction,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PendingTx` 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 `main_wallet` is never read
[INFO] [stdout]   --> src/wallet.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct WalletManager {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 21 |     pub wallets: HashMap<Address, LocalWallet>,
[INFO] [stdout] 22 |     pub main_wallet: LocalWallet,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WalletManager` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/wallet.rs:60:18
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl WalletManager {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  60 |     pub async fn check_balance(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  70 |     pub async fn check_all_balances(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub async fn get_eligible_wallets(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub async fn check_token_balance(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub async fn get_wallet_nonces(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub async fn select_least_busy_wallet(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub async fn transfer_bnb(
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub async fn approve_token(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_concurrent_requests` is never read
[INFO] [stdout]   --> src/rpc_limiter.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct RpcRateLimiter {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     max_concurrent_requests: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RpcRateLimiter` 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 `acquire_many` and `get_status` are never used
[INFO] [stdout]    --> src/rpc_limiter.rs:116:18
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl RpcRateLimiter {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub async fn acquire_many(&self, n: usize) -> Vec<RpcPermit> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub async fn get_status(&self) -> (u32, Duration) {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_transaction` is never used
[INFO] [stdout]    --> src/rpc_limiter.rs:146:18
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub async fn get_transaction(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_transaction_receipt` is never used
[INFO] [stdout]    --> src/rpc_limiter.rs:171:18
[INFO] [stdout]     |
[INFO] [stdout] 171 |     pub async fn get_transaction_receipt(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_balance` is never used
[INFO] [stdout]    --> src/rpc_limiter.rs:196:18
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub async fn get_balance(
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_gas_price` is never used
[INFO] [stdout]    --> src/rpc_limiter.rs:226:18
[INFO] [stdout]     |
[INFO] [stdout] 226 |     pub async fn get_gas_price(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 8.24s
[INFO] running `Command { std: "docker" "inspect" "6cf0abfc55fdcde479b3dd1874734bc05f5dc1edbae503665b088c34be4a683b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6cf0abfc55fdcde479b3dd1874734bc05f5dc1edbae503665b088c34be4a683b", kill_on_drop: false }`
[INFO] [stdout] 6cf0abfc55fdcde479b3dd1874734bc05f5dc1edbae503665b088c34be4a683b
